;
Λβ"Ic            
   @   s+  d  d l  m Z d  d l Z d  d l Z d  d l Z d  d l Z d   Z d e j j d e j j d f Z	 d   Z
 d e
 j j d e
 j j d e
 j j d	 f Z g  d
  Z d e j j d e j j d e j j d	 f Z d Z d Z Gd   d e j  Z d   Z e d k o e   n d S(   i    (   u   run_unittestNc             C   s   t  |   d S(   Ni   (   u   print(   u   a(    (    u*   /mit/python/lib/python3.0/test/test_dis.pyu   _f
   s    
uς    %-4d         0 LOAD_GLOBAL              0 (print)
              3 LOAD_FAST                0 (a)
              6 CALL_FUNCTION            1
              9 POP_TOP

 %-4d        10 LOAD_CONST               1 (1)
             13 RETURN_VALUE
i   i   c              C   s   x t  d d  D] }  q Wd  S(   Ni   i
   (   u   range(   u   res(    (    u*   /mit/python/lib/python3.0/test/test_dis.pyu	   bug708901   s    	 u   %-4d         0 SETUP_LOOP              23 (to 26)
              3 LOAD_GLOBAL              0 (range)
              6 LOAD_CONST               1 (1)

 %-4d         9 LOAD_CONST               2 (10)
             12 CALL_FUNCTION            2
             15 GET_ITER
        >>   16 FOR_ITER                 6 (to 25)
             19 STORE_FAST               0 (res)

 %-4d        22 JUMP_ABSOLUTE           16
        >>   25 POP_BLOCK
        >>   26 LOAD_CONST               0 (None)
             29 RETURN_VALUE
i   c             C   s&   d p t  d   |  D d   d  S(   Ni    c             S   s   g  } |  ] } | | q
 S(    (    (   u   .0u   _[1]u   s(    (    u*   /mit/python/lib/python3.0/test/test_dis.pyu
   <listcomp>4   s    i   (   u   AssertionError(   u   x(    (    u*   /mit/python/lib/python3.0/test/test_dis.pyu
   bug13339823   s    u   %-4d         0 LOAD_CONST               1 (0)
              3 JUMP_IF_TRUE            41 (to 47)
              6 POP_TOP
              7 LOAD_GLOBAL              0 (AssertionError)
             10 BUILD_LIST               0
             13 DUP_TOP
             14 STORE_FAST               1 (_[1])
             17 LOAD_FAST                0 (x)
             20 GET_ITER
        >>   21 FOR_ITER                13 (to 37)
             24 STORE_FAST               2 (s)
             27 LOAD_FAST                1 (_[1])
             30 LOAD_FAST                2 (s)
             33 LIST_APPEND
             34 JUMP_ABSOLUTE           21
        >>   37 DELETE_FAST              1 (_[1])

 %-4d        40 LOAD_CONST               2 (1)
             43 BINARY_ADD
             44 RAISE_VARARGS            2
        >>   47 POP_TOP

 %-4d        48 LOAD_CONST               0 (None)
             51 RETURN_VALUE
u   %3d           0 LOAD_GLOBAL              0 (spam)
              3 POP_TOP
              4 LOAD_CONST               0 (None)
              7 RETURN_VALUE
uΔ   Disassembly of f:
  4           0 LOAD_CONST               0 (None)
              3 RETURN_VALUE

Disassembly of g:
  5           0 LOAD_CONST               0 (None)
              3 RETURN_VALUE

c             B   s_   |  Ee  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z	 d	 S(
   c             C   s΅   t  j   } t j } | t _ t j |  | t _ | j   } | j d  } d   | D } | j d  } d d  l } | | k o* |  j d d j	 | j
 | |    n d  S(   Nu   
c             S   s!   g  } |  ] } | | j    q
 S(    (   u   rstrip(   u   .0u   _[1]u   line(    (    u*   /mit/python/lib/python3.0/test/test_dis.pyu
   <listcomp>r   s    i    u"   events did not match expectation:
(   u   iou   StringIOu   sysu   stdoutu   disu   getvalueu   splitu   difflibu   failu   joinu   ndiff(   u   selfu   funcu   expectedu   su   save_stdoutu   gotu   linesu   difflib(    (    u*   /mit/python/lib/python3.0/test/test_dis.pyu   do_disassembly_testi   s    			c             C   s[   |  j  t j d d  |  j  t j d t j k d  |  j  t j d t j k d  d  S(   Nu	   STOP_CODEi    u
   LOAD_CONSTu
   STORE_NAMET(   u   assertEqualu   disu   opmapu   hasconstu   Trueu   hasname(   u   self(    (    u*   /mit/python/lib/python3.0/test/test_dis.pyu
   test_opmap{   s     c             C   s"   |  j  t j t j d d  d  S(   Nu	   LOAD_FAST(   u   assertEqualu   disu   opnameu   opmap(   u   self(    (    u*   /mit/python/lib/python3.0/test/test_dis.pyu   test_opname   s    c             C   s8   |  j  t j d t j  |  j  t j d t j  d  S(   Nu   EXTENDED_ARGu
   STORE_NAME(   u   assertEqualu   disu   opmapu   EXTENDED_ARGu   HAVE_ARGUMENT(   u   self(    (    u*   /mit/python/lib/python3.0/test/test_dis.pyu   test_boundaries   s    c             C   s   |  j  t t  d  S(   N(   u   do_disassembly_testu   _fu   dis_f(   u   self(    (    u*   /mit/python/lib/python3.0/test/test_dis.pyu   test_dis   s    c             C   s   |  j  t t  d  S(   N(   u   do_disassembly_testu	   bug708901u   dis_bug708901(   u   self(    (    u*   /mit/python/lib/python3.0/test/test_dis.pyu   test_bug_708901   s    c             C   s   d  S(   N(    (   u   self(    (    u*   /mit/python/lib/python3.0/test/test_dis.pyu   test_bug_1333982   s    c             C   s   d   } x; t  d d  D]* } t | d } |  j | |  |  q Wx> t  d d d  D]* } t | d } |  j | |  |  qZ Wd  S(   Nc             S   s<   i  } d d j  d g |  d g  } t | |  | d S(   Nu   def foo():
 u    u   
 u   spam
u   foo(   u   joinu   exec(   u   countu	   namespaceu   func(    (    u*   /mit/python/lib/python3.0/test/test_dis.pyu   func   s    !i   i,  i   i  i
   (   u   rangeu   _BIG_LINENO_FORMATu   do_disassembly_test(   u   selfu   funcu   iu   expected(    (    u*   /mit/python/lib/python3.0/test/test_dis.pyu   test_big_linenos   s    	  c             C   s$   d d l  m } |  j | t  d  S(   Ni    (   u
   dis_module(   u   testu
   dis_moduleu   do_disassembly_testu   dis_module_expected_results(   u   selfu
   dis_module(    (    u*   /mit/python/lib/python3.0/test/test_dis.pyu   test_big_linenos©   s    N(
   u   __name__u
   __module__u   do_disassembly_testu
   test_opmapu   test_opnameu   test_boundariesu   test_disu   test_bug_708901u   test_bug_1333982u   test_big_linenos(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_dis.pyu   DisTestsh   s   
								u   DisTestsc               C   s   t  t  d  S(   N(   u   run_unittestu   DisTests(    (    (    u*   /mit/python/lib/python3.0/test/test_dis.pyu	   test_main­   s    u   __main__(   u   test.supportu   run_unittestu   unittestu   sysu   disu   iou   _fu   __code__u   co_firstlinenou   dis_fu	   bug708901u   dis_bug708901u
   bug1333982u   dis_bug1333982u   _BIG_LINENO_FORMATu   dis_module_expected_resultsu   TestCaseu   DisTestsu	   test_mainu   __name__(    (    (    u*   /mit/python/lib/python3.0/test/test_dis.pyu   <module>   s*   		E	