HEX
Server: Apache
System: Linux bd12.noc223.com 4.18.0-553.121.1.lve.el8.x86_64 #1 SMP Thu Apr 30 16:40:41 UTC 2026 x86_64
User: handcraf (1693)
PHP: 8.1.28
Disabled: NONE
Upload Files
File: //opt/alt/python312/lib64/python3.12/test/__pycache__/test_cprofile.cpython-312.opt-1.pyc
�

}h�eo����dZddlZddlZddlZddlmZmZddlmZddl	m
Z
Gd�de�ZGd�d	ej�Z
d
�ZiZded<d
ed<ded<edk(re�yy)z#Test suite for the cProfile module.�N)�ProfileTest�regenerate_expected_output)�assert_python_failure)�supportc�P�eZdZejZeZdZd�Zd�Z	d�Z
d�Zd�Zd�Z
y)	�CProfileTestz{built-in method builtins.max}c��tS�N)�_ProfileOutput)�selfs �9/opt/alt/python312/lib64/python3.12/test/test_cprofile.py�get_expected_outputz CProfileTest.get_expected_outputs����c�6�ddl}tj�5}|jd��}|j	�|j�|j
�|j|jjt�ddd�y#1swYyxYw)Nrc��tSr
)�int�rr
�<lambda>z>CProfileTest.test_bad_counter_during_dealloc.<locals>.<lambda>s��3�r)�_lsprofr�catch_unraisable_exception�Profiler�enable�disable�clear�assertEqual�
unraisable�exc_type�	TypeError)rr�cm�objs    r
�test_bad_counter_during_deallocz,CProfileTest.test_bad_counter_during_deallocsq���
�
/�
/�
1�	@�R��"�"�;�/�C��J�J�L��K�K�M��I�I�K����R�]�]�3�3�Y�?�
	@�	@�	@�s�A-B�Bc��|j�}|j|j�|j�|j	t
jjt
jj�d�|j�|jt
jjt
jj�d�y�N�cProfile)
�
profilerclass�
addCleanuprrr�sys�
monitoring�get_tool�PROFILER_ID�assertIs)r�profs  r
�test_profile_enable_disablez(CProfileTest.test_profile_enable_disable!s����!�!�#��������%����
�����N�N�#�#�C�N�N�$>�$>�?��	M�	
�����
�
�c�n�n�-�-�c�n�n�.H�.H�I�4�Prc���|j�}|j|j�|5}|j||�|j	t
jjt
jj�d�ddd�|jt
jjt
jj�d�y#1swY�QxYwr#)	r%r&rr+rr'r(r)r*)rr,�"_CProfileTest__enter__return_values   r
�test_profile_as_context_managerz,CProfileTest.test_profile_as_context_manager-s����!�!�#��������%�
�	Q�*��M�M�$� 5�6�
������'�'����(B�(B�C�Z�
Q�
	Q�	
�
�
�c�n�n�-�-�c�n�n�.H�.H�I�4�P�	Q�	Q�s�AC�C!c���|j�}|j�}|j�|jt|j�|j	�yr
)r%r�assertRaises�
ValueErrorr)r�pr�pr2s   r
�test_second_profilerz!CProfileTest.test_second_profiler>sD��
�
�
�
!��� � �"��
�	�	�����*�c�j�j�1�
�
�
�rc�R�|j�}|j�td�dD��|j�|j	�|j
j
�D]8\}\}}}}}|ddk(s�|j|d�|j|d��:y)ab
        gh-106152
        generator.throw() should trigger a call in cProfile
        In the any() call below, there should be two entries for the generator:
            * one for the call to __next__ which gets a True and terminates any
            * one when the generator is garbage collected which will effectively
              do a throw.
        c3�&K�|]	}|dk(���y�w)�Nr)�.0�as  r
