ó
Š]c           @   sØ   d  Z  d d l Z d d l Z d d l Z d d l 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 e j e j f d „  ƒ  YZ d „  Z e d	 k rÔ e j j e ƒ  ƒ n  d S(
   s   Tests for distutils.sysconfig.iÿÿÿÿN(   t	   sysconfig(   t   support(   t   TESTFNt   SysconfigTestCasec           B   s}   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 e
 j e j d ƒ d	 ƒ d
 „  ƒ Z d „  Z RS(   c         C   s    t  t |  ƒ j ƒ  d  |  _ d  S(   N(   t   superR   t   setUpt   Nonet   makefile(   t   self(    (    s/   lib/python2.7/distutils/tests/test_sysconfig.pyR      s    c         C   sC   |  j  d  k	 r" t j |  j  ƒ n  |  j ƒ  t t |  ƒ j ƒ  d  S(   N(   R   R   t   ost   unlinkt   cleanup_testfnR   R   t   tearDown(   R   (    (    s/   lib/python2.7/distutils/tests/test_sysconfig.pyR      s    
c         C   sT   t  j j } t j j | ƒ r. t j | ƒ n" t j j | ƒ rP t j	 | ƒ n  d  S(   N(
   t   testt   test_supportR   R	   t   patht   isfilet   removet   isdirt   shutilt   rmtree(   R   R   (    (    s/   lib/python2.7/distutils/tests/test_sysconfig.pyR      s
    c         C   si   t  j ƒ  } |  j t  j ƒ  t  j d t ƒ ƒ t d ƒ } t  j t t ƒ } |  j | j d ƒ | ƒ d  S(   Nt   prefixR    t
   platstdlib(   R    t   get_python_libt   assertNotEqualR   t
   __import__t   Truet   assertEqualt   get_path(   R   t   lib_dirt
   _sysconfigt   res(    (    s/   lib/python2.7/distutils/tests/test_sysconfig.pyt   test_get_python_lib!   s    c         C   s]   t  j ƒ  } |  j t j j | ƒ | ƒ t j j | d ƒ } |  j t j j | ƒ | ƒ d  S(   Ns   Python.h(   R    t   get_python_inct
   assertTrueR	   R   R   t   joinR   (   R   t   inc_dirt   python_h(    (    s/   lib/python2.7/distutils/tests/test_sysconfig.pyt   test_get_python_inc,   s    c         C   s   t  j j |  _ t |  j d ƒ } z | j d ƒ | j d ƒ Wd  | j ƒ  Xt j |  j ƒ } |  j	 | i d d 6d d 6ƒ d  S(   Nt   ws)   CONFIG_ARGS=  '--arg1=optarg1' 'ENV=LIB'
s   VAR=$OTHER
OTHER=foos   '--arg1=optarg1' 'ENV=LIB't   CONFIG_ARGSt   foot   OTHER(
   R   R   R   R   t   opent   writet   closeR    t   parse_makefileR   (   R   t   fdt   d(    (    s/   lib/python2.7/distutils/tests/test_sysconfig.pyt   test_parse_makefile_base5   s    c         C   s   t  j j |  _ t |  j d ƒ } z | j d ƒ | j d ƒ Wd  | j ƒ  Xt j |  j ƒ } |  j	 | i d d 6d d 6ƒ d  S(   NR'   s,   CONFIG_ARGS=  '--arg1=optarg1' 'ENV=\$$LIB'
s   VAR=$OTHER
OTHER=foos   '--arg1=optarg1' 'ENV=\$LIB'R(   R)   R*   (
   R   R   R   R   R+   R,   R-   R    R.   R   (   R   R/   R0   (    (    s/   lib/python2.7/distutils/tests/test_sysconfig.pyt"   test_parse_makefile_literal_dollarA   s    c         C   sT   d d  l  } |  j | j d ƒ t  j d ƒ ƒ |  j | j d ƒ t  j d ƒ ƒ d  S(   Niÿÿÿÿt   CFLAGSt   LDFLAGS(   R    R   t   get_config_var(   R   t   global_sysconfig(    (    s/   lib/python2.7/distutils/tests/test_sysconfig.pyt   test_sysconfig_moduleN   s    "t   CUSTOMIZED_OSX_COMPILERs   compiler flags customizedc         C   ss   d d  l  } t  j d ƒ r+ |  j d ƒ n  |  j | j d ƒ t  j d ƒ ƒ |  j | j d ƒ t  j d ƒ ƒ d  S(   NiÿÿÿÿR8   s   compiler flags customizedt   LDSHAREDt   CC(   R    R5   t   skipTestR   (   R   R6   (    (    s/   lib/python2.7/distutils/tests/test_sysconfig.pyt   test_sysconfig_compiler_varsS   s
    "c      	   C   s”   t  t d ƒ  } | j t j d ƒ ƒ Wd  QXt j t t j	 ƒ t g d t j
 d t j d t ƒ} | j ƒ  \ } } |  j d | j d | ƒ d  S(   NR'   sB                  from distutils.core import Distribution
                config = Distribution().get_command_obj('config')
                # try_compile may pass or it may fail if no compiler
                # is found but it should not raise an exception.
                rc = config.try_compile('int x;')
                t   stdoutt   stderrt   universal_newlinesi    s   Subprocess failed: (   R+   R   t
   writelinest   textwrapt   dedentt
   subprocesst   Popent   strt   syst
   executablet   PIPEt   STDOUTR   t   communicateR   t
   returncode(   R   t   ft   pt   outst   errs(    (    s/   lib/python2.7/distutils/tests/test_sysconfig.pyt.   test_customize_compiler_before_get_config_varsi   s    			(   t   __name__t
   __module__R   R   R   R    R&   R1   R2   R7   t   unittestt   skipIfR    R5   R<   RP   (    (    (    s/   lib/python2.7/distutils/tests/test_sysconfig.pyR      s   									$c          C   s&   t  j ƒ  }  |  j t  j t ƒ ƒ |  S(   N(   RS   t	   TestSuitet   addTestt	   makeSuiteR   (   t   suite(    (    s/   lib/python2.7/distutils/tests/test_sysconfig.pyt
   test_suite}   s    t   __main__(   t   __doc__R	   R   RS   R   RC   RF   RA   t	   distutilsR    t   distutils.testsR   t   test.test_supportR   t   EnvironGuardt   TestCaseR   RY   RQ   R   t   run_unittest(    (    (    s/   lib/python2.7/distutils/tests/test_sysconfig.pyt   <module>   s   	n	