;
"Ic               @   sk  d  d l  m Z d  d l Z d  d l Z d  d l Z d  d l Z d   Z dH dI dJ g e _ d   Z dK dL dM dN dO g e _ d   Z	 dP dQ dR dS dT g e	 _ d   Z
 dU dV dW dX dY dZ d[ d\ d] d^ g
 e
 _ d   Z d_ d` da db dc g e _ d   Z d   Z dd de df dg dh di g e _ d   Z d   Z dj dk dl dm dn do dp dq dr ds dt g e _ d   Z d   Z du g e _ d   Z d   Z dv dw dx dy g e _ d   Z dz d{ d| d} d~ d d g e _ d   Z d d d d d d d d d d d d d g e _ d   Z d d d d d d d d d d d d g e _ d    Z d!   Z d d d d d d d d d d g
 d d g d& d d g e _ Gd'   d(  Z Gd)   d* e j  Z Gd+   d, e j  Z Gd-   d.  Z d/   Z d e _ d g e _  d0   Z! d e! _ d d d	 g e! _  d1   Z" d e" _ d	 d
 g e" _  d2   Z# d e# _ d d d
 d d d
 d d g e# _  d3   Z$ d e$ _ d g e$ _  d4   Z% d e% _ d d	 d g e% _  d5   Z& d e& _ d	 d6 g e& _  d7   Z' d e' _ d	 d g e' _  d8   Z) d e) _ d	 d g e) _  d9   Z* d e* _ d g e* _  d:   Z+ d e+ _ d g e+ _  d;   Z, d e, _ d g e, _  d<   Z- d e- _ d g e- _  d=   Z. d e. _ d g e. _  d>   Z/ d e/ _ d d d g e/ _  d?   Z0 d e0 _ d d d g e0 _  d@   Z1 d e1 _ d d g e1 _  dA   Z2 d e2 _ d g e2 _  dC   Z3 GdD   dE e j  Z4 dF   Z5 e6 dG k o e5   n d S(   i    (   u   supportNc               C   s   d S(   Ni   (    (    (    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   basic
   s    u   calli   u   lineu   returnc              C   s   d }  ~  d }  d  S(   Ni   (    (   u   x(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   arigo_example   s    i   i   c              C   s   d }  ~  d }  d  S(   Ni   (    (   u   x(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   one_instr_line(   s    i   c              C   s8   d }  x+ t  d  D] } | o
 d }  q d }  q Wd  S(   Ni   i   (   u   range(   u   xu   a(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   no_pop_tops3   s     
i   i   c              C   s#   d }  x |  p t  q	 Wd } d  S(   Ni   (   u   bla(   u   yu   x(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   no_pop_blocksF   s
     	c              C   s
   d }  d  S(   Ni   (    (   u   x(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   calledR   s    c               C   s   t    d  S(   N(   u   called(    (    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   callU   s    iic               C   s
   t   d  S(   N(   u	   Exception(    (    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   raises_   s    c              C   s?   y t    Wn- t k
 o! }  z d } WYd  d  }  ~  Xn Xd  S(   Ni   (   u   raisesu	   Exception(   u   excu   x(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu
   test_raiseb   s    u	   exceptionc             C   s#   t  j |   |  t  j   j _ d  S(   N(   u   sysu   settraceu	   _getframeu   f_backu   f_trace(   u	   tracefunc(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   _settrace_and_returnt   s    c             C   s   t  |   d  S(   N(   u   _settrace_and_return(   u	   tracefunc(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   settrace_and_returnw   s    c             C   s)   t  j |   |  t  j   j _ t  d  S(   N(   u   sysu   settraceu	   _getframeu   f_backu   f_traceu   RuntimeError(   u	   tracefunc(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   _settrace_and_raise|   s    c             C   s<   y t  |   Wn' t k
 o } z WYd  d  } ~ Xn Xd  S(   N(   u   _settrace_and_raiseu   RuntimeError(   u	   tracefuncu   exc(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   settrace_and_raise   s    c              C   s+   d }  d } |  | k o |  d } n d  S(   Ni   i   (    (   u   au   b(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   ireturn_example   s
    c              C   sN   t  d d  }  y$ d } x |  | } | d 7} q Wn t k
 o Yn Xd  S(   Ni    i   i   (   u   rangeu
   IndexError(   u   itemsu   iu   b(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   tightloop_example   s    
 i   c              C   sD   t  d d  }  y d } x |  | } q Wn t k
 o Yn Xd  S(   Ni   i   i    (   u   rangeu
   IndexError(   u   itemsu   i(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   tighterloop_example   s     c               c   s   z	 d VWd  Xd  S(   NT(   u   True(    (    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   generator_function   s    c              C   s0   t  t    }  x t d  D] }  |  } q Wd  S(   Ni
   (   u   anyu   generator_functionu   range(   u   xu   y(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   generator_example   s     iiiii
   c             B   s)   |  Ee  Z d    Z d   Z d   Z d S(   c             C   s   g  |  _  d  S(   N(   u   events(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   __init__   s    c             C   s    |  j  j | j | f  |  j S(   N(   u   eventsu   appendu   f_linenou   trace(   u   selfu   frameu   eventu   arg(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   trace   s    c             C   s1   d   d g D |  j  j | j | f  |  j S(   Nc             s   s   |  ] } | Vq d  S(   N(    (   u   .0u   o(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu	   <genexpr>   s    i   (   u   eventsu   appendu   f_linenou   trace(   u   selfu   frameu   eventu   arg(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   traceWithGenexp   s    N(   u   __name__u
   __module__u   __init__u   traceu   traceWithGenexp(   u
   __locals__(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   Tracer   s   
		u   Tracerc             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 d   Z d   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   d  S(   N(   u   gcu	   isenabledu   using_gcu   disable(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   setUp   s    c             C   s   |  j  o t j   n d  S(   N(   u   using_gcu   gcu   enable(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   tearDown   s    
c                se     f d   | D } | | k o> |  j  d d j t j d   | D d   | D    n d  S(   Nc                s+   g  } |  ] \ } } | |   | f q
 S(    (    (   u   .0u   _[1]u   lu   e(   u   line_offset(    u,   /mit/python/lib/python3.0/test/test_trace.pyu
   <listcomp>  s    u"   events did not match expectation:
u   
c             S   s!   g  } |  ] } | t  |  q
 S(    (   u   str(   u   .0u   _[1]u   x(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu
   <listcomp>  s    c             S   s!   g  } |  ] } | t  |  q
 S(    (   u   str(   u   .0u   _[1]u   x(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu
   <listcomp>	  s    (   u   failu   joinu   difflibu   ndiff(   u   selfu   line_offsetu   eventsu   expected_events(    (   u   line_offsetu,   /mit/python/lib/python3.0/test/test_trace.pyu   compare_events  s    c             C   sM   t    } t j | j  |   t j d   |  j | j j | j |  d  S(   N(	   u   Traceru   sysu   settraceu   traceu   Noneu   compare_eventsu   __code__u   co_firstlinenou   events(   u   selfu   funcu   eventsu   tracer(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   run_and_compare  s    	c             C   s   |  j  | | j  d  S(   N(   u   run_and_compareu   events(   u   selfu   func(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   run_test  s    c             C   sF   t    } | | j  t j d   |  j | j j | j | j  d  S(   N(	   u   Traceru   traceu   sysu   settraceu   Noneu   compare_eventsu   __code__u   co_firstlinenou   events(   u   selfu   funcu   tracer(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu	   run_test2  s
    	c             C   s+   t  j d   t  j   d  k p t  d  S(   N(   u   sysu   settraceu   Noneu   gettraceu   AssertionError(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   set_and_retrieve_none  s    c          	   C   sI   d   } t  j |  z t  j   | k p t  Wd  t  j d   Xd  S(   Nc              W   s   d  S(   N(    (   u   args(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   fn"  s    (   u   sysu   settraceu   gettraceu   AssertionErroru   None(   u   selfu   fn(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   set_and_retrieve_func!  s
    	c             C   s   |  j  t  d  S(   N(   u   run_testu   basic(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   test_01_basic+  s    c             C   s   |  j  t  d  S(   N(   u   run_testu   arigo_example(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   test_02_arigo-  s    c             C   s   |  j  t  d  S(   N(   u   run_testu   one_instr_line(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   test_03_one_instr/  s    c             C   s   |  j  t  d  S(   N(   u   run_testu   no_pop_blocks(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   test_04_no_pop_blocks1  s    c             C   s   |  j  t  d  S(   N(   u   run_testu   no_pop_tops(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   test_05_no_pop_tops3  s    c             C   s   |  j  t  d  S(   N(   u   run_testu   call(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   test_06_call5  s    c             C   s   |  j  t  d  S(   N(   u   run_testu
   test_raise(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   test_07_raise7  s    c             C   s   |  j  t  d  S(   N(   u	   run_test2u   settrace_and_return(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   test_08_settrace_and_return:  s    c             C   s   |  j  t  d  S(   N(   u	   run_test2u   settrace_and_raise(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   test_09_settrace_and_raise<  s    c             C   s   |  j  t  d  S(   N(   u   run_testu   ireturn_example(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   test_10_ireturn>  s    c             C   s   |  j  t  d  S(   N(   u   run_testu   tightloop_example(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   test_11_tightloop@  s    c             C   s   |  j  t  d  S(   N(   u   run_testu   tighterloop_example(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   test_12_tighterloopB  s    c             C   s]   |  j  t  t   } t j | j  t   t j d   |  j t j j	 | j
 t j
  d  S(   N(   u   run_testu   generator_exampleu   Traceru   sysu   settraceu   traceWithGenexpu   Noneu   compare_eventsu   __code__u   co_firstlinenou   events(   u   selfu   tracer(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   test_13_genexpE  s    	c             C   s)   d   } |  j  | d d	 d
 d g  d  S(   Nc               S   s   d d S(   Ni    F(   u   False(    (    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   onlinersS  s    i    u   calli   u   linei   u   return(   i    u   call(   i   u   line(   i   u   line(   i   u   return(   u   run_and_compare(   u   selfu   onliners(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   test_14_onliner_ifR  s    	c             C   sc   d   } |  j  | d d d d d d d g  d   } |  j  | d d d d d d d d g  d  S(   Nc              S   s   x t  d  D] }  q Wd  S(   Ni   (   u   range(   u   x(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   for_example`  s     i    u   calli   u   linei   u   returnc              S   s)   d }  x |  d k o |  d 8}  q	 Wd  S(   Ni   i    i   (    (   u   x(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   while_examplem  s     i   i   (   i    u   call(   i   u   line(   i   u   line(   i   u   line(   i   u   line(   i   u   line(   i   u   return(   i    u   call(   i   u   line(   i   u   line(   i   u   line(   i   u   line(   i   u   line(   i   u   line(   i   u   return(   u   run_and_compare(   u   selfu   for_exampleu   while_example(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   test_15_loops^  s*    	
	c             C   s@   i  } t  d d d d |  |  j | d d d d g  d  S(   Nu	   def f():
u   
i   u       passu   fi    u   calli  u   lineu   return(   i    u   call(   i  u   line(   i  u   return(   u   execu   run_and_compare(   u   selfu	   namespace(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   test_16_blank_lines}  s    N(   u   __name__u
   __module__u   setUpu   tearDownu   compare_eventsu   run_and_compareu   run_testu	   run_test2u   set_and_retrieve_noneu   set_and_retrieve_funcu   test_01_basicu   test_02_arigou   test_03_one_instru   test_04_no_pop_blocksu   test_05_no_pop_topsu   test_06_callu   test_07_raiseu   test_08_settrace_and_returnu   test_09_settrace_and_raiseu   test_10_ireturnu   test_11_tightloopu   test_12_tighterloopu   test_13_genexpu   test_14_onliner_ifu   test_15_loopsu   test_16_blank_lines(   u
   __locals__(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   TraceTestCase   s0   
								
															u   TraceTestCasec             B   sV   |  Ee  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d S(	   c             C   s%   | |  j  k o
 t  n |  j Sd S(   uX   A trace function that raises an exception in response to a
        specific trace event.N(   u   raiseOnEventu
   ValueErroru   trace(   u   selfu   frameu   eventu   arg(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   trace  s    
c             C   s,   |  j  d k o d } d | } n d Sd S(   u   The function to trace; raises an exception if that's the case
        we're testing, so that the 'exception' trace event fires.u	   exceptioni    i   N(   u   raiseOnEvent(   u   selfu   xu   y(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   f  s    c             C   s   | |  _  yg x` t t j   d  D]H } t j |  j  y |  j   Wn t k
 o Yq# X|  j d  q# WWn! t	 k
 o |  j d  Yn Xd S(   uT   Tests that an exception raised in response to the given event is
        handled OK.i   u   exception not thrown!u   recursion counter not resetN(
   u   raiseOnEventu   rangeu   sysu   getrecursionlimitu   settraceu   traceu   fu
   ValueErroru   failu   RuntimeError(   u   selfu   eventu   i(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   run_test_for_event  s    	 c             C   s   |  j  d  d  S(   Nu   call(   u   run_test_for_event(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu	   test_call  s    c             C   s   |  j  d  d  S(   Nu   line(   u   run_test_for_event(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu	   test_line  s    c             C   s   |  j  d  d  S(   Nu   return(   u   run_test_for_event(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   test_return  s    c             C   s   |  j  d  d  S(   Nu	   exception(   u   run_test_for_event(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   test_exception  s    c                sq   d       f d     t  j    y    Wn* t k
 o d d  l } | j   Yn X|  j d  d  S(   Nc              S   s%   x t  d  D] }  t |   q Wd  S(   Ni   (   u   rangeu   print(   u   i(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   f  s     c                s;   | d k o* |  j   j j d k o t d   n   S(   Nu   linei   u   i am crashing(   u   f_linenou   __code__u   co_firstlinenou   RuntimeError(   u   frameu   whyu   extra(   u   gu   f(    u,   /mit/python/lib/python3.0/test/test_trace.pyu   g  s    i    u   exception not propagated(   u   sysu   settraceu   RuntimeErroru   gcu   collectu   fail(   u   selfu   gc(    (   u   gu   fu,   /mit/python/lib/python3.0/test/test_trace.pyu   test_trash_stack  s    	N(
   u   __name__u
   __module__u   traceu   fu   run_test_for_eventu	   test_callu	   test_lineu   test_returnu   test_exceptionu   test_trash_stack(   u
   __locals__(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   RaisingTraceFuncTestCase  s   
								u   RaisingTraceFuncTestCasec             B   s&   |  Ee  Z d  Z d   Z d   Z d S(   u   Defines a trace function that jumps from one place to another,
    with the source and destination lines of the jump being defined by
    the 'jump' property of the function under test.c             C   s6   | |  _  | j d |  _ | j d |  _ d |  _ d  S(   Ni    i   F(   u   functionu   jumpu   jumpFromu   jumpTou   Falseu   done(   u   selfu   function(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   __init__  s    	c             C   s   |  j  o | j |  j j k ok | j j } | j | |  j k oD y | |  j | _ Wn  t k
 o |  j | _ Yn Xd |  _  q n |  j
 S(   NT(   u   doneu   f_codeu   functionu   __code__u   co_firstlinenou   f_linenou   jumpFromu   jumpTou	   TypeErroru   Trueu   trace(   u   selfu   frameu   eventu   argu	   firstLine(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   trace  s    !N(   u   __name__u
   __module__u   __doc__u   __init__u   trace(   u
   __locals__(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu
   JumpTracer  s   
	u
   JumpTracerc             C   s+   |  j  d  |  j  d  |  j  d  d  S(   Ni   i   i   (   u   append(   u   output(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   jump_simple_forwards  s    c             C   s   |  j  d  |  j  d  d  S(   Ni   i   (   u   append(   u   output(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   jump_simple_backwards  s    c             C   sP   x< d D]4 } |  j  d  x d g D] } |  j  d  q$ Wq W|  j  d  d  S(   Ni   i   i   i   i   (   i   i   (   u   append(   u   outputu   iu   j(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   jump_out_of_block_forwards  s     
 c             C   sm   |  j  d  xL d g D]A } |  j  d  x d g D] } |  j  d  q4 W|  j  d  q W|  j  d  d  S(   Ni   i   i   i   i   i   (   u   append(   u   outputu   iu   j(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   jump_out_of_block_backwards   s    
 
 c             C   s   |  j  d  |  j  d  d  S(   Ni   i   (   u   append(   u   output(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   jump_to_codeless_line  s    c             C   s+   |  j  d  |  j  d  |  j  d  d  S(   Ni   i   i   (   u   append(   u   output(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   jump_to_same_line  s    c             C   sU   z |  j  d  Wd  |  j  d  z |  j  d  Wd  |  j  d  X|  j  d  Xd  S(   Ni   i   i   i   i	   (   u   append(   u   output(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   jump_in_nested_finally  s    i	   c             C   se   y |  j  d  |  j  d  Wn@ t k
 o4 } z |  j  d t |  k  WYd  d  } ~ Xn Xd  S(   Ni   i   u   after(   u   appendu
   ValueErroru   str(   u   outputu   e(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   no_jump_too_far_forwards-  s
    c             C   se   y |  j  d  |  j  d  Wn@ t k
 o4 } z |  j  d t |  k  WYd  d  } ~ Xn Xd  S(   Ni   i   u   before(   u   appendu
   ValueErroru   str(   u   outputu   e(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   no_jump_too_far_backwards7  s
    c             C   sI   y |  j  d  Wn1 t j   d } |  j  d t |  k  Yn Xd  S(   Ni   i   u   except(   u   appendu   sysu   exc_infou   str(   u   outputu   e(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   no_jump_to_except_1B  s
    c             C   sU   y |  j  d  Wn= t k
 o1 t j   d } |  j  d t |  k  Yn Xd  S(   Ni   i   u   except(   u   appendu
   ValueErroru   sysu   exc_infou   str(   u   outputu   e(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   no_jump_to_except_2L  s
    c             C   sX   y |  j  d  Wn@ t k
 o4 } z |  j  d t |  k  WYd  d  } ~ Xn Xd  S(   Ni   u   except(   u   appendu
   ValueErroru   str(   u   outputu   e(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   no_jump_to_except_3V  s    c             C   s^   y |  j  d  WnF t t f k
 o4 } z |  j  d t |  k  WYd  d  } ~ Xn Xd  S(   Ni   u   except(   u   appendu
   ValueErroru   RuntimeErroru   str(   u   outputu   e(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   no_jump_to_except_4_  s    c             C   sv   y/ |  j  d  x d D] } |  j  d  q WWn@ t k
 o4 } z |  j  d t |  k  WYd  d  } ~ Xn Xd  S(   Ni   i   i   u   into(   i   i   (   u   appendu
   ValueErroru   str(   u   outputu   iu   e(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   no_jump_forwards_into_blockh  s     c             C   sv   y/ x d D] } |  j  d  q
 W|  j  d  Wn@ t k
 o4 } z |  j  d t |  k  WYd  d  } ~ Xn Xd  S(   Ni   i   i   i   u   into(   i   i   (   u   appendu
   ValueErroru   str(   u   outputu   iu   e(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   no_jump_backwards_into_blocks  s     c             C   ss   y, z |  j  d  d } Wd  |  j  d  XWn@ t k
 o4 } z |  j  d t |  k  WYd  d  } ~ Xn Xd  S(   Ni   i   i   u   finally(   u   appendu
   ValueErroru   str(   u   outputu   xu   e(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   no_jump_into_finally_block~  s    
c             C   sz   y3 z |  j  d  Wd  |  j  d  |  j  d  XWn@ t k
 o4 } z |  j  d t |  k  WYd  d  } ~ Xn Xd  S(   Ni   i   i   u   finally(   u   appendu
   ValueErroru   str(   u   outputu   e(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   no_jump_out_of_finally_block  s    c             C   sX   y |  j  d  Wn@ t k
 o4 } z |  j  d t |  k  WYd  d  } ~ Xn Xd  S(   Ni   u   integer(   u   appendu
   ValueErroru   str(   u   outputu   e(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   no_jump_to_non_integers  s    u   Spamc              C   ss   y t  j   j }  |  j |  _ WnA t k
 o5 } z d t |  k o   n WYd  d  } ~ Xn Xt d   d  S(   Nu   traceu'   Trace-function-less jump failed to fail(   u   sysu	   _getframeu   f_backu   f_linenou
   ValueErroru   stru   RuntimeError(   u   previous_frameu   e(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   no_jump_without_trace_function  s    c             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 d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d S(   c             C   sB   | | k o1 |  j  d d t |  d d t |   n d  S(   Nu   Outputs don't match:
u
   Expected: u   
u
   Received: (   u   failu   repr(   u   selfu   expectedu   received(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   compare_jump_output  s    c             C   sP   t  |  } t j | j  g  } | |  t j d   |  j | j |  d  S(   N(   u
   JumpTraceru   sysu   settraceu   traceu   Noneu   compare_jump_outputu   output(   u   selfu   funcu   traceru   output(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   run_test  s    
c             C   s   |  j  t  d  S(   N(   u   run_testu   jump_simple_forwards(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   test_01_jump_simple_forwards  s    c             C   s   |  j  t  d  S(   N(   u   run_testu   jump_simple_backwards(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   test_02_jump_simple_backwards  s    c             C   s   |  j  t  d  S(   N(   u   run_testu   jump_out_of_block_forwards(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu"   test_03_jump_out_of_block_forwards  s    c             C   s   |  j  t  d  S(   N(   u   run_testu   jump_out_of_block_backwards(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu#   test_04_jump_out_of_block_backwards  s    c             C   s   |  j  t  d  S(   N(   u   run_testu   jump_to_codeless_line(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   test_05_jump_to_codeless_line  s    c             C   s   |  j  t  d  S(   N(   u   run_testu   jump_to_same_line(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   test_06_jump_to_same_line  s    c             C   s   |  j  t  d  S(   N(   u   run_testu   jump_in_nested_finally(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   test_07_jump_in_nested_finally  s    c             C   s   |  j  t  d  S(   N(   u   run_testu   no_jump_too_far_forwards(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu    test_08_no_jump_too_far_forwards  s    c             C   s   |  j  t  d  S(   N(   u   run_testu   no_jump_too_far_backwards(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu!   test_09_no_jump_too_far_backwards  s    c             C   s   |  j  t  d  S(   N(   u   run_testu   no_jump_to_except_1(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   test_10_no_jump_to_except_1  s    c             C   s   |  j  t  d  S(   N(   u   run_testu   no_jump_to_except_2(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   test_11_no_jump_to_except_2  s    c             C   s   |  j  t  d  S(   N(   u   run_testu   no_jump_to_except_3(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   test_12_no_jump_to_except_3  s    c             C   s   |  j  t  d  S(   N(   u   run_testu   no_jump_to_except_4(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   test_13_no_jump_to_except_4  s    c             C   s   |  j  t  d  S(   N(   u   run_testu   no_jump_forwards_into_block(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu#   test_14_no_jump_forwards_into_block  s    c             C   s   |  j  t  d  S(   N(   u   run_testu   no_jump_backwards_into_block(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu$   test_15_no_jump_backwards_into_block  s    c             C   s   |  j  t  d  S(   N(   u   run_testu   no_jump_into_finally_block(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu"   test_16_no_jump_into_finally_block  s    c             C   s   |  j  t  d  S(   N(   u   run_testu   no_jump_out_of_finally_block(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu$   test_17_no_jump_out_of_finally_block  s    c             C   s   |  j  t  d  S(   N(   u   run_testu   no_jump_to_non_integers(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   test_18_no_jump_to_non_integers  s    c             C   s   t    d  S(   N(   u   no_jump_without_trace_function(   u   self(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu&   test_19_no_jump_without_trace_function  s    N(   u   __name__u
   __module__u   compare_jump_outputu   run_testu   test_01_jump_simple_forwardsu   test_02_jump_simple_backwardsu"   test_03_jump_out_of_block_forwardsu#   test_04_jump_out_of_block_backwardsu   test_05_jump_to_codeless_lineu   test_06_jump_to_same_lineu   test_07_jump_in_nested_finallyu    test_08_no_jump_too_far_forwardsu!   test_09_no_jump_too_far_backwardsu   test_10_no_jump_to_except_1u   test_11_no_jump_to_except_2u   test_12_no_jump_to_except_3u   test_13_no_jump_to_except_4u#   test_14_no_jump_forwards_into_blocku$   test_15_no_jump_backwards_into_blocku"   test_16_no_jump_into_finally_blocku$   test_17_no_jump_out_of_finally_blocku   test_18_no_jump_to_non_integersu&   test_19_no_jump_without_trace_function(   u
   __locals__(    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   JumpTestCase  s*   
																				u   JumpTestCasec               C   s   t  j t t t  d  S(   N(   u   supportu   run_unittestu   TraceTestCaseu   RaisingTraceFuncTestCaseu   JumpTestCase(    (    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu	   test_main  s    u   __main__(   i    u   call(   i   u   line(   i   u   return(   i    u   call(   i   u   line(   i   u   line(   i   u   line(   i   u   return(   i    u   call(   i   u   line(   i   u   line(   i   u   line(   i   u   return(   i    u   call(   i   u   line(   i   u   line(   i   u   line(   i   u   line(   i   u   line(   i   u   line(   i   u   line(   i   u   line(   i   u   return(   i    u   call(   i   u   line(   i   u   line(   i   u   line(   i   u   return(   i    u   call(   i   u   line(   iu   call(   iu   line(   iu   return(   i   u   return(   i    u   call(   i   u   line(   i   u   line(   iu   call(   iu   line(   iu	   exception(   iu   return(   i   u	   exception(   i   u   line(   i   u   line(   i   u   return(   i   u   return(   i   u	   exception(   i   u   line(   i   u   line(   i   u   return(   i    u   call(   i   u   line(   i   u   line(   i   u   line(   i   u   line(   i   u   line(   i   u   return(   i    u   call(   i   u   line(   i   u   line(   i   u   line(   i   u   line(   i   u   line(   i   u   line(   i   u   line(   i   u   line(   i   u	   exception(   i   u   line(   i   u   line(   i   u   return(   i    u   call(   i   u   line(   i   u   line(   i   u   line(   i   u   line(   i   u   line(   i   u   line(   i   u   line(   i   u	   exception(   i   u   line(   i   u   line(   i   u   return(   i    u   call(   i   u   line(   iu   call(   iu   line(   iu   line(   iu   return(   iu   call(   iu	   exception(   iu   line(   iu   return(   i   u   line(   i   u   line(   i   u   line(   i   u   return(   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i	   (   i   i   T(   i   i(   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   u   Spam(7   u   testu   supportu   unittestu   sysu   difflibu   gcu   basicu   eventsu   arigo_exampleu   one_instr_lineu   no_pop_topsu   no_pop_blocksu   calledu   callu   raisesu
   test_raiseu   _settrace_and_returnu   settrace_and_returnu   _settrace_and_raiseu   settrace_and_raiseu   ireturn_exampleu   tightloop_exampleu   tighterloop_exampleu   generator_functionu   generator_exampleu   Traceru   TestCaseu   TraceTestCaseu   RaisingTraceFuncTestCaseu
   JumpTraceru   jump_simple_forwardsu   jumpu   outputu   jump_simple_backwardsu   jump_out_of_block_forwardsu   jump_out_of_block_backwardsu   jump_to_codeless_lineu   jump_to_same_lineu   jump_in_nested_finallyu   no_jump_too_far_forwardsu   Trueu   no_jump_too_far_backwardsu   no_jump_to_except_1u   no_jump_to_except_2u   no_jump_to_except_3u   no_jump_to_except_4u   no_jump_forwards_into_blocku   no_jump_backwards_into_blocku   no_jump_into_finally_blocku   no_jump_out_of_finally_blocku   no_jump_to_non_integersu   no_jump_without_trace_functionu   JumpTestCaseu	   test_mainu   __name__(    (    (    u,   /mit/python/lib/python3.0/test/test_trace.pyu   <module>   sR  													
						/F									!																							
		
				6	