ó
ŒwÛjc           @   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 m Z m Z d d l m	 Z	 m
 Z
 m Z m Z d d l Z d d l m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z d d l Z d e j f d „  ƒ  YZ d „  Z e d	 k re ƒ  n  d S(
   s   Tests for sysconfig.iÿÿÿÿN(   t   copyt   deepcopy(   t   run_unittestt   TESTFNt   unlinkt   get_attribute(
   t	   get_pathst   get_platformt   get_config_varst   get_patht   get_path_namest   _INSTALL_SCHEMESt   _get_default_schemet   _expand_varst   get_scheme_namest   get_config_vart   TestSysConfigc           B   sÑ   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z e j e j j d ƒ d ƒ d „  ƒ Z d „  Z d „  Z e j e j d k d ƒ d „  ƒ Z RS(   c         C   sù   t  t |  ƒ j ƒ  t j |  _ d |  _ t t	 d ƒ rV t	 j
 |  _
 t	 j
 ƒ  |  _ n d |  _
 d |  _ |  j t	 _
 t	 j |  _ t j |  _ t j |  _ t	 j |  _ t	 j j |  _ t	 j j |  _ t	 j j |  _ t t j ƒ |  _ t t	 j ƒ |  _ d S(   s   Make a copy of sys.patht   unameN(   t   superR   t   setUpt   syst   patht   sys_patht   Nonet   makefilet   hasattrt   osR   t   _unamet
   _get_unamet   namet   platformt   versiont   sept   joint   isabst
   splitdriveR    t	   sysconfigt   _CONFIG_VARSt   _config_varsR   t   environt   old_environ(   t   self(    (    s‰   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_sysconfig.pyR      s$    			c         C   sa  |  j  t j (|  j d k	 r/ t j |  j ƒ n  |  j ƒ  |  j d k	 rW |  j t _ n t ` |  j	 t _	 |  j
 t _
 |  j t _ |  j t _ |  j t j _ |  j t j _ |  j t j _ t |  j ƒ t _ xE |  j j ƒ  D]4 \ } } t j j | ƒ | k rÜ | t j | <qÜ qÜ Wx3 t j j ƒ  D]" } | |  j k r$t j | =q$q$Wt t |  ƒ j ƒ  d S(   s   Restore sys.pathN(   R   R   R   R   R   R   R   t   _cleanup_testfnR   R   R   R   R    R!   R"   R#   R    R&   R$   R%   R(   t   itemsR'   t   gett   keysR   R   t   tearDown(   R)   t   keyt   value(    (    s‰   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_sysconfig.pyR.   -   s,    
c         C   s   | |  _  d  S(   N(   R   (   R)   R   (    (    s‰   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_sysconfig.pyt
   _set_unameI   s    c         C   s   |  j  S(   N(   R   (   R)   (    (    s‰   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_sysconfig.pyR   L   s    c         C   sN   t  } t j j | ƒ r( t j | ƒ n" t j j | ƒ rJ t j | ƒ n  d  S(   N(   R   R   R   t   isfilet   removet   isdirt   shutilt   rmtree(   R)   R   (    (    s‰   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_sysconfig.pyR*   O   s
    c         C   s   |  j  t ƒ  t j ƒ d  S(   N(   t   assertEqualR
   R$   t   _SCHEME_KEYS(   R)   (    (    s‰   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_sysconfig.pyt   test_get_path_namesV   s    c         C   sa   t  ƒ  } t ƒ  } t | d  ƒ } | j ƒ  } | j ƒ  | j ƒ  } | j ƒ  |  j | | ƒ d  S(   N(   R   R   R   R   R+   t   sortR7   (   R)   t   schemet   default_schemet   wanted(    (    s‰   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_sysconfig.pyt   test_get_pathsY   s    		

c         C   s9   x2 t  D]* } x! t  | D] } t | | ƒ } q Wq Wd  S(   N(   R   R	   (   R)   R;   R   t   res(    (    s‰   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_sysconfig.pyt   test_get_pathc   s    c         C   s*   t  ƒ  } |  j | t ƒ |  j | ƒ d  S(   N(   R   t   assertIsInstancet   dictt
   assertTrue(   R)   t   cvars(    (    s‰   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_sysconfig.pyt   test_get_config_varsi   s    	c         C   sB  d t  _ d t _ d t _ |  j t ƒ  d ƒ d t  _ d t _ d t _ |  j t ƒ  d ƒ d t  _ d t _ d t _ |  j t ƒ  d ƒ d t  _ d	 t _ d
 t _ |  j d3 ƒ t j	 t
 ƒ  ƒ d t
 ƒ  d <d t
 ƒ  d <t j } z< d t _ |  j t ƒ  d ƒ d t _ |  j t ƒ  d ƒ Wd  | t _ X|  j d4 ƒ t j	 t
 ƒ  ƒ d t
 ƒ  d <d t
 ƒ  d <t j } z< d t _ |  j t ƒ  d ƒ d t _ |  j t ƒ  d ƒ Wd  | t _ Xt j	 t
 ƒ  ƒ d t
 ƒ  d <d t
 ƒ  d <|  j t ƒ  d ƒ t j	 t
 ƒ  ƒ d t
 ƒ  d <|  j t ƒ  d ƒ t j	 t
 ƒ  ƒ d  t
 ƒ  d <|  j t ƒ  d! ƒ t j	 t
 ƒ  ƒ d" t
 ƒ  d <|  j t ƒ  d# ƒ t j	 t
 ƒ  ƒ d$ t
 ƒ  d <|  j t ƒ  d% ƒ xL d5 D]D } t j	 t
 ƒ  ƒ d) | f t
 ƒ  d <|  j t ƒ  d* | f ƒ q»Wd t  _ d+ t _ d, t _ |  j d6 ƒ |  j t ƒ  d2 ƒ d  S(7   Nt   nts>   2.4.4 (#71, Oct 18 2006, 08:34:43) [MSC v.1310 32 bit (Intel)]t   win32s>   2.4.4 (#71, Oct 18 2006, 08:34:43) [MSC v.1310 32 bit (Amd64)]s	   win-amd64s@   2.4.4 (#71, Oct 18 2006, 08:34:43) [MSC v.1310 32 bit (Itanium)]s   win-ia64t   posixsU   2.5 (r25:51918, Sep 19 2006, 08:49:13) 
[GCC 4.0.1 (Apple Computer, Inc. build 5341)]t   darwint   Darwint   macziades   8.11.1s]   Darwin Kernel Version 8.11.1: Wed Oct 10 18:23:28 PDT 2007; root:xnu-792.25.20~1/RELEASE_I386t   PowerPCs   10.3t   MACOSX_DEPLOYMENT_TARGETsF   -fno-strict-aliasing -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypest   CFLAGSiÿÿÿs   macosx-10.3-ppcIÿÿÿÿÿÿÿs   macosx-10.3-ppc64t   i386s   macosx-10.3-i386s   macosx-10.3-x86_64s   10.4sy   -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk  -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3s   macosx-10.4-fats|   -arch x86_64 -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk  -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3s   macosx-10.4-intels†   -arch x86_64 -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk  -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3s   macosx-10.4-fat3s’   -arch ppc64 -arch x86_64 -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk  -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3s   macosx-10.4-universals}   -arch x86_64 -arch ppc64 -isysroot /Developer/SDKs/MacOSX10.4u.sdk  -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3s   macosx-10.4-fat64t   ppct   x86_64t   ppc64sm   -arch %s -isysroot /Developer/SDKs/MacOSX10.4u.sdk  -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3s   macosx-10.4-%ssV   2.3.5 (#1, Jul  4 2007, 17:28:59) 
[GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)]t   linux2t   Linuxt   aglaes   2.6.21.1dedibox-r7s    #1 Mon Apr 30 17:25:38 CEST 2007t   i686s
   linux-i686(   RJ   RK   s   8.11.1s]   Darwin Kernel Version 8.11.1: Wed Oct 10 18:23:28 PDT 2007; root:xnu-792.25.20~1/RELEASE_I386RL   (   RJ   RK   s   8.11.1s]   Darwin Kernel Version 8.11.1: Wed Oct 10 18:23:28 PDT 2007; root:xnu-792.25.20~1/RELEASE_I386RO   (   RP   RO   RQ   RR   (   RT   RU   s   2.6.21.1dedibox-r7s    #1 Mon Apr 30 17:25:38 CEST 2007RV   (   R   R   R   R   R   R7   R   R1   t   _osx_supportt   _remove_original_valuesR   t   maxint(   R)   RY   t   arch(    (    s‰   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_sysconfig.pyt   test_get_platformn   sˆ    												 			
 			
			c         C   s,   t  j ƒ  } |  j t j j | ƒ | ƒ d  S(   N(   R$   t   get_config_h_filenameRC   R   R   R2   (   R)   t   config_h(    (    s‰   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_sysconfig.pyt   test_get_config_h_filenameí   s    c         C   s   d	 } |  j  t ƒ  | ƒ d  S(
   NRF   t   nt_usert   os2t   os2_homet   osx_framework_usert
   posix_homet   posix_prefixt
   posix_user(   RF   R_   R`   Ra   Rb   Rc   Rd   Re   (   R7   R   (   R)   R=   (    (    s‰   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_sysconfig.pyt   test_get_scheme_namesñ   s     t   wins   Test is not Windows compatiblec         C   sB   t  j ƒ  } |  j t j j | ƒ | ƒ |  j t  j ƒ  | ƒ d  S(   N(   R$   t   get_makefile_filenameRC   R   R   R2   R7   t   _get_makefile_filename(   R)   R   (    (    s‰   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_sysconfig.pyt   test_get_makefile_filenameö   s    c         C   s~   t  t d ƒ } d „  } t j j t j ƒ } t j j t ƒ } | | | ƒ z  |  j | | ƒ | | ƒ ƒ Wd  t	 | ƒ Xd  S(   Nt   symlinkc         S   s1   |  d d g } t  j | d t  j ƒ} | j ƒ  S(   Ns   -cs0   import sysconfig; print sysconfig.get_platform()t   stdout(   t
   subprocesst   Popent   PIPEt   communicate(   t   pythont   cmdt   p(    (    s‰   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_sysconfig.pyR,     s    	(
   R   R   R   t   realpathR   t
   executablet   abspathR   R7   R   (   R)   Rk   R,   t   realt   link(    (    s‰   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_sysconfig.pyt   test_symlinkþ   s    	 c         C   sµ   t  d ƒ } t  d ƒ } t j t j k } x„ d
 D]| } t | d ƒ } | r | j t j t j ƒ } | j t j t j ƒ } n  t | d ƒ } |  j | | j | | d	 ƒ ƒ q1 Wd  S(   Nt   baset   userbaset   stdlibt
   platstdlibt   purelibt   platlibRd   Re   i   (   R|   R}   R~   R   (   R   R   t   prefixt   exec_prefixR	   t   replaceR7   (   R)   Rz   t   usert   adaptR   t   global_patht	   user_path(    (    s‰   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_sysconfig.pyt   test_user_similar  s    RI   s   test only relevant on MacOSXc         C   sn  t  j ƒ  } t j j ƒ  } d | k r1 | d =n  t d d ƒ �7 } t j t j	 d d g d t j
 d | d | ƒ} Wd  QX| j ƒ  d	 j ƒ  } | j d
 ƒ } | j ƒ  } |  j | d	 ƒ |  j | | ƒ t j j ƒ  } d | d <t j t j	 d d g d t j
 d t d ƒ d | ƒ} | j ƒ  d	 j ƒ  } | j d
 ƒ } | j ƒ  } |  j | d	 ƒ |  j | | ƒ d  S(   NRM   s	   /dev/nullt   ws   -cs1   import sysconfig; print(sysconfig.get_platform())Rl   t   stderrt   envi    s   utf-8s   10.1(   R$   R   R   R'   R    t   openRm   Rn   R   Ru   Ro   Rp   t   stript   decodet   waitR7   (   R)   t   my_platformRŠ   t
   devnull_fpRs   t   test_platformt   status(    (    s‰   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_sysconfig.pyt   test_platform_in_subprocess  s:    
			
				(   t   __name__t
   __module__R   R.   R1   R   R*   R9   R>   R@   RE   R[   R^   Rf   t   unittestt   skipIfR   R   t
   startswithRj   Ry   R‡   t
   skipUnlessR“   (    (    (    s‰   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_sysconfig.pyR      s"   							
							c           C   s   t  t ƒ d  S(   N(   R   R   (    (    (    s‰   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_sysconfig.pyt	   test_mainL  s    t   __main__(   t   __doc__R–   R   R   R5   Rm   R    R   t   test.test_supportR   R   R   R   R$   R   R   R   R	   R
   R   R   R   R   R   RW   t   TestCaseR   Rš   R”   (    (    (    s‰   /home/sim/yocto/scarthgap/build/tmp/work/x86_64-linux/python-native/2.7.18/recipe-sysroot-native/usr/lib/python2.7/test/test_sysconfig.pyt   <module>   s   "Fÿ :	