�	<genexpr>z*CProfileTest.test_throw.<locals>.<genexpr>Ps����#�q�A��F�#�s�)r9�r=z	<genexpr>N)r%r�anyr�create_stats�stats�itemsr)rr4�func�cc�nc�_s      r
�
test_throwzCProfileTest.test_throwEs����
�
�
!��
�	�	���#�F�#�#�
�
�
��
����')�x�x�~�~�'7�	(�#�D�#�2�r�1�a���A�w�+�%�� � ��Q�'�� � ��Q�'�	(rN)�__name__�
__module__�__qualname__r$�Profiler%�profilermodule�expected_max_outputrr!r-r0r6rFrrr
rr
s9���$�$�M��N�:���
@�
Q�Q�"�(rrc��eZdZd�Zy)�TestCommandLinec�p�tdddd�\}}}|j|d�|jd|�y)Nz-mr$z-s�demors!option -s: invalid choice: 'demo')r�
assertGreater�assertIn)r�rc�out�errs    r
�	test_sortzTestCommandLine.test_sort[s7��,�T�:�t�V�L���C�����2�q�!��
�
�:�C�@rN)rGrHrIrVrrr
rNrNZs��ArrNc�z�dtjvrtj�yt	t
t�y)Nz-r)r'�argv�unittest�mainr�__file__rrrr
rZrZas!���3�8�8���
�
��"�8�\�:ra�       28    0.028    0.001    0.028    0.001 profilee.py:110(__getattr__)
        1    0.270    0.270    1.000    1.000 profilee.py:25(testfunc)
     23/3    0.150    0.007    0.170    0.057 profilee.py:35(factorial)
       20    0.020    0.001    0.020    0.001 profilee.py:48(mul)
        2    0.040    0.020    0.600    0.300 profilee.py:55(helper)
        4    0.116    0.029    0.120    0.030 profilee.py:73(helper1)
        2    0.000    0.000    0.140    0.070 profilee.py:84(helper2_indirect)
        8    0.312    0.039    0.400    0.050 profilee.py:88(helper2)
        8    0.064    0.008    0.080    0.010 profilee.py:98(subhelper)�print_statsa�profilee.py:110(__getattr__)                      <-      16    0.016    0.016  profilee.py:98(subhelper)
profilee.py:25(testfunc)                          <-       1    0.270    1.000  <string>:1(<module>)
profilee.py:35(factorial)                         <-       1    0.014    0.130  profilee.py:25(testfunc)
                                                        20/3    0.130    0.147  profilee.py:35(factorial)
                                                           2    0.006    0.040  profilee.py:84(helper2_indirect)
profilee.py:48(mul)                               <-      20    0.020    0.020  profilee.py:35(factorial)
profilee.py:55(helper)                            <-       2    0.040    0.600  profilee.py:25(testfunc)
profilee.py:73(helper1)                           <-       4    0.116    0.120  profilee.py:55(helper)
profilee.py:84(helper2_indirect)                  <-       2    0.000    0.140  profilee.py:55(helper)
profilee.py:88(helper2)                           <-       6    0.234    0.300  profilee.py:55(helper)
                                                           2    0.078    0.100  profilee.py:84(helper2_indirect)
profilee.py:98(subhelper)                         <-       8    0.064    0.080  profilee.py:88(helper2)
{built-in method builtins.hasattr}                <-       4    0.000    0.004  profilee.py:73(helper1)
                                                           8    0.000    0.008  profilee.py:88(helper2)
{built-in method sys.exception}                   <-       4    0.000    0.000  profilee.py:73(helper1)
{method 'append' of 'list' objects}               <-       4    0.000    0.000  profilee.py:73(helper1)�
print_callersa;<string>:1(<module>)                              ->       1    0.270    1.000  profilee.py:25(testfunc)
profilee.py:110(__getattr__)                      ->
profilee.py:25(testfunc)                          ->       1    0.014    0.130  profilee.py:35(factorial)
                                                           2    0.040    0.600  profilee.py:55(helper)
profilee.py:35(factorial)                         ->    20/3    0.130    0.147  profilee.py:35(factorial)
                                                          20    0.020    0.020  profilee.py:48(mul)
profilee.py:48(mul)                               ->
profilee.py:55(helper)                            ->       4    0.116    0.120  profilee.py:73(helper1)
                                                           2    0.000    0.140  profilee.py:84(helper2_indirect)
                                                           6    0.234    0.300  profilee.py:88(helper2)
profilee.py:73(helper1)                           ->       4    0.000    0.004  {built-in method builtins.hasattr}
profilee.py:84(helper2_indirect)                  ->       2    0.006    0.040  profilee.py:35(factorial)
                                                           2    0.078    0.100  profilee.py:88(helper2)
profilee.py:88(helper2)                           ->       8    0.064    0.080  profilee.py:98(subhelper)
profilee.py:98(subhelper)                         ->      16    0.016    0.016  profilee.py:110(__getattr__)
{built-in method builtins.hasattr}                ->      12    0.012    0.012  profilee.py:110(__getattr__)�
print_callees�__main__)�__doc__r'rYr$�test.test_profilerr�test.support.script_helperr�testrr�TestCaserNrZrrGrrr
�<module>res���)�
���E�<��J(�;�J(�ZA�h�'�'�A�;���	!K��}��#k����"#p����$�z���F�r