
    6\hR                     T   d dl Z d dlmZ d dlZd dlmZmZ d dlmZm	Z	m
Z
 d dlmZmZ d dlZd dlZd dlZd dlmZ d dlm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! G d de"          Z# G d dej$                  Z% G d dej$                  Z& G d dej$                  Z' G d dej$                  Z( G d  d!ej$                  Z) G d" d#ej$                  Z* G d$ d%ej$                  Z+ G d& d'ej$                  Z,e-d(k    r ej.                     dS dS ))    N)dump)captured_stdoutrequires_resource)TESTFNrmtreeunlinkassert_python_okassert_python_failure)Trace)testmodc                 F    	 |                      d          r
| d d         } | S )Nz.pyc)endswith)filenames    9/opt/python-3.11.14/usr/lib/python3.11/test/test_trace.py
fix_ext_pyr      s-    B   !CRC=O    c                      	 t           j                            t           j                            t                              d         } t          t                    | fS )Nr   )ospathsplitextbasename__file__r   )modnames    r   my_file_and_modnamer      sB    >grw//99::1=Gh((r   c                     | j         j        S N)__code__co_firstlinenofuncs    r   get_firstlinenor#   !   s    =''r   c                     | }|}||z   }|S r    )xyabcs        r   traced_func_linearr+   +   s    	A	A	AAHr   c                 8    | }t          d          D ]}||z  }|S N   range)r&   r'   r*   is       r   traced_func_loopr2   1   s,    	A1XX  	QHr   c                 6    | |z   t          j        d          z   S )N   )r   r"   )r&   r'   s     r   traced_func_importingr5   7   s    q57<??""r   c                 ,    t          | |           }|| z   S r   r+   )r&   r*   s     r   traced_func_simple_callerr8   :   s    1a  Aq5Lr   c                 J    t          |           }|t          ||           z  }|S r   )r8   r5   )r&   ks     r   traced_func_importing_callerr;   >   s)    !!$$A	q!	$	$$AHr   c              #   @   K   d}t          |           D ]	}||z   V  
d S r-   r/   )numr*   r1   s      r   traced_func_generatorr>   C   s9      	A3ZZ  !e r   c                  8    d} t          d          D ]}| |z  } d S )Nr   
   )r>   )r:   r1   s     r   traced_func_calling_generatorrA   H   s3    	A"2&&  	Q r   c                     | dz  S N   r%   )r=   s    r   traced_doublerrE   M   s    7Nr   c                  
    | |fS r   r%   )argskwargss     r   traced_capturerrI   P   s    <r   c                  <    d} d t          |           D             }|S )Nr@   c                 ,    g | ]}t          |          S r%   )rE   ).0r1   s     r   
