ÿØÿà JFIF      ÿÛ C      

!"$"$ÿÛ C  ÿÂ p " ÿÄ              ÿÄ             ÿÚ    ÕÔË®
(%	aA*‚XYD¡(J„¡E¢RE,P€XYae )(E¤²€B¤R¥	BQ¤¢ X«)X…€¤   @  

  ..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     ÿØÿà JFIF      ÿÛ C      

!"$"$ÿÛ C  ÿÂ p " ÿÄ              ÿÄ             ÿÚ    ÕÔË®
(%	aA*‚XYD¡(J„¡E¢RE,P€XYae )(E¤²€B¤R¥	BQ¤¢ X«)X…€¤   @  

  ..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     
;;Wgc           @   s.  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 Z d  d l Z y d  d l	 Z	 Wn e
 k
 r n Xd  d l m Z d   Z d   Z d   Z d   Z d   Z d   Z d	   Z e j d
    Z d   Z d   Z d d  Z d d  Z d e d  Z d S(   iN(   t   strip_python_stderrc   	   
   O   s  t  j g } | s" | j d  n  | j |  t j j   } | j |  t j	 | d t j
 d t j
 d t j
 d | } z | j   \ } } Wd  t j   | j j   | j j   X| j } t |  } | r |  s | r|  rt d | | j d d  f   n  | | | f S(	   Ns   -Et   stdint   stdoutt   stderrt   envs-   Process return code is %d, stderr follows:
%st   asciit   ignore(   t   syst
   executablet   appendt   extendt   ost   environt   copyt   updatet
   subprocesst   Popent   PIPEt   communicatet   _cleanupR   t   closeR   t
   returncodeR    t   AssertionErrort   decode(	   t   expected_successt   argst   env_varst   cmd_lineR   t   pt   outt   errt   rc(    (    s0   /usr/lib/python2.7/test/support/script_helper.pyt   _assert_python   s*    	
	c          O   s   t  t |  |  S(   s   
    Assert that running the interpreter with `args` and optional environment
    variables `env_vars` is ok and return a (return code, stdout, stderr) tuple.
    (   R    t   True(   R   R   (    (    s0   /usr/lib/python2.7/test/support/script_helper.pyt   assert_python_ok2   s    c          O   s   t  t |  |  S(   s   
    Assert that running the interpreter with `args` and optional environment
    variables `env_vars` fails and return a (return code, stdout, stderr) tuple.
    (   R    t   False(   R   R   (    (    s0   /usr/lib/python2.7/test/support/script_helper.pyt   assert_python_failure9   s    c       
   G   sW   t  j d g } | j |   t t j d  # } t j | d | d t j SWd  QXd  S(   Ns   -Et   wR   R   (	   R   R   R
   t   openR   t   devnullR   t   callt   STDOUT(   R   R   R'   (    (    s0   /usr/lib/python2.7/test/support/script_helper.pyt   python_exit_code@   s
    c       	   O   sG   t  j d g } | j |   t j | d t j d t j d t j | S(   Ns   -ER   R   R   (   R   R   R
   R   R   R   R)   (   R   t   kwargsR   (    (    s0   /usr/lib/python2.7/test/support/script_helper.pyt   spawn_pythonG   s
    c         C   sA   |  j  j   |  j j   } |  j j   |  j   t j   | S(   N(   R   R   R   t   readt   waitR   R   (   R   t   data(    (    s0   /usr/lib/python2.7/test/support/script_helper.pyt   kill_pythonN   s    

c          O   s+   t  |  |   } t |  } | j   | f S(   N(   R,   R0   R.   (   R   R+   R   t   stdout_data(    (    s0   /usr/lib/python2.7/test/support/script_helper.pyt
   run_pythonX   s    c          c   s<   t  j   }  t j j |   }  z	 |  VWd  t j |   Xd  S(   N(   t   tempfilet   mkdtempR   t   patht   realpatht   shutilt   rmtree(   t   dirname(    (    s0   /usr/lib/python2.7/test/support/script_helper.pyt   temp_dira   s
    	c         C   sP   | t  j d } t  j j |  |  } t | d  } | j |  | j   | S(   Nt   pyR%   (   R   t   extsepR5   t   joinR&   t   writeR   (   t
   script_dirt   script_basenamet   sourcet   script_filenamet   script_namet   script_file(    (    s0   /usr/lib/python2.7/test/support/script_helper.pyt   make_scriptj   s    
c         C   s!   t  j |  d t |  d } | S(   Nt   doraiset   c(   t
   py_compilet   compileR!   (   RC   t   compiled_name(    (    s0   /usr/lib/python2.7/test/support/script_helper.pyt   compile_scriptr   s    
c         C   s   | t  j d } t  j j |  |  } t j | d  } | d  k rY t  j j |  } n  | j | |  | j	   | t  j j | |  f S(   Nt   zipR%   (
   R   R<   R5   R=   t   zipfilet   ZipFilet   Nonet   basenameR>   R   (   t   zip_dirt   zip_basenameRC   t   name_in_zipt   zip_filenamet   zip_namet   zip_file(    (    s0   /usr/lib/python2.7/test/support/script_helper.pyt   make_zip_scriptz   s    
t    c         C   s!   t  j |   t |  d |  d  S(   Nt   __init__(   R   t   mkdirRE   (   t   pkg_dirt   init_source(    (    s0   /usr/lib/python2.7/test/support/script_helper.pyt   make_pkg   s    i   c         C   s  g  } t  |  d d  } | j |  t j j |  }	 t  |  | |  }
 | j |
  | r t |  } t |
  }
 | j | |
 f  n  g  t d | d  D] } t j j	 | g |  ^ q } t j j	 | d t j j |
   } | t j
 d } t j j	 |  |  } t j | d  } x3 | D]+ } t j j	 | |	  } | j | |  q'W| j |
 |  | j   x | D] } t j |  qwW| t j j	 | |  f S(   NRY   RX   i   iRL   R%   (   RE   R	   R   R5   RP   RK   R
   t   ranget   sepR=   R<   RM   RN   R>   R   t   unlink(   RQ   RR   t   pkg_nameR@   RA   t   deptht   compiledR`   t	   init_namet   init_basenameRC   t   it	   pkg_namest   script_name_in_zipRT   RU   RV   t   namet   init_name_in_zip(    (    s0   /usr/lib/python2.7/test/support/script_helper.pyt   make_zip_pkg   s.    9%
(   R   R   t   ret   os.pathR3   R   RH   t
   contextlibR7   RM   t   ImportErrort   test.supportR    R    R"   R$   R*   R,   R0   R2   t   contextmanagerR:   RE   RK   RO   RW   R]   R#   Rk   (    (    (    s0   /usr/lib/python2.7/test/support/script_helper.pyt   <module>   s4   						
					