Current File : //usr/local/apps/python3/lib/python3.11/test/__pycache__/test_trace.cpython-311.opt-1.pyc
�

�KeR��P�ddlZddlmZddlZddlmZddlmZmZm	Z	ddl
mZmZddl
Z
ddlZddlZddlmZddlmZd�Zd	�Zd
�Zd�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z Gd�de!��Z"Gd�dej#��Z$Gd�dej#��Z%Gd�dej#��Z&Gd�dej#��Z'Gd �d!ej#��Z(Gd"�d#ej#��Z)Gd$�d%ej#��Z*Gd&�d'ej#��Z+e,d(krej-��dSdS))�N)�dump)�captured_stdout)�TESTFN�rmtree�unlink��assert_python_ok�assert_python_failure)�Trace)�testmodc�D�|�d��r
|dd�}|S)z8Given a .pyc filename converts it to the appropriate .pyz.pycN���)�endswith)�filenames �9/usr/local/apps/python3/lib/python3.11/test/test_trace.py�
fix_ext_pyrs*������ � �!��C�R�C�=���O�c��tj�tj�t����d}tt��|fS)z4The .py file and module name of this file (__file__)r)�os�path�splitext�basename�__file__r)�modnames r�my_file_and_modnamers?���g���r�w�/�/��9�9�:�:�1�=�G��h����(�(rc��|jjS�N)�__code__�co_firstlineno��funcs r�get_firstlinenor"!s
���=�'�'rc��|}|}||z}|Sr�)�x�y�a�b�cs     r�traced_func_linearr*+s��	�A�	�A�	�A��A��Hrc�8�|}td��D]}||z
}�|S�N���range)r%r&r)�is    r�traced_func_loopr11s,��	�A�
�1�X�X����	�Q�����Hrc�6�||ztjd��zS)N�)rr!)r%r&s  r�traced_func_importingr47s���q�5�7�<��?�?�"�"rc�,�t||��}||zSr�r*)r%r)s  r�traced_func_simple_callerr7:s���1�a� � �A��q�5�Lrc�J�t|��}|t||��z
}|Sr)r7r4)r%�ks  r�traced_func_importing_callerr:>s)��!�!�$�$�A��	�q�!�	$�	$�$�A��Hrc#�@K�d}t|��D]	}||zV��
dSr,r.)�numr)r0s   r�traced_func_generatorr=Cs9����	�A�
�3�Z�Z�����!�e������rc�8�d}td��D]}||z
}�dS)Nr�
)r=)r9r0s  r�traced_func_calling_generatorr@Hs3��	�A�
"�2�
&�
&����	�Q�����rc��|dzS�N�r$)r<s r�traced_doublerrDMs����7�Nrc�
�||fSrr$)�args�kwargss  r�traced_capturerrHPs����<�rc�<�d}d�t|��D��}|S)Nr?c�,�g|]}t|����Sr$)rD)�.0r0s  r�
<listcomp>z4traced_caller_list_comprehension.<locals>.<listcomp>Us ��
2�
2�
2�A�n�Q���
2�
2�
2rr.)r9�mylists  r� traced_caller_list_comprehensionrNSs%��
�A�
2�
2��q���
2�
2�
2�F��Mrc�\�d�}d�}||��d�����}|��dS)Nc��|Srr$��fs r�
decorator1z-traced_decorated_function.<locals>.decorator1Ys���rc��d�}|S)Nc��|Srr$rQs r�
decorator2zGtraced_decorated_function.<locals>.decorator_fabric.<locals>.decorator2\s���Hrr$�rVs r�decorator_fabricz3traced_decorated_function.<locals>.decorator_fabric[s��	�	�	��rc��dSrr$r$rrr!z'traced_decorated_function.<locals>.func_s	��	
�rr$)rSrXr!s   r�traced_decorated_functionrZXs^�������������
�
����Z�
��D�F�F�F�F�Frc�L�eZdZd�Zd�Zd�Zed���Zed���Z	dS)�TracedClassc��||_dSr�r')�selfr%s  r�__init__zTracedClass.__init__gs
������rc��|j|zSrr^)r_r&s  r�inst_method_linearzTracedClass.inst_method_linearjs���v��z�rc�R�|�|��}|t||��zSr)rbr*)r_r%r)s   r�inst_method_callingzTracedClass.inst_method_callingms+���#�#�A�&�&���%�a��+�+�+�+rc��|dzSrBr$)�clsr&s  r�class_method_linearzTracedClass.class_method_linearq����1�u�rc��|dzSrBr$)r&s r�static_method_linearz TracedClass.static_method_linearurhrN)
�__name__�
__module__�__qualname__r`rbrd�classmethodrg�staticmethodrjr$rrr\r\fsw������������,�,�,�����[������\���rr\c�B�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
S)�TestLineCountsz/White-box testing of line-counting, via runfuncc���|�tjtj����t	dddd���|_t
t��|_dS)Nr3r��count�trace�
countfuncs�countcallers)	�
addCleanup�sys�settrace�gettracer�tracerrr�my_py_filename�r_s r�setUpzTestLineCounts.setUpsL�������c�l�n�n�5�5�5��!�1���K�K�K���(��2�2����rc�H�|j�tdd��}|�|d��i}t	t��}tdd��D]}d||j||zf<�|�|j���j|��dS)NrCr-�r3)	r|�runfuncr*�assertEqualr"r/r}�results�counts)r_�result�expected�firstlinenor0s     r�test_traced_func_linearz&TestLineCounts.test_traced_func_linear�s�����$�$�%7��A�>�>�������#�#�#���%�&8�9�9���q�!���	B�	B�A�@A�H�d�)�;�!�+;�<�=�=������,�,�.�.�5�x�@�@�@�@�@rc	�8�|j�tdd��tt��}|j|dzfd|j|dzfd|j|dzfd|j|dzfdi}|�|j���j|��dS)NrC�r3�r-�)r|r�r1r"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��
�
 �+��/�2�A�
�
 �+��/�2�A�
�
 �+��/�2�A�
�
 �+��/�2�A�	
��	
�����,�,�.�.�5�x�@�@�@�@�@rc�\�|j�tdd��tt��}|j|dzfdttj��dfdttj��dfdi}|�|j�	��j
|��dS)NrCr-r3r�)r|r�r4r"r}rrrr�r�r�r�s   r�test_traced_func_importingz)TestLineCounts.test_traced_func_importing�s�������1�1�a�8�8�8�%�&;�<�<��
�
 �+��/�2�A�
��(�
)�
)�1�-�q�
��(�
)�
)�1�-�q�
��	
�����,�,�.�.�5�x�@�@�@�@�@rc
��|j�t��tt��}tt��}|j|dzfd|j|dzfd|j|dzfd|j|dzfd|j|dzfd|j|dzfdi}|�|j���j|��dS)Nr3rC�r�r?)	r|r�r@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��

��	
�����,�,�.�.�5�x�@�@�@�@�@rc	�\�|j�t��tt��}tt��}|j|dzfd|j|dzfd|j|dzfd|j|dzfdi}|�|j���j|��dS)Nr3rC�r�r?)	r|r�rNr"rDr}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�
�
 �"4�q�"8�9�2�

��	
�����,�,�.�.�5�x�@�@�@�@�@rc���|j�t��tt��}|j|dzfd|j|dzfd|j|dzfd|j|dzfd|j|dzfd|j|dzfd|j|dzfd|j|dzfd|j|d	zfd|j|d
zfd|j|dzfdi}|�|j���j|��dS)Nr3rCr�r�r-r�r���	r?r�)r|r�rZr"r}r�r�r�r�s   r�test_traced_decorated_functionz-TestLineCounts.test_traced_decorated_function�s������5�6�6�6�%�&?�@�@��
�
 �+��/�2�A�
�
 �+��/�2�A�
�
 �+��/�2�A�
�
 �+��/�2�A�
�
 �+��/�2�A�
�
 �+��/�2�A�
�
 �+��/�2�A�
�
 �+��/�2�A�
�
 �+��/�2�A�
�
 �+��"2�3�Q�
�
 �+��"2�3�Q�
��	
�����,�,�.�.�5�x�@�@�@�@�@rc�4�dD]�}tdddd���}td��}t||��}|�|d��t	|��}|j|dzfdi}|�|���j|����dS)N)rbr3rrs��)	rr\�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�J�F�$�R���J��Z��2�2�F��N�N�6�2�&�&�&�)�&�1�1�K��$�k�A�o�6���H�
���V�^�^�-�-�4�h�?�?�?�?�
	@�
	@rN)rkrlrm�__doc__rr�r�r�r�r�r�r�r$rrrqrq}s�������9�9�3�3�3�

A�
A�
A�
A�
A�
A�
A�
A�
A�
A�
A�
A�
A�
A�
A�A�A�A�&@�@�@�@�@rrqc��eZdZdZd�Zd�ZdS)�TestRunExecCountsz8A simple sanity test of line-counting, via runctx (exec)c��tt��|_|�tjt	j����dSr)rrr}rxryrzr{r~s rrzTestRunExecCounts.setUp�s4��(��2�2��������c�l�n�n�5�5�5�5�5rc	��tdddd���|_d}t|td��}|j�|t��t
����tt��}|j	|dzfd|j	|dzfd|j	|dzfd	|j	|d
zfdi}|�
��D]@}|�|j���j
|||���AdS)Nr3rrsztraced_func_loop(2, 5)�execrCr�r�r-r�)rr|�compiler�runctx�globals�varsr"r1r}�keysr�r�r�)r_�coder�r�r9s     r�test_exec_countsz"TestRunExecCounts.test_exec_counts�s���!�1���K�K�K���,���t�X�v�.�.������4����D�F�F�3�3�3�%�&6�7�7��
�
 �+��/�2�A�
�
 �+��/�2�A�
�
 �+��/�2�A�
�
 �+��/�2�A�	
�������	K�	K�A����T�[�0�0�2�2�9�!�<�h�q�k�J�J�J�J�	K�	KrN)rkrlrmr�rr�r$rrr�r��s=������B�B�6�6�6�K�K�K�K�Krr�c��eZdZdZd�Zd�Zd�Zd�Zd�Ze	j
eed��oej
��d��d	���Zd
�ZdS)�	TestFuncsz"White-box testing of funcs tracingc���|�tjtj����t	ddd���|_t
��|_tj��|_dS)Nrr3)rtrurv)	rxryrzr{rr|r�filemod�_saved_tracefuncr~s rrzTestFuncs.setUpsU�������c�l�n�n�5�5�5��!�1��;�;�;���*�,�,��� #�������rc�J�|j�tj|j��dSdSr)r�ryrzr~s r�tearDownzTestFuncs.tearDowns,��� �,��L��.�/�/�/�/�/�-�,rc���|j�td��|jdzd|jdzdi}|�|j���j|��dS)Nr3�r7r6)r|r�r7r�r�r��calledfuncs�r_r�s  r�test_simple_callerzTestFuncs.test_simple_callersm������5�q�9�9�9�
�L�9�9�1��L�2�2�A�
��	
�����,�,�.�.�:�H�E�E�E�E�Erc���|j�tdddd���}|�|dddd�f��|�t
��5|j�td���ddd��n#1swxYwY|�t
��5|j���ddd��dS#1swxYwYdS)Nr3rCr�r�)r_r!)r3rC)r!�arg)r|r�rHr��assertRaises�	TypeError)r_�ress  r�test_arg_errorszTestFuncs.test_arg_errorssU���k�!�!�/�1�a�a�a�!�H�H������v��1�'=�'=�>�?�?�?�
�
�
�y�
)�
)�	=�	=��K���_�!��<�<�<�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=����	=�	=�	=�	=�
�
�
�y�
)�
)�	"�	"��K���!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�	"�	"s$�"B�B�B�-C�C�Cc�6�|j�td��|jdzd|jdzd|jdzd|jdzdt	t
j��ddfdi}|�|j���j	|��dS)Nr3r�r6�r:�r4rr!)
r|r�r:r�rrrr�r�r�r�s  r�test_loop_caller_importingz$TestFuncs.test_loop_caller_importing#s�������8�!�<�<�<�
�L�9�9�1��L�2�2�A��L�<�<�a��L�5�5�q�
��(�
)�
)�9�f�=�q�
��	
�����,�,�.�.�:�H�E�E�E�E�Err{�3pre-existing trace function throws off measurementsc��td��}|j�|jd��|jdzd|jdzd|jdzdi}|�|j���j|��dS)Nr�r3)zTracedClass.inst_method_calling)zTracedClass.inst_method_linearr6)r\r|r�rdr�r�r�r�)r_�objr�s   r�test_inst_method_callingz"TestFuncs.test_inst_method_calling/s����"�o�o������C�3�Q�7�7�7�
�L�?�?���L�>�>���L�2�2�A�
��
	
�����,�,�.�.�:�H�E�E�E�E�Erc
��|j�t��|jdzd|jdzd|jdzd|jdzd|jdzdi}|�|j���j|��dS)N)rZr3)rXrW)rSr )r|r�rZr�r�r�r�r�s  rr�z(TestFuncs.test_traced_decorated_function<s�������5�6�6�6�
�L�9�9�1��L�0�0�!��L�?�*�A��L�?�*�A��L�9�$�a�
��	
�����,�,�.�.�:�H�E�E�E�E�ErN)rkrlrmr�rr�r�r�r��unittest�skipIf�hasattrryr{r�r�r$rrr�r�s�������,�,�/�/�/�0�0�0�F�F�F�"�"�"�
F�
F�
F��X�_�W�W�S�*�-�-�@�,�#�,�.�.�J�L�L�	F�	F�L�L�	F�
F�
F�
F�
F�
Frr�c�~�eZdZdZd�Zejeed��oej	��d��d���Z
dS)�TestCallersz$White-box testing of callers tracingc��|�tjtj����t	ddd���|_t
��|_dS)Nrr3)rtrurw)rxryrzr{rr|rr�r~s rrzTestCallers.setUpKsE�������c�l�n�n�5�5�5��!�1�1�=�=�=���*�,�,����rr{r�c���|j�td��tj�tj��ddzddf|jdzfd|jdz|jdzfd|jdz|jdzfd|jdz|jd	zfd|jd	zttj��d
dffdi}|�|j���j
|��dS)Nr3r�.pyruz
Trace.runfuncr�r�r6r�rr!)r|r�r:rrrrurr�rrr�r��callersr�s  rr�z&TestCallers.test_loop_caller_importingPs��	
����8�!�<�<�<��g���u�~�.�.�q�1�E�9�7�O�
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�ArN)rkrlrmr�rr�r�r�ryr{r�r$rrr�r�Is|������.�.�-�-�-�
�X�_�W�W�S�*�-�-�@�,�#�,�.�.�J�L�L�B�B�L�L�B�B�Brr�c�<�eZdZd�Zd�Z	d
d�Zd�Zd�Zd�Zd�Z	d	S)�TestCoveragec�h�|�tjtj����dSr)rxryrzr{r~s rrzTestCoverage.setUpfs$�������c�l�n�n�5�5�5�5�5rc�V�tt��tt��dSr)rrrr~s rr�zTestCoverage.tearDownis���v�����v�����r�_import test.support, test.test_pprint;test.support.run_unittest(test.test_pprint.QueryTestCase)c��|�|��|���}|�ddt���dS)NT)�show_missing�summary�coverdir)�runr��
write_resultsr)r_r|�cmd�rs    r�	_coveragezTestCoverage._coveragems@��	�
�
�3�����N�N����	���T�4�&��I�I�I�I�Irc��tjdd���}t��5}|�|��ddd��n#1swxYwY|���}|�d|��|�d|��t
jt��}|�d|��|�d|��dS)Nrr3�rurtz	pprint.pyzcase.pyzpprint.coverzunittest.case.cover)	rurrr��getvalue�assertInr�listdirr)r_r|�stdout�filess    r�
test_coveragezTestCoverage.test_coveragets�����1�A�.�.�.��
�
�
�	#�&��N�N�6�"�"�"�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#����	#�	#�	#�	#����"�"���
�
�k�6�*�*�*��
�
�i��(�(�(��
�6�"�"���
�
�n�e�,�,�,��
�
�+�U�3�3�3�3�3s�A�A�Ac�@�tj�tj�tj�t������}tjtjtj	|gdd���}t��5}|�|��ddd��n#1swxYwYtj�t��r2tjt��}|�|dg��dSdS)Nrr3)�
ignoredirsrurtz_importlib.cover)rr�normpath�dirnamerrurry�base_prefix�base_exec_prefixrr��existsrr�r�)r_�libpathr|r�r�s     r�test_coverage_ignorez!TestCoverage.test_coverage_ignores���'�"�"�2�7�?�?�2�7�?�?�8�3L�3L�#M�#M�N�N������#�:N�$�)&�-.�a�9�9�9��
�
�
�	#�&��N�N�6�"�"�"�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#����	#�	#�	#�	#�
�7�>�>�&�!�!�	:��J�v�&�&�E����U�%7�$8�9�9�9�9�9�	:�	:s�B=�=C�Cc��tjdd���}d}|tjvr
tj|=d}t	��5}|�||��ddd��n#1swxYwY|�d��|���i}|D]K}|���dd�\}}}	t|��t|dd���f||	<�Ltj
tj|j��}|�||��|�
||d��dS)	Nrr3r�ztest.tracedmodules.testmodz<import test.tracedmodules.testmod as t;t.func(0); t.func2();r�r)r-�d)rurry�modulesrr��seek�readline�split�int�_fullmodnamerr�r�)
r_r|rr�r��coverage�line�lines�cov�modules
          r�test_issue9936zTestCoverage.test_issue9936�sp����1�A�.�.�.��.���c�k�!�!���G�$�'��
�
�
�	(�&��N�N�6�3�'�'�'�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(����A�������������	;�	;�D�!%�����b�q�b�!1��E�3�� #�E�
�
�C��C�R�C��M�M�:�H�V����$�S�[��%9�%B�C�C���
�
�g�x�(�(�(�����'�*�H�5�5�5�5�5s�A'�'A+�.A+c�6�tdz}t|d��5}tiiddif|d���ddd��n#1swxYwY|�t|��tjii|i��}|�|jddi��dS)Nz-infile�wb�callerr3)�protocol)	r�openrrxrru�CoverageResultsr�r�)r_�infilerRr�s    r�test_coverageresults_updatez(TestCoverage.test_coverageresults_update�s����)�#��
�&�$�
�
�	9�1��"�b�8�Q�-�(�!�a�8�8�8�8�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9����	9�	9�	9�	9������'�'�'��'��B���;�;�������8�Q�-�8�8�8�8�8s�?�A�AN)r�)
rkrlrmrr�r�r�r�rrr$rrr�r�es�������6�6�6����
R�J�J�J�J�	4�	4�	4�
:�
:�
:�6�6�6�*9�9�9�9�9rr�c��eZdZd�ZdS)�Test_Ignorec	��tjj}tjddg|dd��g��}|�|�dd����|�|�dd����|�|�dd	����|�|�|ddd
��d����|�|�|dd��d
����|�|�|dd
��d����dS)Nr%zy.z�foo�barzx.pyzxy.py�xyzy.pyr&zbaz.py�bazzz.py�z)rr�joinru�_Ignore�
assertTrue�names�assertFalse)r_�jn�ignores   r�test_ignoredzTest_Ignore.test_ignored�s!��
�W�\�����U�|�b�b���.>�.>�-?�@�@��������V�S�1�1�2�2�2�������g�t�4�4�5�5�5�������f�c�2�2�3�3�3�������R�R��u�h�%?�%?��G�G�H�H�H�������b�b���&7�&7��=�=�>�>�>�������R�R��x�%8�%8�%�@�@�A�A�A�A�ArN)rkrlrmrr$rrrr�s(������	B�	B�	B�	B�	Brrc�.�eZdZdZdZd�Zd�Zd�Zd�ZdS)�TestCoverageCommandLineOutputztmp.pyz	tmp.coverc��t|jdd���5}|�tjd����ddd��dS#1swxYwYdS)N�w�iso-8859-15��encodingu�                # coding: iso-8859-15
                x = 'spœm'
                if []:
                    print('unreachable')
            )r	�codefile�write�textwrap�dedent)r_rRs  rrz#TestCoverageCommandLineOutput.setUp�s���
�$�-��}�
=�
=�
=�	��
�G�G�H�O�%���
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�(A
�
A�Ac�V�t|j��t|j��dSr)rr$�	coverfiler~s rr�z&TestCoverageCommandLineOutput.tearDown�s(���t�}�����t�~�����rc���tj�tj�tj����}tj�|d��}t|��d���|j	gz}t|�\}}}|�|d��|�tj�
|����|�tj�
|j����t!|jd���5}|�|���d��ddd��dS#1swxYwYdS)Nztrace.coverz-m trace --countrr!r"u^       # coding: iso-8859-15
    1: x = 'spœm'
    1: if []:
           print('unreachable')
)rrr��abspathrurrrr�r$r	r�rr�rr)r	�read)r_�tracedir�tracecoverpath�argv�statusr��stderrrRs        r�%test_cover_files_written_no_highlightzCTestCoverageCommandLineOutput.test_cover_files_written_no_highlight�sl���7�?�?�2�7�?�?�5�>�#B�#B�C�C������h�
�>�>���~����!�'�'�)�)�T�]�O�;��!1�4�!8����������%�%�%���������7�7�8�8�8��������t�~�6�6�7�7�7�
�$�.�=�
9�
9�
9�	�Q����Q�V�V�X�X�4�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�5)E+�+E/�2E/c��d���|jgz}t|�\}}}|�tj�|j����t|jd���5}|�	|�
��tjd����ddd��dS#1swxYwYdS)Nz-m trace --count --missingr!r"u�                       # coding: iso-8859-15
                    1: x = 'spœm'
                    1: if []:
                >>>>>>     print('unreachable')
            )
r�r$r	rrrr�r)r	r�r,r&r')r_r/r0r�r1rRs      r�'test_cover_files_written_with_highlightzETestCoverageCommandLineOutput.test_cover_files_written_with_highlight�s���+�1�1�3�3�t�}�o�E��!1�4�!8������������t�~�6�6�7�7�7�
�$�.�=�
9�
9�
9�	�Q����Q�V�V�X�X�x��8�(�(�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�8;C�C�CN)	rkrlrmr$r)rr�r2r4r$rrrr�sZ�������H��I����������(
�
�
�
�
rrc�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�TestCommandLinec�f�d}|D]+^}}tddg|�R��^}}|�||���,dS)N))s3progname is missing: required with the main options�-lz-T)s8cannot specify both --listfuncs and (--trace or --count)z-lc)s>argument -R/--no-report: not allowed with argument -r/--reportz-rR)sLmust 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)sunrecognized arguments: -yz-y�-mru)r
r�)r_�_errors�messagerF�_r1s      r�
test_failureszTestCommandLine.test_failures�sZ��3��&�	+�	+�N�G�d�.�t�W�D�t�D�D�D�J�Q���M�M�'�6�*�*�*�*�	+�	+rc���tdz}tj�t��}t	|dd���5}|�t|��|�d��tddd|d�	��\}}}|�	d
|��d|�d|�d
�}|�	|�
��|��ddd��dS#1swxYwYdS)Nr�r �utf-8r"za = 1
r9rur8��PYTHONIOENCODINGsfunctions called:z
filename: z, modulename: z, funcname: <module>)rrrrr	rxrr%r	r��encode)r_r�
modulename�fdr0r�r1r�s        r�test_listfuncs_flag_successz+TestCommandLine.test_listfuncs_flag_success�s0���E�>���W�%�%�f�-�-�
�
�(�C�'�
2�
2�
2�	5�b��O�O�F�H�-�-�-��H�H�Y����%5�d�G�T�8�GN�&P�&P�&P�"�F�F�F��M�M�.��7�7�7�\�H�\�\�J�\�\�\�H��M�M�(�/�/�+�+�V�4�4�4�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5����	5�	5�	5�	5�	5�	5s�BC�C"�%C"c��ttdd���5}|�tt��|�d��|�d��ddd��n#1swxYwYtt��\}}}tdddtd�	��\}}}|�|���|��dS)
Nr r?r"zimport sys
zprint(type(sys.argv))
r9rur8r@)r	rrxrr%r	r��strip)r_rDr0�
direct_stdoutr1�trace_stdouts      r�test_sys_argv_listz"TestCommandLine.test_sys_argv_lists��
�&�#��
0�
0�
0�	0�B��O�O�F�F�+�+�+��H�H�^�$�$�$��H�H�.�/�/�/�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0����	0�	0�	0�	0�
)9��(@�(@�%��
�v�'7��g�t�V�IP�(R�(R�(R�$���f��
�
�m�)�)�+�+�\�:�:�:�:�:s�AA/�/A3�6A3c�n�t�d�}t�d�}tj�t��}t	|dd���5}|�t|��|�t|��|�tj	d����ddd��n#1swxYwYtddd	|d�
��\}}}|���}|�|d��|�
d|��|�
d
|�d|�d�|��dS)Nr�z.coverr r?r"z�                x = 1
                y = 2

                def f():
                    return x + y

                for i in range(10):
                    f()
            r9ruz-csr@rzlines   cov%   module   (path)z6   100%   z   (�))rrrrr	rxrr%r&r'r	�decoder�r�)r_r�
coverfilenamerCrDr0r�r<s        r�test_count_and_summaryz&TestCommandLine.test_count_and_summarysy���>�>�>��!�)�)�)�
��W�%�%�f�-�-�
�
�(�C�'�
2�
2�
2�	�b��O�O�F�H�-�-�-��O�O�F�M�2�2�2��H�H�X�_�	&�	�	�	
�	
�	
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�-�T�7�E�8�>E�G�G�G����������������#�#�#��
�
�6��?�?�?��
�
�?�J�?�?�H�?�?�?��H�H�H�H�Hs�AB5�5B9�<B9c	�V�tddddddd��tddddd��dS)	Nr9rur8z--module�timeitz-n�1�not_a_module_zzzrr~s r�test_run_as_modulez"TestCommandLine.test_run_as_module)s9����w��j�(�D�#�N�N�N��d�G�T�:�?Q�R�R�R�R�RrN)rkrlrmr=rErJrOrTr$rrr6r6�sg������+�+�+�
5�
5�
5�	;�	;�	;�I�I�I�0S�S�S�S�Srr6�__main__).r�picklerry�test.supportr�test.support.os_helperrrr�test.support.script_helperr	r
r&r�rur�test.tracedmodulesrrrr"r*r1r4r7r:r=r@rDrHrNrZ�objectr\�TestCaserqr�r�r�r�rrr6rk�mainr$rr�<module>r^s���	�	�	�	�������
�
�
�
�(�(�(�(�(�(�;�;�;�;�;�;�;�;�;�;�N�N�N�N�N�N�N�N�������������������&�&�&�&�&�&����)�)�)�
(�(�(�
�
�
�
�
�
�#�#�#����
�
�
�
���
���
���������
��������&����.j@�j@�j@�j@�j@�X�&�j@�j@�j@�ZK�K�K�K�K��)�K�K�K�8@F�@F�@F�@F�@F��!�@F�@F�@F�FB�B�B�B�B�(�#�B�B�B�8B9�B9�B9�B9�B9�8�$�B9�B9�B9�N
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����H�M�O�O�O�O�O��r