<listcomp>z4traced_caller_list_comprehension.<locals>.<listcomp>U   s     222AnQ222r   r/   )r:   mylists     r    traced_caller_list_comprehensionrO   S   s%    
A22q222FMr   c                  \    d } d }|  |            d                         } |             d S )Nc                     | S r   r%   fs    r   
decorator1z-traced_decorated_function.<locals>.decorator1Y   s    r   c                      d } | S )Nc                     | S r   r%   rR   s    r   
decorator2zGtraced_decorated_function.<locals>.decorator_fabric.<locals>.decorator2\   s    Hr   r%   rW   s    r   decorator_fabricz3traced_decorated_function.<locals>.decorator_fabric[   s    	 	 	r   c                      d S r   r%   r%   r   r   r"   z'traced_decorated_function.<locals>.func_   s	     	r   r%   )rT   rY   r"   s      r   traced_decorated_functionr[   X   s^            ZDFFFFFr   c                   L    e Zd Zd Zd Zd Zed             Zed             Z	dS )TracedClassc                     || _         d S r   r(   )selfr&   s     r   __init__zTracedClass.__init__g   s    r   c                     | j         |z   S r   r_   )r`   r'   s     r   inst_method_linearzTracedClass.inst_method_linearj   s    vzr   c                 R    |                      |          }|t          ||          z   S r   )rc   r+   )r`   r&   r*   s      r   inst_method_callingzTracedClass.inst_method_callingm   s+    ##A&&%a++++r   c                     |dz  S rC   r%   )clsr'   s     r   class_method_linearzTracedClass.class_method_linearq       1ur   c                     | dz  S rC   r%   )r'   s    r   static_method_linearz TracedClass.static_method_linearu   ri   r   N)
__name__
__module____qualname__ra   rc   re   classmethodrh   staticmethodrk   r%   r   r   r]   r]   f   sw            , , ,   [   \  r   r]   c                   @    e Zd Z	 d Zd Zd Zd Zd Zd Zd Z	d Z
d	S )
TestLineCountsc                     |                      t          j        t          j                               t	          dddd          | _        t          t                    | _        d S )Nr4   r   counttrace
countfuncscountcallers)	
addCleanupsyssettracegettracer   tracerr   r   my_py_filenamer`   s    r   setUpzTestLineCounts.setUp   sL    clnn555!1KKK(22r   c                 H   | j                             t          dd          }|                     |d           i }t	          t                    }t          dd          D ]}d|| j        ||z   f<   |                     | j                                         j        |           d S )NrD   r.      r4   )	r}   runfuncr+   assertEqualr#   r0   r~   resultscounts)r`   resultexpectedfirstlinenor1   s        r   test_traced_func_linearz&TestLineCounts.test_traced_func_linear   s    $$%7A>>### %&899q! 	B 	BA@AHd);!+;<==,,..5x@@@@@r   c           	      8   | j                             t          dd           t          t                    }| j        |dz   fd| j        |dz   fd| j        |dz   fd| j        |dz   fdi}|                     | j                                         j        |           d S )NrD      r4      r.      )r}   r   r2   r#   r~   r   r   r   r`   r   r   s      r   test_traced_func_loopz$TestLineCounts.test_traced_func_loop   s    ,a333%&677 +/2A +/2A +/2A +/2A	
 	,,..5x@@@@@r   c                 \   | j                             t          dd           t          t                    }| j        |dz   fdt          t          j                  dfdt          t          j                  dfdi}|                     | j         	                                j
        |           d S )NrD   r.   r4   r   )r}   r   r5   r#   r~   r   r   r   r   r   r   r   s      r   test_traced_func_importingz)TestLineCounts.test_traced_func_importing   s    11a888%&;<< +/2A())1-q())1-q
 	,,..5x@@@@@r   c                    | j                             t                     t          t                    }t          t                    }| j        |dz   fd| j        |dz   fd| j        |dz   fd| j        |dz   fd| j        |dz   fd| j        |dz   fdi}|                     | j                                         j        |           d S )Nr4   rD      r   r@   )	r}   r   rA   r#   r>   r~   r   r   r   )r`   firstlineno_callingfirstlineno_genr   s       r   test_trace_func_generatorz(TestLineCounts.test_trace_func_generator   s    9:::-.KLL)*?@@ "5"9:A "5"9:B "5"9:B /A"56 /A"56 /A"56
 	,,..5x@@@@@r   c           	      \   | j                             t                     t          t                    }t          t                    }| j        |dz   fd| j        |dz   fd| j        |dz   fd| j        |dz   fdi}|                     | j                                         j        |           d S )Nr4   rD      r   r@   )	r}   r   rO   r#   rE   r~   r   r   r   )r`   r   firstlineno_calledr   s       r   test_trace_list_comprehensionz,TestLineCounts.test_trace_list_comprehension   s    <===-.NOO,^<< "5"9:A  "5"9:B "5"9:A "4q"892
 	,,..5x@@@@@r   c                    | j                             t                     t          t                    }| j        |dz   fd| j        |dz   fd| j        |dz   fd| j        |dz   fd| j        |dz   fd| j        |dz   fd| j        |dz   fd| j        |dz   fd| j        |d	z   fd| j        |d
