a ze;@stddlZddlmZddlmZddlmZddlZddlZGdddejZ GdddejZ e d krpe dS) N)support)StringIO)SortKeyc@seZdZdZddZdS)AddCallersTestCasez$Tests for pstats.add_callers helper.cCsdddi}ddd}t||}||dddddi}ddd}t||}||ddddS) Na)))rb)rr r rrr r)pstatsZ add_callers assertEqual)selftargetsourceZ new_callersrD/opt/bitninja-python-dojo/embedded/lib/python3.9/test/test_pstats.pytest_combine_results s    z'AddCallersTestCase.test_combine_resultsN)__name__ __module__ __qualname____doc__rrrrrr src@sTeZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ dS) StatsTestCasecCstd}t||_dS)Nz pstats.pck)rZfindfilerStatsstats)rZ stats_filerrrsetUps zStatsTestCase.setUpcCs&t}tj|d}||j|jdS)N)stream)rrraddr)rr rrrrtest_add!s zStatsTestCase.test_addcCsLddddd}|D]0\}}|j|||jj|jj|dqdS)Nstdnamecallstime cumulative)rrrr')itemsr sort_statsr sort_typesort_arg_dict_default)rZ valid_argsZarg_intZarg_strrrrtest_sort_stats_int&s  z!StatsTestCase.test_sort_stats_intcCs6dD],}|j|||jj|jj|dqdS)N) r$ZncallsZcumtimer&filenamelinemodulenameZnflZpcallsr#r%Ztottimer'rr)rr*r+)r sort_namerrrtest_sort_stats_string0s   z$StatsTestCase.test_sort_stats_stringcCs:d}dD],}|j|||jj|jj|dqdS)Nr-)ffiZfilfileZfilenZfilenaZfilenamr-r'r1)rZsortkeyr2rrrtest_sort_stats_partial8s   z%StatsTestCase.test_sort_stats_partialcCs8tD].}|j|||jj|jj|jdqdS)Nr')rrr)rr*r+value)rmemberrrrtest_sort_stats_enum@s  z"StatsTestCase.test_sort_stats_enumcCs0|t|jjdtj|t|jjtjddS)Nr$)Z assertRaises TypeErrorrr)rZTIMErrrrtest_sort_starts_mixGs  z"StatsTestCase.test_sort_starts_mixcCsdd}dd}dd}t}|||||t|}|}t|j }| d|| d|| d |dS) NcSsdSNrrrrrpass1Pz3StatsTestCase.test_get_stats_profile..pass1cSsdSr>rrrrrpass2Qr@z3StatsTestCase.test_get_stats_profile..pass2cSsdSr>rrrrrpass3Rr@z3StatsTestCase.test_get_stats_profile..pass3r?rArB) cProfileZProfileenableZ create_statsrrZget_stats_profilesetZ func_profileskeysZassertIn)rr?rArBZprZpsZ stats_profileZ funcs_calledrrrtest_get_stats_profileOs   z$StatsTestCase.test_get_stats_profilecCs"|tjd|tjtjdS)Nr-)rrZFILENAMEZassertNotEqualZCALLSr<rrrtest_SortKey_enumbszStatsTestCase.test_SortKey_enumN) rrrrr"r,r3r7r:r=rGrHrrrrrs r__main__) ZunittesttestriorrrrCZTestCaserrrmainrrrrs   J