Ë
    òT•jÇ
  ã                   óh   — d dl Z d dlZd dlmZ ddlmZ ddlmZ ddlm	Z	 erddl
mZ  G d„ d	«      Zy)
é    N)Ú
MS_WINDOWSé   )ÚTestResults)ÚRunTests)Úprint_warning)ÚWindowsLoadTrackerc                   óx   — e Zd Zdededefd„Zddeddfd„Zdedz  fd	„Z	d
e
deddfd„Zdeddfd„Zdd„Zdd„Zy)ÚLoggerÚresultsÚquietÚpgoc                 óŠ   — t        j                  «       | _        d| _        d| _        d | _        || _        || _        || _        y )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.12/test/libregrtest/logger.pyÚ__init__zLogger.__init__   s?   € Ü×+Ñ+Ó-ˆŒØ!ˆÔØ !ˆÔØ;?ˆÔØ%,ˆŒØ!ˆŒØˆ�	ó    ÚlineÚreturnNc                 ó  — | }| j                  «       }|�	d|d›d|› �}t        j                  «       | j                  z
  }t	        t        |«      d«      \  }}t	        |d«      \  }}d|||fz  }|› d|› �}|r|d d }t        |d¬«       y )	Nz
load avg: z.2fú é<   z%d:%02d:%02déÿÿÿÿT)Úflush)Úget_load_avgr   r   r   ÚdivmodÚintÚprint)	r   r   ÚemptyÚload_avgÚlog_timeÚminsÚsecsÚhoursÚformatted_log_times	            r   Úlogz
Logger.log   s«   € Ø�ˆð ×$Ñ$Ó&ˆØÐØ ¨˜~¨Q¨t¨fÐ5ˆDô ×$Ñ$Ó&¨¯©Ñ8ˆäœC ›M¨2Ó.‰
ˆˆdÜ˜T 2Ó&‰ˆˆtØ+¨u°d¸DÐ.AÑAÐà$Ð% Q t fÐ-ˆÙØ˜˜�9ˆDäˆd˜$Ör   c                 óž   — t        t        d«      rt        j                  «       d   S | j                  �| j                  j                  «       S y )NÚ
getloadavgr   )ÚhasattrÚosr2   r   ©r   s    r   r%   zLogger.get_load_avg,   sA   € Ü”2�|Ô$Ü—=‘=“? 1Ñ%Ð%Ø× Ñ Ð,Ø×(Ñ(×3Ñ3Ó5Ð5Ør   Ú
test_indexÚtextc                 ó   — | j                   ry | j                  }|| j                  › d�›| j                  › �}t	        |j
                  «      t	        |j                  «      z   }|r| j                  s|› d|› �}| j                  d|› d|› �«       y )Nr   ú/ú[z] )	r   r   r   r   ÚlenÚbadÚenv_changedr   r0   )r   r6   r7   r   r   Úfailss         r   Údisplay_progresszLogger.display_progress3   s�   € Ø�;Š;ØØ—-‘-ˆð ˜d×3Ñ3Ð4°@Ð4Ð5°d×6JÑ6JÐ5KÐLˆÜ�G—K‘KÓ ¤3 w×':Ñ':Ó#;Ñ;ˆÙ˜ŸšØ�V˜1˜U˜GÐ$ˆDØ�‰�1�T�F˜"˜T˜FÐ#Õ$r   Úruntestsc                 óÆ   — |j                   rd| _        d| _        y dj                  t	        |j
                  «      «      | _        t	        | j                  «      dz
  | _        y )Nr   r   z/{}r   )Úforeverr   r   Úformatr;   Útests)r   r@   s     r   Ú	set_testszLogger.set_tests?   sM   € Ø×ÒØ#%ˆDÔ Ø$%ˆDÕ!à#(§<¡<´°H·N±NÓ0CÓ#DˆDÔ Ü$'¨×(<Ñ(<Ó$=ÀÑ$AˆDÕ!r   c                 óz   — t         sy 	 t        «       | _        y # t        $ r}t	        d|› �«       Y d }~y d }~ww xY w)Nz%Failed to create WindowsLoadTracker: )r   r   r   ÚPermissionErrorr   )r   Úerrors     r   Ústart_load_trackerzLogger.start_load_trackerG   s@   € ÝØð	KÜ$6Ó$8ˆDÕ!øÜò 	Kô ÐAÀ%ÀÐI×JÑJûð	Kús   ‰ ™	:¢5µ:c                 ó`   — | j                   €y | j                   j                  «        d | _         y )N)r   Úcloser5   s    r   Ústop_load_trackerzLogger.stop_load_trackerR   s+   € Ø× Ñ Ð(ØØ×Ñ×#Ñ#Ô%Ø $ˆÕr   )r   )r   N)Ú__name__Ú
__module__Ú__qualname__r   Úboolr   Ústrr0   Úfloatr%   r'   r?   r   rE   rI   rL   © r   r   r
   r
      sz   „ ð ð °Dð ¸tó ñ ˜ð   Tó  ð*˜e d™ló ð
%¨3ð 
%°cð 
%¸dó 
%ðB (ð B¨tó Bó	Kô%r   r
   )r4   r   Útest.supportr   r   r   r@   r   Úutilsr   Ú	win_utilsr   r
   rS   r   r   ú<module>rW      s)   ðÛ 	Û å #Ý  Ý Ý  áÝ-÷I%ò I%r   