z   fd| j        |dz   fdi}|                     | j                                         j        |           d S )Nr4   rD   r   r   r.   r   r      	   r@   r   )r}   r   r[   r#   r~   r   r   r   r   s      r   test_traced_decorated_functionz-TestLineCounts.test_traced_decorated_function   s   5666%&?@@ +/2A +/2A +/2A +/2A +/2A +/2A +/2A +/2A +/2A +"23Q +"23Q
 	,,..5x@@@@@r   c                 4   dD ]}t          dddd          }t          d          }t          ||          }|                    |d           t	          |          }| j        |dz   fdi}|                     |                                j        |           d S )N)rc   r4   r   rt         )	r   r]   getattrr   r#   r~   r   r   r   )r`   methnamer}   
traced_objmethodr   r   s          r   test_linear_methodsz"TestLineCounts.test_linear_methods   s     0 
	@ 
	@H!JJJF$RJZ22FNN62&&&)&11K$kAo6H V^^--4h????
	@ 
	@r   N)rl   rm   rn   r   r   r   r   r   r   r   r   r%   r   r   rr   rr   }   s        93 3 3

A 
A 
A
A 
A 
A
A 
A 
AA A AA A AA A A&@ @ @ @ @r   rr   c                       e Zd Z	 d Zd ZdS )TestRunExecCountsc                     t          t                    | _        |                     t          j        t	          j                               d S r   )r   r   r~   ry   rz   r{   r|   r   s    r   r   zTestRunExecCounts.setUp   s4    (22clnn55555r   c           	         t          dddd          | _        d}t          |t          d          }| j                            |t                      t                                 t          t                    }| j	        |dz   fd| j	        |dz   fd| j	        |dz   fd	| j	        |d
z   fdi}|
                                D ]@}|                     | j                                        j        |         ||                    Ad S )Nr4   r   rt   ztraced_func_loop(2, 5)execrD   r   r   r.   r   )r   r}   compiler   runctxglobalsvarsr#   r2   r~   keysr   r   r   )r`   coder   r   r:   s        r   test_exec_countsz"TestRunExecCounts.test_exec_counts   s   !1KKK,tXv..4DFF333%&677 +/2A +/2A +/2A +/2A	
  	K 	KAT[00229!<hqkJJJJ	K 	Kr   N)rl   rm   rn   r   r   r%   r   r   r   r      s:        B6 6 6K K K K Kr   r   c                       e Zd Z	 d Zd Zd Zd Zd Z ej	         e
ed          o ej                    d          d             Zd	 Zd
S )	TestFuncsc                     |                      t          j        t          j                               t	          ddd          | _        t                      | _        t          j                    | _        d S )Nr   r4   )ru   rv   rw   )	ry   rz   r{   r|   r   r}   r   filemod_saved_tracefuncr   s    r   r   zTestFuncs.setUp  sU    clnn555!1;;;*,, #r   c                 J    | j         t          j        | j                    d S d S r   )r   rz   r{   r   s    r   tearDownzTestFuncs.tearDown  s,     ,L.///// -,r   c                     | j                             t          d           | j        dz   d| j        dz   di}|                     | j                                         j        |           d S )Nr4   r8   r7   )r}   r   r8   r   r   r   calledfuncsr`   r   s     r   test_simple_callerzTestFuncs.test_simple_caller  sm    5q999 L991L22A
 	,,..:HEEEEEr   c                    | j                             t          dddd          }|                     |ddddf           |                     t
                    5  | j                             t          d           d d d            n# 1 swxY w Y   |                     t
                    5  | j                                          d d d            d S # 1 swxY w Y   d S )Nr4   rD   r   r   )r`   r"   )r4   rD   )r"   arg)r}   r   rI   r   assertRaises	TypeError)r`   ress     r   test_arg_errorszTestFuncs.test_arg_errors  sU   k!!/1aaa!HHv1'='=>???y)) 	= 	=K_!<<<	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	=y)) 	" 	"K!!!	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	"s$   "BBB-CCCc                 6   | j                             t          d           | j        dz   d| j        dz   d| j        dz   d| j        dz   dt	          t
          j                  ddfdi}|                     | j                                         j	        |           d S )Nr4   r   r7   r;   r5   r   r"   )
