
    0hh                         S SK r S SKJr  S SKJr  S SKJr  S SKJrJ	r	  S SK
r
S SKrS SKrS SKr " S S\ R                  5      r " S S	\ R                  5      r\S
:X  a  \ R"                  " 5         gg)    N)support)StringIO)SortKey)StrEnum_test_simple_enumc                       \ rS rSrS rSrg)AddCallersTestCase   c                     SS0nSSS.n[         R                  " X5      nU R                  USSS.5        SS0nSSS.n[         R                  " X5      nU R                  USSS.5        g )	Na)            )            )r   b)r   r   r   r   r   r   r   )pstatsadd_callersassertEqual)selftargetsourcenew_callerss       9/opt/python-3.13.8/usr/lib/python3.13/test/test_pstats.pytest_combine_results'AddCallersTestCase.test_combine_results   su     |$#,7((8L|&LMqq!((8AA&67     N)__name__
__module____qualname____firstlineno__r   __static_attributes__r!   r    r   r	   r	      s    8r    r	   c                   \    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rSrg)StatsTestCase   c                 f    [         R                  " S5      n[        R                  " U5      U l        g )Nz
pstats.pck)r   findfiler   Statsstats)r   
stats_files     r   setUpStatsTestCase.setUp    s"    %%l3
\\*-
r    c                     [        5       n[        R                  " US9nUR                  U R                  U R                  5        g )N)stream)r   r   r,   addr-   )r   r2   r-   s      r   test_addStatsTestCase.test_add$   s-    F+		$**djj)r    c                    [         R                  " SS9n U R                  R                  UR                  S9  [
        R                  " UR                  5      nU R                  U R                  R                  UR                  5        UR                  5         [        R                  " UR                  5        g ! UR                  5         [        R                  " UR                  5        f = f)NFdeletefilename)tempfileNamedTemporaryFiler-   
dump_statsnamer   r,   r   closeosremove)r   temp_storage_new	tmp_statss      r   "test_dump_and_load_works_correctly0StatsTestCase.test_dump_and_load_works_correctly)   s    #66eD	-JJ!!+;+@+@!A%5%:%:;ITZZ--y?""$II&++, ""$II&++,s   A3B: :2C,c                    [         R                  " 5       n[        R                  " SS9U l         [
        R                  " SU R                  R                  S9  UR                  U R                  R                  5        [         R                  " U R                  R                  5      nU R                  UR                  UR                  5        U R                  R                  5         [        R                  " U R                  R                  5        g ! U R                  R                  5         [        R                  " U R                  R                  5        f = f)NFr7   z	import osr9   )r   r,   r;   r<   temp_storagecProfilerunr>   
load_statsr   r-   r?   r@   rA   )r   r-   createds      r   test_load_equivalent_to_init*StatsTestCase.test_load_equivalent_to_init3   s    $77uE	.LLt/@/@/E/EFT..334ll4#4#4#9#9:GU[['--8##%IId'',,- ##%IId'',,-s   BD AEc                     [         R                  " 5       nU R                  [        5         UR	                  S5        S S S 5        g ! , (       d  f       g = f)N*   )r   r,   assertRaises	TypeErrorrJ   )r   r-   s     r   test_loading_wrong_types&StatsTestCase.test_loading_wrong_types?   s5    y)R  *))s   A
Ac                     SSSSS.nUR                  5        H`  u  p#U R                  R                  U5        U R                  U R                  R                  U R                  R
                  U   S   5        Mb     g )Nstdnamecallstime
cumulative)r   r   r   rY   )itemsr-   
sort_statsr   	sort_typesort_arg_dict_default)r   
valid_argsarg_intarg_strs       r   test_sort_stats_int!StatsTestCase.test_sort_stats_intD   sq    # %'
 !+ 0 0 2GJJ!!'*TZZ11!ZZ==gFrJL !3r    c                     S H^  nU R                   R                  U5        U R                  U R                   R                  U R                   R                  U   S   5        M`     g )N)rV   ncallscumtimerX   r:   linemoduler>   nflpcallsrU   rW   tottimerY   r-   r[   r   r\   r]   )r   	sort_names     r   test_sort_stats_string$StatsTestCase.test_sort_stats_stringN   sT    2I JJ!!),TZZ11!ZZ==iHLN	2r    c                     SnS H^  nU R                   R                  U5        U R                  U R                   R                  U R                   R                  U   S   5        M`     g )Nr:   )ffifilfilefilenfilenafilenamr:   rY   rk   )r   sortkeyrl   s      r   test_sort_stats_partial%StatsTestCase.test_sort_stats_partialV   sW    2IJJ!!),TZZ11!ZZ==gFrJL2r    c                 &   [          Hh  nU R                  R                  U5        U R                  U R                  R                  U R                  R
                  UR                     S   5        Mj      " S S[        5      n[        U[         5        g )NrY   c                   >    \ rS rSrSrSrSrSrSrSr	Sr
S	rS
rS rSrg):StatsTestCase.test_sort_stats_enum.<locals>.CheckedSortKeyd   )rV   rd   )rX   re   )r:   rg   rf   r>   rh   ri   rU   )rW   rj   c                     US   n[         R                  X5      nX#l        USS   H  nX0R                  U'   M     Xl        U$ )Nr   r   )str__new___value__value2member_map__all_values)clsvaluesvalueobjother_values        r   r   BStatsTestCase.test_sort_stats_enum.<locals>.CheckedSortKey.__new__n   sF    q	kk#-##)!":K:=**;7 $."(
r    r!   N)r"   r#   r$   r%   CALLS
CUMULATIVEFILENAMELINENAMENFLPCALLSSTDNAMETIMEr   r&   r!   r    r   CheckedSortKeyr|   d   s4    %E0J+HDDCFG$Dr    r   )	r   r-   r[   r   r\   r]   r   r   r   )r   memberr   s      r   test_sort_stats_enum"StatsTestCase.test_sort_stats_enum^   sm    FJJ!!&)JJ((JJ44V\\B2FH 
	W 	$ 	.'2r    c                     U R                  [        U R                  R                  S[        R
                  5        U R                  [        U R                  R                  [        R
                  S5        g )NrV   )rP   rQ   r-   r[   r   r   r   s    r   test_sort_starts_mix"StatsTestCase.test_sort_starts_mixx   sP    )TZZ%:%:!!,,	( 	)TZZ%:%:!,,!	#r    c                    S nS nS n[         R                  " 5       nUR                  5         U" 5         U" 5         U" 5         UR                  5         [        R
                  " U5      nUR                  5       n[        UR                  R                  5       5      nU R                  SU5        U R                  SU5        U R                  SU5        g )Nc                      g Nr!   r!   r    r   pass13StatsTestCase.test_get_stats_profile.<locals>.pass1       Tr    c                      g r   r!   r!   r    r   pass23StatsTestCase.test_get_stats_profile.<locals>.pass2   r   r    c                      g r   r!   r!   r    r   pass33StatsTestCase.test_get_stats_profile.<locals>.pass3   r   r    r   r   r   )rH   Profileenablecreate_statsr   r,   get_stats_profilesetfunc_profileskeysassertIn)r   r   r   r   prpsstats_profilefuncs_calleds           r   test_get_stats_profile$StatsTestCase.test_get_stats_profile   s    
		
\\",,.=66;;=>g|,g|,g|,r    c                     U R                  [        R                  S5        U R                  [        R                  [        R                  5        g )Nr:   )r   r   r   assertNotEqualr   r   s    r   test_SortKey_enumStatsTestCase.test_SortKey_enum   s2    )):6G,,gmm<r    )r-   rG   N)r"   r#   r$   r%   r/   r4   rD   rL   rR   ra   rm   rx   r   r   r   r   r&   r!   r    r   r(   r(      sA    .*
-
.!
LNL34#-&=r    r(   __main__)unittesttestr   ior   r   r   enumr   r   r@   r;   rH   TestCaser	   r(   r"   mainr!   r    r   <module>r      s_        + 	   8** 8$v=H%% v=p zMMO r    