
    F\h                     r    S SK r S SKrS SKJr  SSKJr  SSKJr  SSKJ	r	  \(       a  SSK
Jr   " S S	5      rg)
    N)
MS_WINDOWS   )TestResults)RunTests)print_warning)WindowsLoadTrackerc                       \ rS rSrS\S\S\4S jrSS\SS4S	 jjrS\	S-  4S
 jr
S\S\SS4S jrS\SS4S jrSS jrSS jrSrg)Logger   resultsquietpgoc                     [         R                  " 5       U l        SU l        SU l        S U l        Xl        X l        X0l        g )N    )	timeperf_counter
start_timetest_count_texttest_count_widthwin_load_tracker_results_quiet_pgo)selfr   r   r   s       ./usr/lib/python3.13/test/libregrtest/logger.py__init__Logger.__init__   s9    ++-! !;?%,!	    linereturnNc                     U(       + nU R                  5       nUb	  SUS SU 3n[        R                  " 5       U R                  -
  n[	        [        U5      S5      u  pV[	        US5      u  puSXuU4-  nU SU 3nU(       a  US S n[        USS9  g )	Nz
load avg: z.2f <   z%d:%02d:%02dT)flush)get_load_avgr   r   r   divmodintprint)	r   r    emptyload_avglog_timeminssecshoursformatted_log_times	            r   log
Logger.log   s     $$&~Qtf5D $$&8CM2.
T2&+uD.AA$%Qtf-9Dd$r   c                     [        [        S5      (       a   [        R                  " 5       S   $ U R                  b  U R                  R                  5       $ g ! [         a     N4f = f)N
getloadavgr   )hasattrosr5   OSErrorr   r   s    r   r'   Logger.get_load_avg,   s_    2|$$}}q))   ,((3355	  s   A 
A$#A$
test_indextextc                 8   U R                   (       a  g U R                  nXR                    U R                   3n[	        UR
                  5      [	        UR                  5      -   nU(       a  U R                  (       d  U SU 3nU R                  SU SU 35        g )N/[z] )	r   r   r   r   lenbadenv_changedr   r2   )r   r;   r<   r   r    failss         r   display_progressLogger.display_progress6   s    ;;-- 3345d6J6J5KLGKK 3w':':#;;V1UG$D1TF"TF#$r   runtestsc                     UR                   (       a  SU l        SU l        g SR                  [	        UR
                  5      5      U l        [	        U R                  5      S-
  U l        g )Nr   r   z/{}r   )foreverr   r   formatr@   tests)r   rF   s     r   	set_testsLogger.set_testsB   sM    #%D $%D!#(<<HNN0C#DD $'(<(<$=$AD!r   c                     [         (       d  g  [        5       U l        g ! [         a  n[	        SU 35         S nAg S nAff = f)Nz%Failed to create WindowsLoadTracker: )r   r   r   PermissionErrorr   )r   errors     r   start_load_trackerLogger.start_load_trackerJ   sB    z	K$6$8D! 	K A%IJJ	Ks    
A ;A c                 b    U R                   c  g U R                   R                  5         S U l         g )N)r   closer9   s    r   stop_load_trackerLogger.stop_load_trackerU   s+      (##% $r   )r   r   r   r   r   r   r   )r   )r!   N)__name__
__module____qualname____firstlineno__r   boolr   strr2   floatr'   r)   rD   r   rK   rP   rT   __static_attributes__ r   r   r
   r
      sz     D t    T  *edl 
%3 
%c 
%d 
%B( Bt B	K%r   r
   )r7   r   test.supportr   r   r   rF   r   utilsr   	win_utilsr   r
   r^   r   r   <module>rb      s)    	  #     -L% L%r   