;
Λβ"Ic               @   s8  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	 d  d l
 Z
 d  d l Z e j j Z d  d l m Z m Z d   Z e	 j d    Z d Z e d  Z d   Z d   Z d	   Z d
 Z d   Z Gd   d e  j  Z d   Z e d k o e   n d S(   i    N(   u   _spawn_pythonu   _kill_pythonc              G   s.   t  |    } t |  } | j   | j   f S(   N(   u   _spawn_pythonu   _kill_pythonu   waitu   decode(   u   argsu   pu   stdout_data(    (    u6   /mit/python/lib/python3.0/test/test_cmd_line_script.pyu   _run_python   s    c           	   c   s<   t  j   }  t j j |   }  z	 |  VWd  t j |   Xd  S(   N(   u   tempfileu   mkdtempu   osu   pathu   realpathu   shutilu   rmtree(   u   dirname(    (    u6   /mit/python/lib/python3.0/test/test_cmd_line_script.pyu   temp_dir   s
    	u	  # Script may be run with optimisation enabled, so don't rely on assert
# statements being executed
def assertEqual(lhs, rhs):
    if lhs != rhs:
        raise AssertionError('%r != %r' % (lhs, rhs))
def assertIdentical(lhs, rhs):
    if lhs is not rhs:
        raise AssertionError('%r is not %r' % (lhs, rhs))
# Check basic code execution
result = ['Top level assignment']
def f():
    result.append('Lower level reference')
f()
assertEqual(result, ['Top level assignment', 'Lower level reference'])
# Check population of magic variables
assertEqual(__name__, '__main__')
print('__file__==%r' % __file__)
print('__package__==%r' % __package__)
# Check the sys module
import sys
assertIdentical(globals(), sys.modules[__name__].__dict__)
print('sys.argv[0]==%r' % sys.argv[0])
c             C   sS   | t  j j d } t  j j |  |  } t | d  } | j |  | j   | S(   Nu   pyu   w(   u   osu   pathu   extsepu   joinu   openu   writeu   close(   u
   script_diru   script_basenameu   sourceu   script_filenameu   script_nameu   script_file(    (    u6   /mit/python/lib/python3.0/test/test_cmd_line_script.pyu   _make_test_script>   s    
c             C   s!   t  j |  d d |  d } | S(   Nu   doraiseu   cT(   u
   py_compileu   compileu   True(   u   script_nameu   compiled_name(    (    u6   /mit/python/lib/python3.0/test/test_cmd_line_script.pyu   _compile_test_scriptF   s    
c             C   se   | t  j j d } t  j j |  |  } t j | d  } | j | t  j j |   | j   | S(   Nu   zipu   w(	   u   osu   pathu   extsepu   joinu   zipfileu   ZipFileu   writeu   basenameu   close(   u   zip_diru   zip_basenameu   script_nameu   zip_filenameu   zip_nameu   zip_file(    (    u6   /mit/python/lib/python3.0/test/test_cmd_line_script.pyu   _make_test_zipN   s    
c             C   s!   t  j |   t |  d d  d  S(   Nu   __init__u    (   u   osu   mkdiru   _make_test_script(   u   pkg_dir(    (    u6   /mit/python/lib/python3.0/test/test_cmd_line_script.pyu   _make_test_pkg[   s    uc   import sys, os.path, runpy
sys.path[0:0] = os.path.dirname(__file__)
runpy._run_module_as_main(%r)
c             C   s   t  |  | t |  S(   N(   u   _make_test_scriptu   launch_source(   u
   script_diru   script_basenameu   module_name(    (    u6   /mit/python/lib/python3.0/test/test_cmd_line_script.pyu   _make_launch_scripti   s    	c             B   sV   |  Ee  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d S(	   c             G   sΰ   | | f } t  |   \ } } t o t d |  t |  n |  j | d  d | }	 d | }
 d | } t o, t d  t |	  t |  t |
  n |  j |	 | k  |  j | | k  |  j |
 | k  d  S(   Nu   Output from test script %r:i    u   __file__==%ru   sys.argv[0]==%ru   __package__==%ru   Expected output:(   u   _run_pythonu   verboseu   printu   assertEqualu   assert_(   u   selfu   script_nameu   expected_fileu   expected_argv0u   expected_packageu   cmd_line_switchesu   run_argsu	   exit_codeu   datau   printed_fileu   printed_argv0u   printed_package(    (    u6   /mit/python/lib/python3.0/test/test_cmd_line_script.pyu   _check_scriptn   s"    





c             C   sW   t    j } j   } z2 | ~ } t | d  } |  j | | | d   Wd  | ~ QXd  S(   Nu   script(   u   temp_diru   __exit__u	   __enter__u   _make_test_scriptu   _check_scriptu   None(   u   selfu   _[2]u   _[1]u
   script_diru   script_name(    (    u6   /mit/python/lib/python3.0/test/test_cmd_line_script.pyu   test_basic_script   s    "c             C   sp   t    j } j   } zK | ~ } t | d  } t |  } t j |  |  j | | | d   Wd  | ~ QXd  S(   Nu   script(	   u   temp_diru   __exit__u	   __enter__u   _make_test_scriptu   _compile_test_scriptu   osu   removeu   _check_scriptu   None(   u   selfu   _[2]u   _[1]u
   script_diru   script_nameu   compiled_name(    (    u6   /mit/python/lib/python3.0/test/test_cmd_line_script.pyu   test_script_compiled   s
    "c             C   sW   t    j } j   } z2 | ~ } t | d  } |  j | | | d  Wd  | ~ QXd  S(   Nu   __main__u    (   u   temp_diru   __exit__u	   __enter__u   _make_test_scriptu   _check_script(   u   selfu   _[2]u   _[1]u
   script_diru   script_name(    (    u6   /mit/python/lib/python3.0/test/test_cmd_line_script.pyu   test_directory   s    "c             C   sp   t    j } j   } zK | ~ } t | d  } t |  } t j |  |  j | | | d  Wd  | ~ QXd  S(   Nu   __main__u    (   u   temp_diru   __exit__u	   __enter__u   _make_test_scriptu   _compile_test_scriptu   osu   removeu   _check_script(   u   selfu   _[2]u   _[1]u
   script_diru   script_nameu   compiled_name(    (    u6   /mit/python/lib/python3.0/test/test_cmd_line_script.pyu   test_directory_compiled   s
    "c             C   si   t    j } j   } zD | ~ } t | d  } t | d |  } |  j | d  | d  Wd  | ~ QXd  S(   Nu   __main__u   test_zipu    (   u   temp_diru   __exit__u	   __enter__u   _make_test_scriptu   _make_test_zipu   _check_scriptu   None(   u   selfu   _[2]u   _[1]u
   script_diru   script_nameu   zip_name(    (    u6   /mit/python/lib/python3.0/test/test_cmd_line_script.pyu   test_zipfile   s    "c             C   su   t    j } j   } zP | ~ } t | d  } t |  } t | d |  } |  j | d  | d  Wd  | ~ QXd  S(   Nu   __main__u   test_zipu    (   u   temp_diru   __exit__u	   __enter__u   _make_test_scriptu   _compile_test_scriptu   _make_test_zipu   _check_scriptu   None(   u   selfu   _[2]u   _[1]u
   script_diru   script_nameu   compiled_nameu   zip_name(    (    u6   /mit/python/lib/python3.0/test/test_cmd_line_script.pyu   test_zipfile_compiled‘   s
    "c             C   s   t    j } j   } zc | ~ } t j j | d  } t |  t | d  } t | d d  } |  j	 | | | d  Wd  | ~ QXd  S(   Nu   test_pkgu   scriptu   launchu   test_pkg.script(
   u   temp_diru   __exit__u	   __enter__u   osu   pathu   joinu   _make_test_pkgu   _make_test_scriptu   _make_launch_scriptu   _check_script(   u   selfu   _[2]u   _[1]u
   script_diru   pkg_diru   script_nameu   launch_name(    (    u6   /mit/python/lib/python3.0/test/test_cmd_line_script.pyu   test_module_in_package¨   s    "
N(
   u   __name__u
   __module__u   _check_scriptu   test_basic_scriptu   test_script_compiledu   test_directoryu   test_directory_compiledu   test_zipfileu   test_zipfile_compiledu   test_module_in_package(   u
   __locals__(    (    u6   /mit/python/lib/python3.0/test/test_cmd_line_script.pyu   CmdLineTestm   s   
							u   CmdLineTestc               C   s!   t  j j t  t  j j   d  S(   N(   u   testu   supportu   run_unittestu   CmdLineTestu   reap_children(    (    (    u6   /mit/python/lib/python3.0/test/test_cmd_line_script.pyu	   test_main²   s    u   __main__(   u   unittestu   osu   os.pathu   sysu   test.supportu   testu   tempfileu
   subprocessu
   py_compileu
   contextlibu   shutilu   zipfileu   supportu   verboseu   test.test_cmd_lineu   _spawn_pythonu   _kill_pythonu   _run_pythonu   contextmanageru   temp_diru   test_sourceu   _make_test_scriptu   _compile_test_scriptu   _make_test_zipu   _make_test_pkgu   launch_sourceu   _make_launch_scriptu   TestCaseu   CmdLineTestu	   test_mainu   __name__(    (    (    u6   /mit/python/lib/python3.0/test/test_cmd_line_script.pyu   <module>   s2   	 				E	