;
Ëâ"Ic               @   so   d  d l  Z  d  d l Z d  d l Z d  d l m Z Gd „  d e  j ƒ Z d „  Z e d k o e ƒ  n d S(   i    N(   u   supportc             B   sè   |  Ee  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 j d k o d „  Z n d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d S(   c             C   sR   |  j  t t d d d ƒ d d  l } | j } t | d d ƒ t | d | ƒ d  S(   Nu   __debug__ = 1u   ?u   singlei    u	   __debug__u   sure(   u   assertRaisesu   SyntaxErroru   compileu   builtinsu	   __debug__u   setattr(   u   selfu   builtinsu   prev(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   test_debug_assignment   s
    	c             C   sv   |  j  t t d ƒ |  j  t t d ƒ |  j  t t d ƒ |  j  t t d ƒ |  j  t t d ƒ |  j  t t d ƒ d  S(   Nu   lambda a,a:0u   lambda a,a=1:0u   lambda a=1,a=1:0u   def f(a, a): passu   def f(a = 0, a = 1): passu   def f(a): global a; a = 1(   u   assertRaisesu   SyntaxErroru   evalu   exec(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   test_argument_handling   s    c             C   s   |  j  t t d d d ƒ d  S(   Nu   1+*3u   filenameu   exec(   u   assertRaisesu   SyntaxErroru   compile(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   test_syntax_error   s    c             C   s   |  j  t t d d d ƒ d  S(   Nu	   f(None=1)u   <string>u   exec(   u   assertRaisesu   SyntaxErroru   compile(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   test_none_keyword_arg   s    c             C   s   |  j  t t d ƒ d  S(   Nu   def f(a): global a; a = 1(   u   assertRaisesu   SyntaxErroru   exec(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   test_duplicate_global_local   s    c             C   sŠ  Gd „  d ƒ } | ƒ  } t  ƒ  } t d | | ƒ |  j | j d ƒ y t d | | ƒ Wn t k
 o Yn X|  j d ƒ t d | | ƒ |  j | j d t d	 ƒ f ƒ t d
 | | ƒ |  j | j d | f ƒ t d | | ƒ |  j | j d | f ƒ |  j t t d | ƒ Gd „  d ƒ } | ƒ  } |  j t t d | | ƒ Gd „  d t	 ƒ } | ƒ  } t d | | ƒ |  j | d d ƒ d  S(   Nc             B   s/   |  Ee  Z d  Z d „  Z d „  Z d „  Z d S(   u9   Test mapping interface versus possible calls from eval().c             S   s   | d k o d St  ‚ d  S(   Nu   ai   (   u   KeyError(   u   selfu   key(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   __getitem__&   s    c             S   s   | | f |  _  d  S(   N(   u   results(   u   selfu   keyu   value(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   __setitem__*   s    c             S   s
   t  d ƒ S(   Nu   xyz(   u   list(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   keys,   s    N(   u   __name__u
   __module__u   __doc__u   __getitem__u   __setitem__u   keys(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   M$   s   
		u   Mu   z = au   zi   u   z = bu   Did not detect a KeyErroru	   z = dir()u   xyzu   z = globals()u   z = locals()c             B   s   |  Ee  Z d  Z d S(   u   Non-mappingN(   u   __name__u
   __module__u   __doc__(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   AA   s   
u   Ac             B   s   |  Ee  Z d  „  Z d S(   c             S   s"   | d k o d St  j |  | ƒ S(   Nu   ai   (   u   dictu   __getitem__(   u   selfu   key(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   __getitem__I   s    N(   u   __name__u
   __module__u   __getitem__(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   DH   s   
u   D(   u   zi   (
   u   globalsu   execu   assertEqualu   resultsu	   NameErroru   failu   listu   assertRaisesu	   TypeErroru   dict(   u   selfu   Mu   mu   gu   Au   Du   d(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu)   test_exec_with_general_mapping_for_locals"   s0    				c             C   sP   d d d } i  } d | f d } t  | | ƒ |  j | d d ƒ d ƒ d  S(	   Nu	   x = x or u   -xiÄ	  uÞ   
def f(x):
    %s
    %s
    %s
    %s
    %s
    %s
    %s
    %s
    %s
    %s
    # the expressions above have no effect, x == argument
    while x:
        x -= 1
        # EXTENDED_ARG/JUMP_ABSOLUTE here
    return x
i
   u   fi   i    (   u   execu   assertEqual(   u   selfu   longexpru   gu   code(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   test_extended_argQ   s
    c             C   s   |  j  t t d ƒ d  S(   Nu   def f(a=1, b): pass(   u   assertRaisesu   SyntaxErroru   exec(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   test_argument_orderi   s    c             C   sP   |  j  t t d ƒ |  j  t t d ƒ |  j  t t d ƒ |  j  t t d ƒ d  S(   Nu   2eu   2.0e+u   1e-u   3-4e/21(   u   assertRaisesu   SyntaxErroru   eval(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   test_float_literalsl   s    c             C   s   d } t  | d d ƒ d  S(   Nu   
if 1:
    if 2:
        passu   <string>u   exec(   u   compile(   u   selfu   s(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   test_indentations   s    c             C   s\   d j  d g d d g ƒ } t | d d ƒ } |  j | j d ƒ |  j | j t ƒ  ƒ d  S(   Nu    u   
i   u   spamu   fnu   execi  (   u   joinu   compileu   assertEqualu   co_firstlinenou	   co_lnotabu   bytes(   u   selfu   s256u   co(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   test_leading_newlines   s    c             C   st  x] d d d d d d d d d	 d
 d d d d d d d d d d g D] } |  j  t t | ƒ qC W|  j t d ƒ d ƒ |  j t d ƒ d ƒ |  j t d ƒ d ƒ |  j t d ƒ d ƒ |  j t d ƒ d ƒ |  j t d ƒ d ƒ |  j t d ƒ d ƒ |  j t d  ƒ d! ƒ |  j t d" ƒ d# ƒ |  j t d$ ƒ d ƒ |  j t d% ƒ d& ƒ |  j t d' ƒ d ƒ |  j t d( ƒ d ƒ |  j t d) ƒ d* ƒ |  j t d+ ƒ d* ƒ |  j t d, ƒ d* ƒ |  j t d- ƒ d* ƒ |  j t d. ƒ d/ ƒ |  j t d0 ƒ d1 ƒ |  j t d2 ƒ d3 ƒ |  j t d4 ƒ d5 ƒ |  j t d6 ƒ d7 ƒ |  j t d8 ƒ d9 ƒ |  j t d: ƒ d; ƒ d  S(<   Nu   077787u   0xju   0x.u   0eu   090000000000000u   080000000000000u   000000000000009u   000000000000008u   0b42u   0BADCAFEu   0o123456789u   0b1.1u   0o4.2u   0b101j2u   0o153j2u   0b100e1u   0o777e1u   0777u   000777u   000000000000007u   0xffiÿ   u   0777.i	  u   0777.0u8   000000000000000000000000000000000000000000000000000777e0u   0777e1iZ  u   0e0i    u	   0000e-012u   09.5g      #@u   0777jy             Hˆ@u   000u   00jy                u   00.0u   0e3u   090000000000000.g  è°vÔBu&   090000000000000.0000000000000000000000u   090000000000000e0u   090000000000000e-0u   090000000000000jy          è°vÔBu   000000000000008.g       @u   000000000000009.g      "@u   0b101010i*   u   -0b000000000010iþÿÿÿu   0o777iÿ  u
   -0o0000010iøÿÿÿ(   u   assertRaisesu   SyntaxErroru   evalu   assertEqual(   u   selfu   arg(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu!   test_literals_with_leading_zeroes…   s>    	
 c             C   sõ   t  j d k o: d } |  j t | ƒ d ƒ |  j t d | ƒ d ƒ nX t  j d k o: d } |  j t | ƒ d ƒ |  j t d | ƒ d	 ƒ n |  j d
 ƒ |  j t t d t  j d ƒ t ƒ ƒ |  j t t d t  j d ƒ t ƒ ƒ d  S(   Niÿÿÿu
   0xffffffffl   ÿÿ u   -lýÿÿÿÿÿ l   ÿÿÿÿ u   0xffffffffffffffffl   ÿÿÿÿ lûÿÿÿÿÿÿÿ u)   How many bits *does* this machine have???u   %si   i   (   u   sysu   maxsizeu   assertEqualu   evalu   failu
   assertTrueu
   isinstanceu   int(   u   selfu   all_one_bits(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   test_unary_minus¦   s    (l   ÿÿÿÿ c       
      C   sy   d 
} d } d 
} d } d 
} d } d 
} d } x> |  j  j j D]- }	 |	 d  k	 o |  j t |	 t ƒ ƒ qD qD Wd  S(	   Nl        lýÿÿÿ     l          lüÿÿÿ       l            lûÿÿÿ         l   ÿÿÿÿ lûÿÿÿÿÿÿÿ (   u   test_32_63_bit_valuesu   __code__u	   co_constsu   Noneu
   assertTrueu
   isinstanceu   int(
   u   selfu   au   bu   cu   du   eu   fu   gu   hu   variable(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   test_32_63_bit_valuesº   s     c             C   s7   d p d \ } } |  j  | d ƒ |  j  | d ƒ d  S(   Ni   iÿÿÿÿ(   i   iÿÿÿÿ(   iÿÿÿÿi   (   u   assertEqual(   u   selfu   iu   j(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   test_sequence_unpacking_errorÈ   s    c             C   so   d d d d d d d d g } xJ | D]B } | d	 7} |  j  t t | d
 d ƒ |  j  t t | d
 d ƒ q% Wd  S(   Nu   None = 0u	   None += 0u   __builtins__.None = 0u   def None(): passu   class None: passu   (a, None) = 0, 0u   for None in range(10): passu   def f(None): passu   
u   tmpu   singleu   exec(   u   assertRaisesu   SyntaxErroru   compile(   u   selfu   stmtsu   stmt(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   test_none_assignmentÎ   s    	 
c             C   sÇ   d d d d d d d d d	 d
 d d d d d g } d d d d d d d d d d d d d d d d d  d! d" d# d$ g } x | D] } t  | d% d& ƒ q Wx' | D] } |  j t t  | d% d& ƒ q  Wd  S('   Nu
   import sysu   import os, sysu   import os as baru   import os.path as baru0   from __future__ import nested_scopes, generatorsu2   from __future__ import (nested_scopes,
generators)u3   from __future__ import (nested_scopes,
generators,)u%   from sys import stdin, stderr, stdoutu'   from sys import (stdin, stderr,
stdout)u(   from sys import (stdin, stderr,
stdout,)u(   from sys import (stdin
, stderr, stdout)u)   from sys import (stdin
, stderr, stdout,)u7   from sys import stdin as si, stdout as so, stderr as seu9   from sys import (stdin as si, stdout as so, stderr as se)u:   from sys import (stdin as si, stdout as so, stderr as se,)u   import (os, sys)u   import (os), (sys)u   import ((os), (sys))u   import (sysu   import sys)u   import (os,)u   import os As baru   import os.path a baru   from sys import stdin As stdoutu   from sys import stdin a stdoutu   from (sys) import stdinu%   from __future__ import (nested_scopesu%   from __future__ import nested_scopes)u0   from __future__ import nested_scopes,
generatorsu   from sys import (stdinu   from sys import stdin)u%   from sys import stdin, stdout,
stderru   from sys import stdin siu)   from sys import stdin,from sys import (*)u(   from sys import (stdin,, stdout, stderr)u    from sys import (stdin, stdout),u   tmpu   exec(   u   compileu   assertRaisesu   SyntaxError(   u   selfu   succeedu   failu   stmt(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   test_importÞ   sT    		  c             C   s>   d „  } | ƒ  \ } } |  j  t | j ƒ t | j ƒ ƒ d  S(   Nc              S   s"   d d „ }  d d „ } |  | f S(   Ni   c             S   s   |  S(    (    (   u   x(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   <lambda>  s    i   c             S   s   |  S(    (    (   u   x(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   <lambda>  s    (    (   u   f1u   f2(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   f  s    (   u   assertNotEqualu   idu   __code__(   u   selfu   fu   f1u   f2(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   test_for_distinct_code_objects  s    	c             C   s†  Gd „  d t  ƒ } | ƒ  } d | d <|  j | d d ƒ | d c d 7<|  j | d d ƒ | d =|  j d | k d ƒ d | d <|  j | d	 d ƒ | d
 c d 7<|  j | d d ƒ | d =|  j d | k d ƒ d | d d … <|  j | d d … d ƒ | d d … c d 7<|  j | d d … d ƒ | d d … =|  j t d d ƒ | k d ƒ d | d d … d d … f <|  j | d d … d d … f d ƒ | d d … d d … f c d 7<|  j | d d … d d … f d ƒ | d d … d d … f =|  j t d d ƒ t d d ƒ f | k d ƒ d | d d d … <|  j | d d d … d ƒ | d d d … c d 7<|  j | d d d … d ƒ | d d d … =|  j t d d d ƒ | k d ƒ d | d d d … d d d … f <|  j | d d d … d d d … f d ƒ | d d d … d d d … f c d 7<|  j | d d d … d d d … f d ƒ | d d d … d d d … f =|  j t d d d ƒ t d d d ƒ f | k d ƒ d | d <|  j | d d ƒ | d c d 7<|  j | d d ƒ | d =|  j t | k d ƒ d | d <|  j | d d ƒ | d c d 7<|  j | d d ƒ | d =|  j t t f | k d ƒ d  S(   Nc             B   s;   |  Ee  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d S(   c             S   s   i  |  _  d  S(   N(   u   data(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   __init__  s    c             S   s   |  j  t | ƒ S(   N(   u   datau   str(   u   selfu   key(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   __getitem__   s    c             S   s   | |  j  t | ƒ <d  S(   N(   u   datau   str(   u   selfu   keyu   value(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   __setitem__"  s    c             S   s   |  j  t | ƒ =d  S(   N(   u   datau   str(   u   selfu   key(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   __delitem__$  s    c             S   s   t  | ƒ |  j k S(   N(   u   stru   data(   u   selfu   key(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   __contains__&  s    N(   u   __name__u
   __module__u   __init__u   __getitem__u   __setitem__u   __delitem__u   __contains__(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   str_map  s
   
				u   str_mapi   i   i   .F(   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   ..(   ..(   ..(   ..(   ..(   u   objectu   assertEqualu   Falseu   sliceu   Ellipsis(   u   selfu   str_mapu   d(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   test_subscripts  sd    	

&"&."",(,4

c             C   s   d } | d j  d „  t d ƒ Dƒ ƒ ;} |  j t t | d d ƒ d } | d j  d „  t d ƒ Dƒ ƒ ;} t | d d ƒ d  S(	   Nu   def f(%s): passu   , c             s   s   |  ] } d  | | f Vq d S(   u   a%d:%dN(    (   u   .0u   i(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu	   <genexpr>h  s    i   u   ?u   execc             s   s   |  ] } d  | | f Vq d S(   u   a%d:%dN(    (   u   .0u   i(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu	   <genexpr>l  s    iÿ   (   u   joinu   rangeu   assertRaisesu   SyntaxErroru   compile(   u   selfu   s(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   test_annotation_limitb  s    ##c             C   s„   Gd „  d ƒ } |  j  d | j j j k ƒ |  j  d | j j j k ƒ |  j  d | j j j k ƒ |  j  d | j j j k ƒ d  S(   Nc             B   s   |  Ee  Z d  „  Z d S(   c              S   s(   d }  d } d d  l  } d d  l } d  S(   Ni   i   i    (   u   _A__mangled_modu   __package__.module(   u   _A__mangledu   __not_mangled__u   _A__mangled_modu   __package__(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   fq  s    N(   u   __name__u
   __module__u   f(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   Ap  s   
u   Au   _A__mangledu   __not_mangled__u   _A__mangled_modu   __package__(   u   assert_u   fu   __code__u   co_varnames(   u   selfu   A(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   test_manglingo  s
    c             C   sÐ  t  } | j ƒ  j d ƒ o | d  d … } n t | d ƒ j } j ƒ  } z | ~ } | j ƒ  } Wd  | ~ QXd d g d d g d	 d
 g d d g | | g g } xŸ | D]— \ } } t | d | d ƒ } t | d | d t j	 ƒ }	 |  j
 t |	 ƒ t j k ƒ t |	 d | d ƒ }
 |  j | |
 ƒ |  j |
 j d | ƒ qª Wt d d d t j	 ƒ } |  j t t | d d ƒ |  j t t t j ƒ  d d ƒ t j ƒ  }	 t j ƒ  g |	 _ |  j t t |	 d d ƒ d  S(   Nu   pycu   pyoiÿÿÿÿu   ru   <assign>u   x = 5u	   <ifblock>u   if True:
    pass
u
   <forblock>u!   for n in [1, 2, 3]:
    print(n)
u	   <deffunc>u   def foo():
    pass
foo()
u   %s1u   execu   %s2u   %s3u   print(1)u   <string>u   <ast>u   eval(   u   pycu   pyo(   u   __file__u   loweru   endswithu   openu   __exit__u	   __enter__u   readu   compileu   _astu   PyCF_ONLY_ASTu   assert_u   typeu   Moduleu   assertEqualu   co_filenameu   assertRaisesu	   TypeErroru   Ifu   BoolOpu   body(   u   selfu   fnameu   _[2]u   _[1]u   fu	   fcontentsu   sample_codeu   codeu   co1u   astu   co2(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   test_compile_ast|  s0    (				 N(   u   __name__u
   __module__u   test_debug_assignmentu   test_argument_handlingu   test_syntax_erroru   test_none_keyword_argu   test_duplicate_global_localu)   test_exec_with_general_mapping_for_localsu   test_extended_argu   test_argument_orderu   test_float_literalsu   test_indentationu   test_leading_newlinesu!   test_literals_with_leading_zeroesu   test_unary_minusu   sysu   maxsizeu   test_32_63_bit_valuesu   test_sequence_unpacking_erroru   test_none_assignmentu   test_importu   test_for_distinct_code_objectsu   test_subscriptsu   test_annotation_limitu   test_manglingu   test_compile_ast(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   TestSpecifics   s.   
							/						!				/		H		u   TestSpecificsc               C   s   t  j t ƒ d  S(   N(   u   supportu   run_unittestu   TestSpecifics(    (    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu	   test_main   s    u   __main__(	   u   unittestu   sysu   _astu   testu   supportu   TestCaseu   TestSpecificsu	   test_mainu   __name__(    (    (    u.   /mit/python/lib/python3.0/test/test_compile.pyu   <module>   s   ÿ ›	