r}   r   r;   r   r   r   r   r   r   r   r   s     r   test_loop_caller_importingz$TestFuncs.test_loop_caller_importing#  s    8!<<< L991L22AL<<aL55q())9f=q
 	,,..:HEEEEEr   r|   3pre-existing trace function throws off measurementsc                    t          d          }| j                            |j        d           | j        dz   d| j        dz   d| j        dz   di}|                     | j                                        j        |           d S )Nr   r4   )zTracedClass.inst_method_calling)zTracedClass.inst_method_linearr7   )r]   r}   r   re   r   r   r   r   )r`   objr   s      r   test_inst_method_callingz"TestFuncs.test_inst_method_calling/  s     "ooC3Q777 L??L>>L22A

 	,,..:HEEEEEr   c           
         | j                             t                     | j        dz   d| j        dz   d| j        dz   d| j        dz   d| j        dz   di}|                     | j                                         j        |           d S )N)r[   r4   )rY   rX   )rT   r!   )r}   r   r[   r   r   r   r   r   s     r   r   z(TestFuncs.test_traced_decorated_function<  s    5666 L991L00!L?*AL?*AL9$a
 	,,..:HEEEEEr   N)rl   rm   rn   r   r   r   r   r   unittestskipIfhasattrrz   r|   r   r   r%   r   r   r   r     s        ,/ / /0 0 0F F F" " "
F 
F 
F X_WWS*--@,#,..JL L	F 	FL L	F
F 
F 
F 
F 
Fr   r   c                   |    e Zd Z	 d Z ej         eed          o ej                    d          d             Z	dS )TestCallersc                     |                      t          j        t          j                               t	          ddd          | _        t                      | _        d S )Nr   r4   )ru   rv   rx   )ry   rz   r{   r|   r   r}   r   r   r   s    r   r   zTestCallers.setUpK  sE    clnn555!11===*,,r   r|   r   c                    | j                             t          d           t          j                            t          j                  d         dz   ddf| j        dz   fd| j        dz   | j        dz   fd| j        dz   | j        dz   fd| j        dz   | j        d	z   fd| j        d	z   t          t          j                  d
dffdi}|                     | j                                         j        |           d S )Nr4   r   .pyrv   zTrace.runfuncr   r   r7   r   r   r"   )r}   r   r;   r   r   r   rv   r   r   r   r   r   r   callersr   s     r   r   z&TestCallers.test_loop_caller_importingP  s    	8!<<< gu~..q1E97OT AADEFl;; 77:;<l>> >>ABCl>> ::=>?l77G,--y&ACDE
 	,,..6AAAAAr   N)
rl   rm   rn   r   r   r   r   rz   r|   r   r%   r   r   r   r   I  sy        .- - -
 X_WWS*--@,#,..JL LB BL LB B Br   r   c                   b    e Zd Zd Zd ZdZefdZ ed          d             Zd Z	d Z
d	 Zd
S )TestCoveragec                 h    |                      t          j        t          j                               d S r   )ry   rz   r{   r|   r   s    r   r   zTestCoverage.setUpf  s$    clnn55555r   c                 V    t          t                     t          t                     d S r   )r   r   r   r   s    r   r   zTestCoverage.tearDowni  s    vvr   zif True:
        import unittest
        from test.test_pprint import QueryTestCase
        loader = unittest.TestLoader()
        tests = loader.loadTestsFromTestCase(QueryTestCase)
        tests(unittest.TestResult())
        c                     |                     |           |                                }|                    ddt                     d S )NT)show_missingsummarycoverdir)runr   write_resultsr   )r`   r}   cmdrs       r   	_coveragezTestCoverage._coveraget  s>    

