Ñò
‘à"Ic           @   sÝ   d  d k  Z  d  d k l Z d  d k Z d  d k Z d  d k Z d  d k Z d  d k Z d  d k Z d  d k	 Z	 e i
 d j Z e o
 d Z n d Z d „  Z d e  i f d „  ƒ  YZ d	 „  Z e d
 j o e ƒ  n d S(   iÿÿÿÿN(   t   test_supportt   win32s@   import msvcrt; msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY);t    c         C   s   t  i d d |  ƒ S(   Ns   \[\d+ refs\]\r?\n?$R   (   t   ret   sub(   t   stderr(    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   remove_stderr_debug_decorations   s    t   ProcessTestCasec           B   sv  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 d „  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 d „  Z d „  Z d „  Z d „  Z e i  i! d e i" ƒ  ƒ o d „  Z# n d „  Z$ d  „  Z% d! „  Z& d" „  Z' d# „  Z( d$ „  Z) d% „  Z* d& „  Z+ d' „  Z, d( „  Z- e. py d) „  Z/ d* „  Z0 d+ „  Z1 d, „  Z2 d- „  Z3 d. „  Z4 d/ „  Z5 d0 „  Z6 d1 „  Z7 d2 „  Z8 d3 „  Z9 d4 „  Z: d5 „  Z; n e. o^ d6 „  Z< d7 „  Z= d8 „  Z5 d9 „  Z> d: „  Z6 d; „  Z7 d< „  Z8 d= „  Z9 d> „  Z: d? „  Z; n RS(@   c         C   s"   t  t d ƒ o t i ƒ  n d  S(   Nt   reap_children(   t   hasattrR    R   (   t   self(    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   setUp   s    c         C   s"   t  t d ƒ o t i ƒ  n d  S(   NR   (   R	   R    R   (   R
   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   tearDown$   s    c         C   sK   t  t d ƒ o t i ƒ  St i ƒ  } t i | t i t i Bƒ | f Sd S(   s?   wrapper for mkstemp, calling mktemp if mkstemp is not availablet   mkstempN(   R	   t   tempfileR   t   mktempt   ost   opent   O_RDWRt   O_CREAT(   R
   t   fname(    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyR   *   s    c         C   s/   t  i t i d d g ƒ } |  i | d ƒ d  S(   Ns   -cs   import sys; sys.exit(47)i/   (   t
   subprocesst   callt   syst
   executablet   assertEqual(   R
   t   rc(    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_call_seq5   s    c         C   s/   t  i t i d d g ƒ } |  i | d ƒ d  S(   Ns   -cs   import sys; sys.exit(0)i    (   R   t
   check_callR   R   R   (   R
   R   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_check_call_zero;   s    c         C   s\   y t  i t i d d g ƒ Wn+ t  i j
 o } |  i | i d ƒ n X|  i d ƒ d  S(   Ns   -cs   import sys; sys.exit(47)i/   s   Expected CalledProcessError(   R   R   R   R   t   CalledProcessErrorR   t
   returncodet   fail(   R
   t   e(    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_check_call_nonzeroA   s    c         C   sN   t  i i ƒ  } d | d <t i t i d d g d | ƒ} |  i | d ƒ d  S(   Nt   bananat   FRUITs   -cs5   import sys, os;sys.exit(os.getenv("FRUIT")=="banana")t   envi   (   R   t   environt   copyR   R   R   R   R   (   R
   t   newenvR   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_call_kwargsK   s    
		c         C   sN   t  i t i d d g d t  i d t  i ƒ} | i ƒ  |  i | i d  ƒ d  S(   Ns   -cs   print "banana"t   stdoutR   (	   R   t   PopenR   R   t   PIPEt   waitR   t   stdint   None(   R
   t   p(    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_stdin_noneU   s    
c         C   sN   t  i t i d d g d t  i d t  i ƒ} | i ƒ  |  i | i d  ƒ d  S(   Ns   -csR   print "    this bit of output is from a test of stdout in a different process ..."R.   R   (	   R   R+   R   R   R,   R-   R   R*   R/   (   R
   R0   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_stdout_none\   s
    	
c         C   sN   t  i t i d d g d t  i d t  i ƒ} | i ƒ  |  i | i d  ƒ d  S(   Ns   -cs   print "banana"R.   R*   (	   R   R+   R   R   R,   R-   R   R   R/   (   R
   R0   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_stderr_nonef   s    
c         C   sB   t  i d d d g d t i ƒ} | i ƒ  |  i | i d ƒ d  S(   Nt   somethingyoudonthaves   -cs   import sys; sys.exit(47)R   i/   (   R   R+   R   R   R-   R   R   (   R
   R0   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_executablem   s
    	
c         C   sb   t  i t i d d g d t  i ƒ} | i i d ƒ | i i ƒ  | i ƒ  |  i	 | i
 d ƒ d  S(   Ns   -cs0   import sys; sys.exit(sys.stdin.read() == "pear")R.   t   peari   (   R   R+   R   R   R,   R.   t   writet   closeR-   R   R   (   R
   R0   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_stdin_pipet   s    	
c         C   s}   t  i ƒ  } | i ƒ  } t i | d ƒ t i | d d ƒ t i t i	 d d g d | ƒ} | i
 ƒ  |  i | i d ƒ d  S(   NR6   i    s   -cs0   import sys; sys.exit(sys.stdin.read() == "pear")R.   i   (   R   t   TemporaryFilet   filenoR   R7   t   lseekR   R+   R   R   R-   R   R   (   R
   t   tft   dR0   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_stdin_filedes~   s    		
c         C   sh   t  i ƒ  } | i d ƒ | i d ƒ t i t i d d g d | ƒ} | i ƒ  |  i	 | i
 d ƒ d  S(   NR6   i    s   -cs0   import sys; sys.exit(sys.stdin.read() == "pear")R.   i   (   R   R:   R7   t   seekR   R+   R   R   R-   R   R   (   R
   R=   R0   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_stdin_fileobjŠ   s    		
c         C   sA   t  i t i d d g d t  i ƒ} |  i | i i ƒ  d ƒ d  S(   Ns   -cs&   import sys; sys.stdout.write("orange")R*   t   orange(   R   R+   R   R   R,   R   R*   t   read(   R
   R0   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_stdout_pipe•   s    	c         C   sv   t  i ƒ  } | i ƒ  } t i t i d d g d | ƒ} | i ƒ  t i	 | d d ƒ |  i
 t i | d ƒ d ƒ d  S(   Ns   -cs&   import sys; sys.stdout.write("orange")R*   i    i   RB   (   R   R:   R;   R   R+   R   R   R-   R   R<   R   RC   (   R
   R=   R>   R0   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_stdout_filedesœ   s    		
c         C   s^   t  i ƒ  } t i t i d d g d | ƒ} | i ƒ  | i d ƒ |  i | i	 ƒ  d ƒ d  S(   Ns   -cs&   import sys; sys.stdout.write("orange")R*   i    RB   (
   R   R:   R   R+   R   R   R-   R@   R   RC   (   R
   R=   R0   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_stdout_fileobj§   s    		
c         C   sG   t  i t i d d g d t  i ƒ} |  i t | i i ƒ  ƒ d ƒ d  S(   Ns   -cs*   import sys; sys.stderr.write("strawberry")R   t
   strawberry(	   R   R+   R   R   R,   R   R   R   RC   (   R
   R0   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_stderr_pipe±   s
    	c         C   s|   t  i ƒ  } | i ƒ  } t i t i d d g d | ƒ} | i ƒ  t i	 | d d ƒ |  i
 t t i | d ƒ ƒ d ƒ d  S(   Ns   -cs*   import sys; sys.stderr.write("strawberry")R   i    i   RG   (   R   R:   R;   R   R+   R   R   R-   R   R<   R   R   RC   (   R
   R=   R>   R0   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_stderr_filedes¹   s    		
c         C   sd   t  i ƒ  } t i t i d d g d | ƒ} | i ƒ  | i d ƒ |  i t	 | i
 ƒ  ƒ d ƒ d  S(   Ns   -cs*   import sys; sys.stderr.write("strawberry")R   i    RG   (   R   R:   R   R+   R   R   R-   R@   R   R   RC   (   R
   R=   R0   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_stderr_fileobjÅ   s    		
c         C   s\   t  i t i d d g d t  i d t  i ƒ} | i i ƒ  } t | ƒ } |  i	 | d ƒ d  S(   Ns   -csR   import sys;sys.stdout.write("apple");sys.stdout.flush();sys.stderr.write("orange")R*   R   t   appleorange(
   R   R+   R   R   R,   t   STDOUTR*   RC   R   R   (   R
   R0   t   outputt   stripped(    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_stdout_stderr_pipeÐ   s    		c         C   sv   t  i ƒ  } t i t i d d g d | d | ƒ} | i ƒ  | i d ƒ | i ƒ  } t	 | ƒ } |  i
 | d ƒ d  S(   Ns   -csR   import sys;sys.stdout.write("apple");sys.stdout.flush();sys.stderr.write("orange")R*   R   i    RK   (   R   R:   R   R+   R   R   R-   R@   RC   R   R   (   R
   R=   R0   RM   RN   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_stdout_stderr_fileÝ   s    		
c         C   s;   d } t  i t i d | g d d ƒ} |  i | d ƒ d  S(   Ns>   import sys, os; sys.exit(os.write(sys.stdout.fileno(), '.\n'))s   -cR*   i   i   (   R   R   R   R   t   assertEquals(   R
   t   cmdR   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_stdout_filedes_of_stdoutí   s    !c         C   s   t  i ƒ  } t i ƒ  } t i | ƒ t i ƒ  } t i | ƒ t i t i d d g d t i	 d | ƒ} t i
 i } |  i | | i i ƒ  ƒ | | ƒ ƒ d  S(   Ns   -cs+   import sys,os;sys.stdout.write(os.getcwd())R*   t   cwd(   R   t
   gettempdirR   t   getcwdt   chdirR   R+   R   R   R,   t   patht   normcaseR   R*   RC   (   R
   t   tmpdirRT   R0   RY   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_cwdó   s    			c         C   s`   t  i i ƒ  } d | d <t i t i d d g d t i d | ƒ} |  i | i	 i
 ƒ  d ƒ d  S(   NRB   R$   s   -cs2   import sys,os;sys.stdout.write(os.getenv("FRUIT"))R*   R%   (   R   R&   R'   R   R+   R   R   R,   R   R*   RC   (   R
   R(   R0   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_env  s    
			c         C   sH   t  i t i d d g d t  i ƒ} | i d ƒ |  i | i d ƒ d  S(   Ns   -cs0   import sys; sys.exit(sys.stdin.read() == "pear")R.   R6   i   (   R   R+   R   R   R,   t   communicateR   R   (   R
   R0   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_communicate_stdin  s
    	c         C   sZ   t  i t i d d g d t  i ƒ} | i ƒ  \ } } |  i | d ƒ |  i | d  ƒ d  S(   Ns   -cs)   import sys; sys.stdout.write("pineapple")R*   t	   pineapple(   R   R+   R   R   R,   R]   R   R/   (   R
   R0   R*   R   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_communicate_stdout  s    	c         C   s`   t  i t i d d g d t  i ƒ} | i ƒ  \ } } |  i | d  ƒ |  i t | ƒ d ƒ d  S(   Ns   -cs)   import sys; sys.stderr.write("pineapple")R   R_   (	   R   R+   R   R   R,   R]   R   R/   R   (   R
   R0   R*   R   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_communicate_stderr  s    	c         C   su   t  i t i d d g d t  i d t  i d t  i ƒ} | i d ƒ \ } } |  i | d ƒ |  i t | ƒ d ƒ d  S(   Ns   -csN   import sys,os;sys.stderr.write("pineapple");sys.stdout.write(sys.stdin.read())R.   R*   R   R#   R_   (   R   R+   R   R   R,   R]   R   R   (   R
   R0   R*   R   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_communicate$  s    			s   /proc/%d/fdc         C   s¤   d t  i ƒ  } t t  i | ƒ ƒ } t i t i d d g d t i ƒ} | i	 ƒ  t t  i | ƒ ƒ } ~ t t  i | ƒ ƒ } |  i
 | | ƒ |  i
 | | ƒ d  S(   Ns   /proc/%d/fds   -cs   print()R*   (   R   t   getpidt   lent   listdirR   R+   R   R   R,   R]   R   (   R
   t   fd_directoryt   num_fds_before_popenR0   t   num_fds_after_communicatet   num_fds_after_destruction(    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_communicate_pipe_fd_leak5  s    
c         C   sQ   t  i t i d d g ƒ } | i ƒ  \ } } |  i | d  ƒ |  i | d  ƒ d  S(   Ns   -cs   import sys; sys.exit(47)(   R   R+   R   R   R]   R   R/   (   R
   R0   R*   R   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_communicate_returnsA  s
    c         C   s¼   t  i ƒ  \ } } t o
 d } n t  i | d ƒ } t  i | ƒ t  i | ƒ t i t i d d | g d t i	 d t i	 d t i	 ƒ} d | } | i
 | ƒ \ } } |  i | | ƒ d  S(	   Ni   t   PC_PIPE_BUFs   -csp   import sys,os;sys.stdout.write(sys.stdin.read(47));sys.stderr.write("xyz"*%d);sys.stdout.write(sys.stdin.read())R.   R*   R   t   abc(   R   t   pipet	   mswindowst	   fpathconfR8   R   R+   R   R   R,   R]   R   (   R
   t   xt   yt   pipe_bufR0   t   string_to_writeR*   R   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_communicate_pipe_bufI  s    

		
c         C   s…   t  i t i d d g d t  i d t  i d t  i ƒ} | i i d ƒ | i d ƒ \ } } |  i | d ƒ |  i t	 | ƒ d	 ƒ d  S(
   Ns   -cs0   import sys,os;sys.stdout.write(sys.stdin.read())R.   R*   R   R#   t   splitt   bananasplitR   (
   R   R+   R   R   R,   R.   R7   R]   R   R   (   R
   R0   R*   R   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_writes_before_communicate`  s    			c         C   sy   t  i t i d d t d g d t  i d d ƒ} | i i ƒ  } t t	 d ƒ o |  i
 | d ƒ n |  i
 | d	 ƒ d  S(
   Ns   -cs   import sys,os;s	  sys.stdout.write("line1\n");sys.stdout.flush();sys.stdout.write("line2\r");sys.stdout.flush();sys.stdout.write("line3\r\n");sys.stdout.flush();sys.stdout.write("line4\r");sys.stdout.flush();sys.stdout.write("\nline5");sys.stdout.flush();sys.stdout.write("\nline6");R*   t   universal_newlinesi   t   newliness#   line1
line2
line3
line4
line5
line6s%   line1
line2line3
line4
line5
line6(   R   R+   R   R   t	   SETBINARYR,   R*   RC   R	   t   fileR   (   R
   R0   R*   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_universal_newlinesm  s    
				c         C   s…   t  i t i d d t d g d t  i d t  i d d ƒ} | i ƒ  \ } } t t d ƒ o |  i	 | d	 ƒ n |  i	 | d
 ƒ d  S(   Ns   -cs   import sys,os;s	  sys.stdout.write("line1\n");sys.stdout.flush();sys.stdout.write("line2\r");sys.stdout.flush();sys.stdout.write("line3\r\n");sys.stdout.flush();sys.stdout.write("line4\r");sys.stdout.flush();sys.stdout.write("\nline5");sys.stdout.flush();sys.stdout.write("\nline6");R*   R   Ry   i   Rz   s#   line1
line2
line3
line4
line5
line6s%   line1
line2line3
line4
line5
line6(
   R   R+   R   R   R{   R,   R]   R	   R|   R   (   R
   R0   R*   R   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt#   test_universal_newlines_communicate‡  s    
		c      	   C   s­   t  t d ƒ p t i d ƒ o t o
 d } n d } xm t | ƒ D]_ } t i t i d d g d t i	 d t i	 d	 t i	 ƒ} | i
 d
 ƒ d } |  i | d
 ƒ qF Wd  S(   Nt   is_resource_enabledR   i  iA   s   -cs-   import sys;sys.stdout.write(sys.stdin.read())R.   R*   R   t   limei    (   R	   R    R   Ro   t   rangeR   R+   R   R   R,   R]   R   (   R
   t   max_handlest   iR0   t   data(    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_no_leaking¡  s    
 			c         C   s0  |  i  t i d d d g ƒ d ƒ |  i  t i d d d g ƒ d ƒ |  i  t i d d d g ƒ d	 ƒ |  i  t i d
 d d g ƒ d ƒ |  i  t i d d d g ƒ d ƒ |  i  t i d d d g ƒ d ƒ |  i  t i d d d g ƒ d ƒ |  i  t i d d g ƒ d ƒ |  i  t i d d g ƒ d ƒ d  S(   Ns   a b cR>   R!   s   "a b c" d es   ab"cs   \s	   ab\"c \ ds    \s   ab\"c " \\" ds   a\\\bs   de fgt   hs   a\\\b "de fg" hs   a\"bt   cs
   a\\\"b c ds   a\\b cs   "a\\b c" d es   a\\b\ cs   "a\\b\ c" d et   abR   s   ab ""t   echos   foo|bars   echo "foo|bar"(   R   R   t   list2cmdline(   R
   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_list2cmdline²  s$    c         C   s€   t  i t i d d g ƒ } d } x/ | i ƒ  d  j o t i d ƒ | d 7} q$ W|  i | d j ƒ |  i	 | i ƒ  d ƒ d  S(   Ns   -cs   import time; time.sleep(1)i    gš™™™™™¹?i   i   (
   R   R+   R   R   t   pollR/   t   timet   sleept   assert_R   (   R
   R0   t   count(    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt	   test_pollÇ  s     c         C   sK   t  i t i d d g ƒ } |  i | i ƒ  d ƒ |  i | i ƒ  d ƒ d  S(   Ns   -cs   import time; time.sleep(2)i    (   R   R+   R   R   R   R-   (   R
   R0   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt	   test_wait×  s    c         C   sG   y  t  i t i d d g d ƒ Wn t j
 o n X|  i d ƒ d  S(   Ns   -ct   passRB   s   Expected TypeError(   R   R+   R   R   t	   TypeErrorR    (   R
   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_invalid_bufsizeß  s
     c         C   sj   y% t  i t i d d g d d ƒ} Wn1 t j
 o% } |  i | i i d ƒ d ƒ n X|  i d ƒ d  S(   Ns   -cR   RT   s   /this/path/does/not/exists   os.chdiriÿÿÿÿs   Expected OSError(	   R   R+   R   R   t   OSErrort   assertNotEqualt   child_tracebackt   findR    (   R
   R0   R!   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_exceptionsí  s    !c         C   s`   y9 d d k  } | i | i ƒ } | i | i d ƒ | SWn  t t | i f j
 o d SXd S(   sx   Try to prevent core files from being created.
            Returns previous ulimit if successful, else None.
            iÿÿÿÿNi    (   i    i    (   t   resourcet	   getrlimitt   RLIMIT_COREt	   setrlimitt   ImportErrort
   ValueErrort   errorR/   (   R
   R›   t	   old_limit(    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   _suppress_core_filesù  s    c         C   s\   | d j o d Sy# d d k } | i | i | ƒ Wn  t t | i f j
 o d SXd S(   s%   Return core file behavior to default.Niÿÿÿÿ(   R/   R›   Rž   R   RŸ   R    R¡   (   R
   R¢   R›   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   _unsuppress_core_files  s    c         C   sa   |  i  ƒ  } z t i t i d d g ƒ } Wd  |  i | ƒ X| i ƒ  |  i | i t	 i
 ƒ d  S(   Ns   -cs   import os; os.abort()(   R£   R   R+   R   R   R¤   R-   R   R   t   signalt   SIGABRT(   R
   R¢   R0   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_run_abort  s    
c         C   sJ   t  i t i d d g d t  i d d „  ƒ} |  i | i i ƒ  d ƒ d  S(   Ns   -cs2   import sys,os;sys.stdout.write(os.getenv("FRUIT"))R*   t
   preexec_fnc           S   s   t  i d  d ƒ S(   R$   t   apple(   R   t   putenv(    (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   <lambda>   s    R©   (   R   R+   R   R   R,   R   R*   RC   (   R
   R0   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_preexec  s
    		c         C   s“   |  i  ƒ  \ } } t i | d ƒ t i | d t i ƒ t i | ƒ t i | d ƒ t i | ƒ } | i	 ƒ  t i
 | ƒ |  i | i d ƒ d  S(   Ns
   #!/bin/sh
s(   exec '%s' -c 'import sys; sys.exit(47)'
iÀ  i/   (   R   R   R7   R   R   R8   t   chmodR   R+   R-   t   removeR   R   (   R
   t   fR   R0   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_args_string#  s    
c         C   sT   |  i  t t i t i d d g d d ƒ|  i  t t i t i d d g d d ƒd  S(   Ns   -cs   import sys; sys.exit(47)t   startupinfoi/   t   creationflags(   t   assertRaisesR    R   R   R   R   (   R
   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_invalid_args0  s    c         C   sc   t  i i ƒ  } d | d <t i d g d d d t i d | ƒ} |  i | i i ƒ  i	 ƒ  d ƒ d  S(   NR©   R$   s   echo $FRUITt   shelli   R*   R%   (
   R   R&   R'   R   R+   R,   R   R*   RC   t   strip(   R
   R(   R0   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_shell_sequence;  s    
		c         C   s`   t  i i ƒ  } d | d <t i d d d d t i d | ƒ} |  i | i i ƒ  i	 ƒ  d ƒ d  S(   NR©   R$   s   echo $FRUITRµ   i   R*   R%   (
   R   R&   R'   R   R+   R,   R   R*   RC   R¶   (   R
   R(   R0   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_shell_stringD  s    
		c         C   s†   |  i  ƒ  \ } } t i | d ƒ t i | d t i ƒ t i | ƒ t i | d ƒ t i | ƒ } t i	 | ƒ |  i
 | d ƒ d  S(   Ns
   #!/bin/sh
s(   exec '%s' -c 'import sys; sys.exit(47)'
iÀ  i/   (   R   R   R7   R   R   R8   R­   R   R   R®   R   (   R
   R¯   R   R   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_call_stringM  s    c         C   sg   t  i t i d d g ƒ } |  i | i ƒ  d  j | i ƒ  ƒ | i t i	 ƒ |  i
 | i ƒ  d ƒ d  S(   Ns   -cs   input()i    (   R   R+   R   R   R   RŒ   R/   t   send_signalR¥   t   SIGINTR—   R-   (   R
   R0   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   DISABLED_test_send_signalY  s
    "c         C   se   t  i t i d d g ƒ } |  i | i ƒ  d  j | i ƒ  ƒ | i ƒ  |  i | i	 ƒ  t
 i ƒ d  S(   Ns   -cs   input()(   R   R+   R   R   R   RŒ   R/   t   killR   R-   R¥   t   SIGKILL(   R
   R0   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   DISABLED_test_killa  s
    "
c         C   se   t  i t i d d g ƒ } |  i | i ƒ  d  j | i ƒ  ƒ | i ƒ  |  i | i	 ƒ  t
 i ƒ d  S(   Ns   -cs   input()(   R   R+   R   R   R   RŒ   R/   t	   terminateR   R-   R¥   t   SIGTERM(   R
   R0   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   DISABLED_test_terminatei  s
    "
c         C   sM   d } d } t  i ƒ  } | | _ | | _ t  i t i d d g d | ƒd  S(   Ni   i   s   -cs   import sys; sys.exit(0)R±   (   R   t   STARTUPINFOt   dwFlagst   wShowWindowR   R   R   (   R
   t   STARTF_USESHOWWINDOWt   SW_MAXIMIZER±   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_startupinfou  s    		c         C   s4   d } t  i i d ƒ t i t  i d d | ƒd  S(   Ni   s'       a DOS box should flash briefly ...
s#    -c "import time; time.sleep(0.25)"R²   (   R   R   R7   R   R   R   (   R
   t   CREATE_NEW_CONSOLE(    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_creationflags„  s
    c         C   s`   |  i  t t i t i d d g d d „  ƒ|  i  t t i t i d d g d t i d t ƒd  S(   Ns   -cs   import sys; sys.exit(47)R¨   c           S   s   d  S(   i   (    (    (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyR«   ‘  s    R*   t	   close_fds(   R³   R    R   R   R   R   R,   t   True(   R
   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyR´   Œ  s    
	c         C   s5   t  i t i d d g d t ƒ} |  i | d ƒ d  S(   Ns   -cs   import sys; sys.exit(47)RË   i/   (   R   R   R   R   RÌ   R   (   R
   R   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   test_close_fds˜  s    		c         C   sf   t  i i ƒ  } d | d <t i d g d d d t i d | ƒ} |  i | i i ƒ  i	 d ƒ d ƒ d  S(	   Nt   physalisR$   t   setRµ   i   R*   R%   iÿÿÿÿ(
   R   R&   R'   R   R+   R,   R—   R*   RC   R™   (   R
   R(   R0   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyR·   Ÿ  s    
		c         C   sc   t  i i ƒ  } d | d <t i d d d d t i d | ƒ} |  i | i i ƒ  i	 d ƒ d ƒ d  S(	   NRÎ   R$   RÏ   Rµ   i   R*   R%   iÿÿÿÿ(
   R   R&   R'   R   R+   R,   R—   R*   RC   R™   (   R
   R(   R0   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyR¸   ¨  s    
		c         C   s*   t  i t i d ƒ } |  i | d ƒ d  S(   Ns    -c "import sys; sys.exit(47)"i/   (   R   R   R   R   R   (   R
   R   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyR¹   ±  s    
c         C   sg   t  i t i d d g ƒ } |  i | i ƒ  d  j | i ƒ  ƒ | i t i	 ƒ |  i
 | i ƒ  d ƒ d  S(   Ns   -cs   input()i    (   R   R+   R   R   R   RŒ   R/   Rº   R¥   RÁ   R—   R-   (   R
   R0   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyR¼   ·  s
    "c         C   sa   t  i t i d d g ƒ } |  i | i ƒ  d  j | i ƒ  ƒ | i ƒ  |  i | i	 ƒ  d ƒ d  S(   Ns   -cs   input()i    (
   R   R+   R   R   R   RŒ   R/   R½   R—   R-   (   R
   R0   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyR¿   ¿  s
    "
c         C   sa   t  i t i d d g ƒ } |  i | i ƒ  d  j | i ƒ  ƒ | i ƒ  |  i | i	 ƒ  d ƒ d  S(   Ns   -cs   input()i    (
   R   R+   R   R   R   RŒ   R/   RÀ   R—   R-   (   R
   R0   (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyRÂ   Ç  s
    "
(?   t   __name__t
   __module__R   R   R   R   R   R"   R)   R1   R2   R3   R5   R9   R?   RA   RD   RE   RF   RH   RI   RJ   RO   RP   RS   R[   R\   R^   R`   Ra   Rb   R   RX   t   isdirRc   Rj   Rk   Ru   Rx   R}   R~   R…   R‹   R‘   R’   R•   Ro   Rš   R£   R¤   R§   R¬   R°   R´   R·   R¸   R¹   R¼   R¿   RÂ   RÈ   RÊ   RÍ   (    (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyR      s„   						
	
		
			
					
								
																	
																							c           C   s/   t  i t ƒ t t  d ƒ o t  i ƒ  n d  S(   NR   (   R    t   run_unittestR   R	   R   (    (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt	   test_mainÏ  s    t   __main__(   t   unittestt   testR    R   R   R¥   R   R   R   R   t   platformRo   R{   R   t   TestCaseR   RÔ   RÐ   (    (    (    s1   /mit/python/lib/python2.6/test/test_subprocess.pyt   <module>   s&   
	ÿ ÿ ´	