HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.7/test/__pycache__/test_profile.cpython-37.opt-1.pyc
B

��g��@s�dZddlZddlZddlZddlZddlmZddlmZddl	m
Z
mZmZddl
mZddlZddlmZmZGdd	�d	ej�Zd
d�Zedd
��Zdd�Zdd�ZiZded<ded<ded<edkr�e�dS)z"Test suite for the profile module.�N)�unified_diff)�StringIO)�TESTFN�run_unittest�unlink)�contextmanager)�testfunc�timerc@s`eZdZejZeZdddgZdZdd�Z	dd�Z
ed	d
��Zdd�Z
d
d�Zdd�Zdd�ZdS)�ProfileTest�print_stats�
print_callers�
print_calleesz:0(max)cCstt�dS)N)rr)�self�r�-/usr/local/lib/python3.7/test/test_profile.py�tearDownszProfileTest.tearDowncCstS)N)�_ProfileOutput)rrrr�get_expected_outputszProfileTest.get_expected_outputcs�g}|�td�}t�}|�dt�t��|�t�|�x||jD]r}t�}tj	||d�}|�
��d�t||��|�
���}tj�dd�d��fdd�|D�}|�d	�|��q@W|S)
Ng����MbP?z
testfunc())�streamZstdname�.�csg|]}�|kr|���qSr)�rstrip)�.0�line)�mod_namerr�
<listcomp>.sz,ProfileTest.do_profiling.<locals>.<listcomp>�
)�
profilerclassr	�runctx�globals�locals�append�methodnamesr�pstats�StatsZ
strip_dirsZ
sort_stats�getattr�getvalue�
splitlinesr�
__module__�rsplit�join)�cls�results�profZstart_timerZ
methodname�s�stats�outputr)rr�do_profilingszProfileTest.do_profilingcCs�|��}|��}|�|dd�g}xnt|j�D]`\}}||}||d}||kr0|�d|�d|jj�d��|�t	|�
d�|�
d�dd	��q0W|r�|�d�|��dS)
Nri�rz
Stats.z output for z does not fit expectation:r�)Zlineterm)
r1rZassertEqual�	enumerater"r!r�__name__�extendr�split�failr*)rr,Zexpectedr7�i�method�a�brrr�
test_cprofile2szProfileTest.test_cprofilec	Cs|ddddddg}xf|D]^}t�}|�td�}|�|t�t��tj||d�}|��|�	�}|�
|j|d	�||��qWdS)
Nzmax([0])zmax([0], key=int)zmax([0], **dict(key=int))zmax(*([0],))zmax(*([0],), key=int)zmax(*([0],), **dict(key=int))g����MbP?)rz&Profiling {0!r} didn't report max:
{1})
rrr	rrr r#r$rr&ZassertIn�expected_max_output�format)rZstmtsZstmtr.r-r/Zresrrr�test_calling_conventionsCs

z$ProfileTest.test_calling_conventionsc	CsDt��|j�d�WdQRX|jjdtd�|�tj�t��dS)Nzint('1'))�filename)�silent�profilermodule�runr�
assertTrue�os�path�exists)rrrr�test_runXszProfileTest.test_runc	CsTt��|j�dt�t��WdQRX|jjdt�t�td�|�tj�	t��dS)Nz
testfunc())r@)
rArBrrr rrDrErFrG)rrrr�test_runctx^s
zProfileTest.test_runctxN)r4r(�__qualname__�profileZProfilerrBr"r=rr�classmethodr1r<r?rHrIrrrrr
s
r
c	Cs�|�d�}td|�|��}g}t|d��*}x"|D]}|�|�|�d�r4Pq4WWdQRXt|d��V}|�|�|�d�x0t|j	�D]"\}}|�d|||df�q�W|�d	�WdQRXdS)
N�cozRegenerating %s...�rz#--cut�wz_ProfileOutput = {}
z _ProfileOutput[%r] = """\
%s"""
rz'
if __name__ == "__main__":
    main()
)
r�printr1�openr!�
startswith�
writelines�writer3r")r@r+r,Znewfile�frr8r9rrr�regenerate_expected_outputfs 





rVccs&tj}zt�t_dVWd|t_XdS)N)�sys�stdoutr)rXrrrrAzs

rAcCstt�dS)N)rr
rrrr�	test_main�srYcCs dtjkrt�n
ttt�dS)Nz-r)rW�argvrYrV�__file__r
rrrr�main�s
r\a�       28   27.972    0.999   27.972    0.999 profilee.py:110(__getattr__)
        1  269.996  269.996  999.769  999.769 profilee.py:25(testfunc)
     23/3  149.937    6.519  169.917   56.639 profilee.py:35(factorial)
       20   19.980    0.999   19.980    0.999 profilee.py:48(mul)
        2   39.986   19.993  599.830  299.915 profilee.py:55(helper)
        4  115.984   28.996  119.964   29.991 profilee.py:73(helper1)
        2   -0.006   -0.003  139.946   69.973 profilee.py:84(helper2_indirect)
        8  311.976   38.997  399.912   49.989 profilee.py:88(helper2)
        8   63.976    7.997   79.960    9.995 profilee.py:98(subhelper)ra�:0(append)                        <- profilee.py:73(helper1)(4)  119.964
:0(exc_info)                      <- profilee.py:73(helper1)(4)  119.964
:0(hasattr)                       <- profilee.py:73(helper1)(4)  119.964
                                     profilee.py:88(helper2)(8)  399.912
profilee.py:110(__getattr__)      <- :0(hasattr)(12)   11.964
                                     profilee.py:98(subhelper)(16)   79.960
profilee.py:25(testfunc)          <- <string>:1(<module>)(1)  999.767
profilee.py:35(factorial)         <- profilee.py:25(testfunc)(1)  999.769
                                     profilee.py:35(factorial)(20)  169.917
                                     profilee.py:84(helper2_indirect)(2)  139.946
profilee.py:48(mul)               <- profilee.py:35(factorial)(20)  169.917
profilee.py:55(helper)            <- profilee.py:25(testfunc)(2)  999.769
profilee.py:73(helper1)           <- profilee.py:55(helper)(4)  599.830
profilee.py:84(helper2_indirect)  <- profilee.py:55(helper)(2)  599.830
profilee.py:88(helper2)           <- profilee.py:55(helper)(6)  599.830
                                     profilee.py:84(helper2_indirect)(2)  139.946
profilee.py:98(subhelper)         <- profilee.py:88(helper2)(8)  399.912ra�:0(hasattr)                       -> profilee.py:110(__getattr__)(12)   27.972
<string>:1(<module>)              -> profilee.py:25(testfunc)(1)  999.769
profilee.py:110(__getattr__)      ->
profilee.py:25(testfunc)          -> profilee.py:35(factorial)(1)  169.917
                                     profilee.py:55(helper)(2)  599.830
profilee.py:35(factorial)         -> profilee.py:35(factorial)(20)  169.917
                                     profilee.py:48(mul)(20)   19.980
profilee.py:48(mul)               ->
profilee.py:55(helper)            -> profilee.py:73(helper1)(4)  119.964
                                     profilee.py:84(helper2_indirect)(2)  139.946
                                     profilee.py:88(helper2)(6)  399.912
profilee.py:73(helper1)           -> :0(append)(4)   -0.004
profilee.py:84(helper2_indirect)  -> profilee.py:35(factorial)(2)  169.917
                                     profilee.py:88(helper2)(2)  399.912
profilee.py:88(helper2)           -> :0(hasattr)(8)   11.964
                                     profilee.py:98(subhelper)(8)   79.960
profilee.py:98(subhelper)         -> profilee.py:110(__getattr__)(16)   27.972r
�__main__)�__doc__rWr#ZunittestrEZdifflibr�iorZtest.supportrrr�
contextlibrrKZ
test.profileerr	ZTestCaser
rVrArYr\rr4rrrr�<module>s*V