3NN	T4&IIIIIr   cpuc                    t          j        dd          }t                      5 }|                     |           d d d            n# 1 swxY w Y   |                                }|                     d|           |                     d|           t          j        t                    }|                     d|           |                     d|           d S )Nr   r4   rv   ru   z	pprint.pyzcase.pyzpprint.coverzunittest.case.cover)	rv   r   r   r   getvalueassertInr   listdirr   )r`   r}   stdoutfiless       r   test_coveragezTestCoverage.test_coveragey  s    1A... 	#&NN6"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#""k6***i(((
6""ne,,,+U33333s   AAAc                 @   t           j                            t           j                            t           j                            t                                        }t          j        t          j        t          j	        |gdd          }t                      5 }|                     |           d d d            n# 1 swxY w Y   t           j                            t                    r2t          j        t                    }|                     |dg           d S d S )Nr   r4   )
ignoredirsrv   ru   z_importlib.cover)r   r   normpathdirnamer   rv   r   rz   base_prefixbase_exec_prefixr   r   existsr   r   r   )r`   libpathr}   r   r   s        r   test_coverage_ignorez!TestCoverage.test_coverage_ignore  s   '""27??27??83L3L#M#MNN#:N$)&-.a9 9 9 	#&NN6"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#7>>&!! 	:Jv&&EU%7$899999	: 	:s   B==CCc                    t          j        dd          }d}|t          j        v rt          j        |= d}t	                      5 }|                     ||           d d d            n# 1 swxY w Y   |                    d           |                                 i }|D ]K}|                                d d         \  }}}	t          |          t          |d d                   f||	<   Lt          j
        t          j        |         j                  }|                     ||           |                     ||         d           d S )	Nr   r4   r   ztest.tracedmodules.testmodz<import test.tracedmodules.testmod as t;t.func(0); t.func2();r   r   )r.   d   )rv   r   rz   modulesr   r   seekreadlinesplitint_fullmodnamer   r   r   )
r`   r}   r   r   r   coveragelinelinescovmodules
             r   test_issue9936zTestCoverage.test_issue9936  sp   1A....ck!!G$' 	(&NN63'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(A 	; 	;D!%bqb!1E3 #E

CCRCMM:HV$S[%9%BCCgx((('*H55555s   A''A+.A+c                 6   t           dz   }t          |d          5 }t          i i ddif|d           d d d            n# 1 swxY w Y   |                     t          |           t          j        i i |i           }|                     |j        ddi           d S )Nz-infilewbcallerr4   )protocol)	r   openr   ry   r   rv   CoverageResultsr   r   )r`   infilerS   r   s       r   test_coverageresults_updatez(TestCoverage.test_coverageresults_update  s    )#&$ 	91"b8Q-(!a8888	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9''''B;;8Q-88888s   ?AAN)rl   rm   rn   r   r   DEFAULT_SCRIPTr   r   r   r   r  r  r%   r   r   r   r   e  s        6 6 6  N %3 J J J J
 u	4 	4 	4
: 
: 
:6 6 6*9 9 9 9 9r   r   c                       e Zd Zd ZdS )Test_Ignorec           	         t           j        j        }t          j        ddg |dd          g          }|                     |                    dd                     |                     |                    dd                     |                     |                    dd	                     |                     |                     |ddd
          d                     |                     |                     |dd          d                     |                     |                     |dd
          d                     d S )Nr&   zy.zfoobarzx.pyzxy.pyxyzy.pyr'   zbaz.pybazzz.pyz)r   r   joinrv   _Ignore
assertTruenamesassertFalse)r`   jnignores      r   test_ignoredzTest_Ignore.test_ignored  s!   W\U|bb.>.>-?@@VS11222gt44555fc22333RRuh%?%?GGHHHbb&7&7==>>>RRx%8%8%@@AAAAAr   N)rl   rm   rn   r  r%   r   r   r  r    s(        	B 	B 	B 	B 	Br   r  c                   .    e Zd ZdZdZd Zd Zd Zd ZdS )TestCoverageCommandLineOutputztmp.pyz	tmp.coverc                     t          | j        dd          5 }|                    t          j        d                     d d d            d S # 1 swxY w Y   d S )Nwiso-8859-15encodingu                   # coding: iso-8859-15
                x = 'spœm'
                if []:
                    print('unreachable')
            )r	  codefilewritetextwrapdedent)r`   rS   s     r   r   z#TestCoverageCommandLineOutput.setUp  s    $-}=== 	GGHO %     	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   (AAAc                 V    t          | j                   t          | j                   d S r   )r   r%  	coverfiler   s    r   r   z&TestCoverageCommandLineOutput.tearDown  s(    t}t~r   c                    t           j                            t           j                            t          j                            }t           j                            |d          }t          |           d                                | j	        gz   }t          | \  }}}|                     |d           |                     t           j                            |                     |                     t           j                            | j                             t!          | j        d          5 }|                     |                                d           d d d            d S # 1 swxY w Y   d S )Nztrace.coverz-m trace --countr   r"  r#  u^          # coding: iso-8859-15
    1: x = 'spœm'
    1: if []:
           print('unreachable')
)r   r   r   abspathrv   r   r  r   r   r%  r
   r   r  r   r  r*  r	  read)r`   tracedirtracecoverpathargvstatusr   stderrrS   s           r   %test_cover_files_written_no_highlightzCTestCoverageCommandLineOutput.test_cover_files_written_no_highlight  sl    7??27??5>#B#BCCh>>~!''))T]O;!14!8%%%77888t~66777$.=999 	QQVVXX4  	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   5)E++E/2E/c                    d                                 | j        gz   }t          | \  }}}|                     t          j                            | j                             t          | j        d          5 }| 	                    |
                                t          j        d                     d d d            d S # 1 swxY w Y   d S )Nz-m trace --count --missingr"  r#  u                          # coding: iso-8859-15
                    1: x = 'spœm'
                    1: if []:
                >>>>>>     print('unreachable')
            )r   r%  r
   r  r   r   r   r*  r	  r   r-  r'  r(  )r`   r0  r1  r   r2  rS   s         r   'test_cover_files_written_with_highlightzETestCoverageCommandLineOutput.test_cover_files_written_with_highlight  s    +1133t}oE!14!8t~66777$.=999 	QQVVXXx 8 ( (   	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   8;C  CCN)	rl   rm   rn   r%  r*  r   r   r3  r5  r%   r   r   r  r    sZ        HI      (
 
 
 
 
r   r  c                   ,    e Zd Zd Zd Zd Zd Zd ZdS )TestCommandLinec                 f    d}|D ]+^}}t          ddg|R  ^ }}|                     ||           ,d S )N))s3   progname is missing: required with the main options-lz-T)s8   cannot specify both --listfuncs and (--trace or --count)z-lc)s>   argument -R/--no-report: not allowed with argument -r/--reportz-rR)sL   must specify one of --trace, --count, --report, --listfuncs, or --trackcallsz-g)s   -r/--report requires -f/--filez-r)s3   --summary can only be used with --count or --reportz-sT)s   unrecognized arguments: -yz-y-mrv   )r   r   )r`   _errorsmessagerG   _r2  s         r   test_failureszTestCommandLine.test_failures  sZ    3 & 	+ 	+NGd.tWDtDDDJQMM'6****	+ 	+r   c                    t           dz   }t          j                            t                     }t	          |dd          5 }|                     t          |           |                    d           t          ddd|d	          \  }}}| 	                    d
|           d| d| d}| 	                    |
                                |           d d d            d S # 1 swxY w Y   d S )Nr   r!  utf-8r#  za = 1
r:  rv   r9  PYTHONIOENCODINGs   functions called:z
filename: z, modulename: z, funcname: <module>)r   r   r   r   r	  ry   r   r&  r
   r   encode)r`   r   
modulenamefdr1  r   r2  r   s           r   test_listfuncs_flag_successz+TestCommandLine.test_listfuncs_flag_success   s0   E>W%%f--
(C'222 	5bOOFH---HHY%5dGT8GN&P &P &P"FFFMM.777\H\\J\\\HMM(//++V444	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5s   BCC"%C"c                    t          t          dd          5 }|                     t          t                     |                    d           |                    d           d d d            n# 1 swxY w Y   t          t                    \  }}}t          dddt          d	          \  }}}|                     |                                |           d S )
Nr!  r@  r#  zimport sys
zprint(type(sys.argv))
r:  rv   r9  rA  )r	  r   ry   r   r&  r
   r   strip)r`   rE  r1  direct_stdoutr2  trace_stdouts         r   test_sys_argv_listz"TestCommandLine.test_sys_argv_list  s   &#000 	0BOOFF+++HH^$$$HH.///	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0
 )9(@(@%v'7gtVIP(R (R (R$fm))++\:::::s   AA//A36A3c                 n   t            d}t            d}t          j                            t                     }t	          |dd          5 }|                     t          |           |                     t          |           |                    t          j	        d                     d d d            n# 1 swxY w Y   t          ddd	|d
          \  }}}|                                }|                     |d           |                     d|           |                     d| d| d|           d S )Nr   z.coverr!  r@  r#  z                x = 1
                y = 2

                def f():
                    return x + y

                for i in range(10):
                    f()
            r:  rv   z-csrA  r   zlines   cov%   module   (path)z6   100%   z   ())r   r   r   r   r	  ry   r   r&  r'  r(  r
   decoder   r   )r`   r   coverfilenamerD  rE  r1  r   r=  s           r   test_count_and_summaryz&TestCommandLine.test_count_and_summary  sy   >>>!)))W%%f--
(C'222 	bOOFH---OOFM222HHX_ 	& 	 	 	 	 		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 -T7E8>EG G G###6????J??H???HHHHHs   AB55B9<B9c           	      V    t          ddddddd           t          ddddd           d S )	Nr:  rv   r9  z--moduletimeitz-n1not_a_module_zzzr	   r   s    r   test_run_as_modulez"TestCommandLine.test_run_as_module/  s9    wj(D#NNNdGT:?QRRRRRr   N)rl   rm   rn   r>  rF  rK  rP  rU  r%   r   r   r7  r7    sg        + + +
5 
5 
5	; 	; 	;I I I0S S S S Sr   r7  __main__)/r   pickler   rz   test.supportr   r   test.support.os_helperr   r   r   test.support.script_helperr
   r   r'  r   rv   r   test.tracedmodulesr   r   r   r#   r+   r2   r5   r8   r;   r>   rA   rE   rI   rO   r[   objectr]   TestCaserr   r   r   r   r   r  r  r7  rl   mainr%   r   r   <module>r_     s   				       



 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; N N N N N N N N          & & & & & &  ) ) )
( ( (    # # #    
  
  
      
      &   .j@ j@ j@ j@ j@X& j@ j@ j@ZK K K K K) K K K8@F @F @F @F @F! @F @F @FFB B B B B(# B B B8H9 H9 H9 H9 H98$ H9 H9 H9Z
B 
B 
B 
B 
B(# 
B 
B 
B0 0 0 0 0H$5 0 0 0d@S @S @S @S @Sh' @S @S @SF zHMOOOOO r   