ó
Š]c           @   sÈ   d  Z  d d l Z d d l Z d d l Z d d l m Z d d l m Z d d l m	 Z	 d d l
 m Z d d l m Z d e j e j e j f d	 „  ƒ  YZ d
 „  Z e d k rÄ e e ƒ  ƒ n  d S(   s'   Tests for distutils.command.build_clib.iÿÿÿÿN(   t   run_unittest(   t
   build_clib(   t   DistutilsSetupError(   t   support(   t   find_executablet   BuildCLibTestCasec           B   sP   e  Z d  „  Z d „  Z d „  Z d „  Z e j e j	 d k d ƒ d „  ƒ Z
 RS(   c         C   sÚ   |  j  ƒ  \ } } t | ƒ } |  j t | j d ƒ |  j t | j d d g ƒ |  j t | j d
 d g ƒ |  j t | j d d g ƒ |  j t | j d i  f d g ƒ d i  f d i d d	 6f g } | j | ƒ d  S(   Nt   foot   foo1t   foo2i   t   names   another/namet   anothert   goodt   ok(   i   R   (   R	   R   (   R	   R   (   s   another/nameR   (   R
   R   (   t   create_distR   t   assertRaisesR   t   check_library_list(   t   selft   pkg_dirt   distt   cmdt   libs(    (    s0   lib/python2.7/distutils/tests/test_build_clib.pyt   test_check_library_dist   s    
	
c         C   s4  |  j  ƒ  \ } } t | ƒ } d i  f g | _ |  j t | j ƒ d i d d 6f g | _ |  j t | j ƒ d i d d g d 6f g | _ |  j | j ƒ  d d g ƒ d i d	 d 6f g | _ |  j | j ƒ  d d g ƒ d i d
 d 6f d i d d g d 6f g | _ |  j | j ƒ  d d d d g ƒ d  S(   NR	   i   t   sourcest   at   bt   name2t   ct   d(   R   R   (   R   R   (   R   R   t	   librariesR   R   t   get_source_filest   assertEqual(   R   R   R   R   (    (    s0   lib/python2.7/distutils/tests/test_build_clib.pyt   test_get_source_files/   s    c         C   s¹   |  j  ƒ  \ } } t | ƒ } d d d „  ƒ  Y} | ƒ  | _ d i d d 6f g } |  j t | j | ƒ d i t ƒ  d 6f g } | j | ƒ d i t ƒ  d 6f g } | j | ƒ d  S(   Nt   FakeCompilerc           B   s   e  Z d  „  Z e Z RS(   c          _   s   d  S(   N(    (   t   argst   kw(    (    s0   lib/python2.7/distutils/tests/test_build_clib.pyt   compileJ   s    (   t   __name__t
   __module__R#   t   create_static_lib(    (    (    s0   lib/python2.7/distutils/tests/test_build_clib.pyR    I   s   	R	   t   notvalidR   (    (   R   R   t   compilerR   R   t   build_librariest   listt   tuple(   R   R   R   R   R    t   lib(    (    s0   lib/python2.7/distutils/tests/test_build_clib.pyt   test_build_librariesE   s    c         C   s   |  j  ƒ  \ } } t | ƒ } d | _ | j ƒ  |  j | j d g ƒ d  | _ | j ƒ  |  j | j g  ƒ d | j _ |  j t	 | j ƒ d  S(   Ns   one-dirt   WONTWORK(
   R   R   t   include_dirst   finalize_optionsR   t   Nonet   distributionR   R   R   (   R   R   R   R   (    (    s0   lib/python2.7/distutils/tests/test_build_clib.pyt   test_finalize_optionsZ   s    	
	
t   win32s   can't test on Windowsc   
      C   sG  |  j  ƒ  \ } } t | ƒ } t j j | d ƒ } |  j | d ƒ d i | g d 6f g | _ t j j | d ƒ } t j | ƒ | | _ | | _ d d l	 m
 } d d l m } | ƒ  } | | ƒ xW | j j ƒ  D]F }	 |	 d  k rî qÖ n  t |	 d	 ƒ d  k rÖ |  j d
 |	 d	 ƒ qÖ qÖ W| j ƒ  |  j d t j | ƒ ƒ d  S(   Ns   foo.cs   int main(void) { return 1;}
R   R   t   buildiÿÿÿÿ(   t   new_compiler(   t   customize_compileri    s   The %r command is not founds   libfoo.a(   R   R   t   ost   patht   joint
   write_fileR   t   mkdirt
   build_tempt   distutils.ccompilerR6   t   distutils.sysconfigR7   t   executablest   valuesR1   R   t   skipTestt   runt   assertInt   listdir(
   R   R   R   R   t   foo_cR=   R6   R7   R(   t   ccmd(    (    s0   lib/python2.7/distutils/tests/test_build_clib.pyt   test_runi   s(    			

(   R$   R%   R   R   R-   R3   t   unittestt   skipIft   syst   platformRH   (    (    (    s0   lib/python2.7/distutils/tests/test_build_clib.pyR      s
   				c           C   s   t  j t ƒ S(   N(   RI   t	   makeSuiteR   (    (    (    s0   lib/python2.7/distutils/tests/test_build_clib.pyt
   test_suite‹   s    t   __main__(   t   __doc__RI   R8   RK   t   test.test_supportR    t   distutils.command.build_clibR   t   distutils.errorsR   t   distutils.testsR   t   distutils.spawnR   t   TempdirManagert   LoggingSilencert   TestCaseR   RN   R$   (    (    (    s0   lib/python2.7/distutils/tests/test_build_clib.pyt   <module>   s   	|	