+
    VN÷hÒ  ã                   ó¦  € R t ^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIH	t	 ^ RIH
t
 ^ RIHt ^ R	IHt ^ R
IHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ]'       d   ^ RIHt R tR t]P,                  P/                  ]'       * RR7       ! R R]4      4       t]P,                  P/                  ]'       * RR7       ! R R]4      4       tR# )zmacOS specific tests.N)ÚMACOS)ÚPOSIX)ÚAARCH64)Ú
CI_TESTING)ÚHAS_BATTERY)ÚTOLERANCE_DISK_USAGE)ÚTOLERANCE_SYS_MEM)ÚPsutilTestCase)Úpytest)Úretry_on_failure)Úsh)Úspawn_subproc)Ú	terminate)Úgetpagesizec                ó„   € \        V 4      pVP                  4       ^,          p \        V4      #   \         d    Tu # i ; i)zeExpects a sysctl command with an argument and parse the result
returning only the value of interest.
)r   ÚsplitÚintÚ
ValueError)ÚcmdlineÚoutÚresults   &  Ú7/usr/lib/python3/dist-packages/psutil/tests/test_osx.pyÚsysctlr      s?   € ô ˆW‹+€CØ�Y‰Y‹[˜�^€FðÜ�6‹{ÐøÜô ØŠðús   ¤
/ ¯?¾?c                óê   € \        R4      pVP                  R4       F  pW9   g   K   M	  \        R4      h\        \        P
                  ! RV4      P                  ^ 4      4      \        4       ,          # )z)Wrapper around 'vm_stat' cmdline utility.Úvm_statÚ
zline not foundz\d+)r   r   r   r   ÚreÚsearchÚgroupr   )Úfieldr   Úlines   &  r   r   r   +   s[   € ä
ˆY‹-€CØ—	‘	˜$–ˆØŽ=Ùñ  ô Ð)Ó*Ð*ÜŒr�yŠy˜ Ó&×,Ñ,¨QÓ/Ó0´;³=Õ@Ð@ó    z
MACOS only©Úreasonc                   óF   a € ] tR t^6t o ]R 4       t]R 4       tR tRtV t	R# )ÚTestProcessc                ó8   € \        4       P                  V n        R # ©N)r   Úpid©Úclss   &r   Ú
setUpClassÚTestProcess.setUpClass8   s   € ä“/×%Ñ%ˆŽr!   c                ó0   € \        V P                  4       R # r'   )r   r(   r)   s   &r   ÚtearDownClassÚTestProcess.tearDownClass<   s   € ä�#—'‘'Ör!   c                óú  € \        R V P                   24      pVP                  RR4      P                  4       pVP	                  R4      R,          pVP	                  R4      R,          p\
        P                  ! V P                  4      P                  4       pV\        P                  ! R\        P                  ! V4      4      8X  g   Q hV\        P                  ! R\        P                  ! V4      4      8X  g   Q hR# )	zps -o lstart -p ÚSTARTEDÚ Ú z%H:%M:%Sz%YNéþÿÿÿéÿÿÿÿ)r   r(   ÚreplaceÚstripr   ÚpsutilÚProcessÚcreate_timeÚtimeÚstrftimeÚ	localtime)ÚselfÚoutputÚstart_psÚhhmmssÚyearÚstart_psutils   &     r   Útest_process_create_timeÚ$TestProcess.test_process_create_time@   sÁ   € ÜÐ& t§x¡x jÐ1Ó2ˆØ—>‘> )¨RÓ0×6Ñ6Ó8ˆØ—‘ Ó$ RÕ(ˆØ�~‰~˜cÓ" 2Õ&ˆÜ—~’~ d§h¡hÓ/×;Ñ;Ó=ˆØœŸšØœŸš |Ó4ó
ô 
ð 	
ð 
ð ”t—}’} T¬4¯>ª>¸,Ó+GÓHÔHÐHÒHr!   © N)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Úclassmethodr+   r.   rD   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r%   r%   6   s7   ø‡ € àñ&ó ð&ð ñó ð÷	Ið 	Ir!   r%   c                   ón  a € ] tR t^Lt o ]! 4       R 4       tR tR t]P                  P                  ];'       d    ]RR7      R 4       tR t]P                  P                  ];'       d    ];'       d    ]RR7      ]! 4       R	 4       4       t]P                  P                  ];'       d    ];'       d    ]RR7      ]! 4       R
 4       4       t]! 4       R 4       t]! 4       R 4       t]! 4       R 4       t]! 4       R 4       tR t]P                  P                  ]'       * RR7      R 4       tR tRtV tR# )ÚTestSystemAPIsc                óš  € R  p\         P                  ! RR7       F¬  p\         P                  ! VP                  4      pV! VP                  4      w  rErgVP                  V8X  g   Q hVP
                  V8X  g   Q h\        VP                  V,
          4      \        8  g   Q h\        VP                  V,
          4      \        8  d   K¬  Q h	  R# )c                 ó\  € \        R V  R24      P                  4       pVP                  R4      pVP                  ^ 4       VP                  ^ 4      pVP                  4       R,          w  rErgVR8X  d   Rp\	        V4      R,          p\	        V4      R,          p\	        V4      R,          pWEWg3# )zdf -k "Ú"r   :Né   NÚnoner2   i   )r   r7   r   Úpopr   )Úpathr   Úlinesr    ÚdevÚtotalÚusedÚfrees   &       r   ÚdfÚ%TestSystemAPIs.test_disks.<locals>.dfU   s™   € Ü�w˜t˜f AÐ&Ó'×-Ñ-Ó/ˆCØ—I‘I˜d“OˆEØ�I‰I�aŒLØ—9‘9˜Q“<ˆDØ%)§Z¡Z£\°"Õ%5Ñ"ˆC˜Ø�fŒ}Ø�Ü˜“J Õ%ˆEÜ�t“9˜tÕ#ˆDÜ�t“9˜tÕ#ˆDØ˜tÐ)Ð)r!   F)ÚallN)
r8   Údisk_partitionsÚ
disk_usageÚ
mountpointÚdevicer[   Úabsr]   r   r\   )r>   r^   ÚpartÚusagerZ   r[   r\   r]   s   &       r   Ú
test_disksÚTestSystemAPIs.test_disksQ   s£   € ò	*ô ×*Ò*¨u×5ˆDÜ×%Ò% d§o¡oÓ6ˆEÙ%'¨¯©Ó%8Ñ"ˆC˜Ø—;‘; #Ô%Ð%Ð%Ø—;‘; %Ô'Ð'Ð'Ü�u—z‘z DÕ(Ó)Ô,@Ô@Ð@Ð@Ü�u—z‘z DÕ(Ó)Ô,@Ö@Ð@Ð@ó 6r!   c                óX   € \        R 4      pV\        P                  ! RR7      8X  g   Q hR# )zsysctl hw.logicalcpuT©ÚlogicalN©r   r8   Ú	cpu_count©r>   Únums   & r   Útest_cpu_count_logicalÚ%TestSystemAPIs.test_cpu_count_logicall   s&   € ÜÐ+Ó,ˆØ”f×&Ò&¨tÔ4Ô4Ð4Ò4r!   c                óX   € \        R 4      pV\        P                  ! RR7      8X  g   Q hR# )zsysctl hw.physicalcpuFrk   Nrm   ro   s   & r   Útest_cpu_count_coresÚ#TestSystemAPIs.test_cpu_count_coresp   s&   € ÜÐ,Ó-ˆØ”f×&Ò&¨uÔ5Ô5Ð5Ò5r!   zskipped due to #1892r"   c                ó,  € \         P                  ! 4       pVP                  R ,          R ,          \        R4      8X  g   Q hVP                  R ,          R ,          \        R4      8X  g   Q hVP
                  R ,          R ,          \        R4      8X  g   Q hR# )iè  zsysctl hw.cpufrequencyzsysctl hw.cpufrequency_minzsysctl hw.cpufrequency_maxN)r8   Úcpu_freqÚcurrentr   ÚminÚmax)r>   Úfreqs   & r   Útest_cpu_freqÚTestSystemAPIs.test_cpu_frequ   sr   € ä�ŠÓ ˆØ�|‰|˜dÕ" TÕ)¬VÐ4LÓ-MÔMÐMÐMØ�x‰x˜$� Õ%¬Ð0LÓ)MÔMÐMÐMØ�x‰x˜$� Õ%¬Ð0LÓ)MÔMÐMÒMr!   c                óh   € \        R 4      pV\        P                  ! 4       P                  8X  g   Q hR# )zsysctl hw.memsizeN)r   r8   Úvirtual_memoryr[   )r>   Úsysctl_hwphymems   & r   Útest_vmem_totalÚTestSystemAPIs.test_vmem_total~   s*   € Ü Ð!4Ó5ˆØ¤&×"7Ò"7Ó"9×"?Ñ"?Ô?Ð?Ò?r!   z%skipped on MACOS + ARM64 + CI_TESTINGc                ó’   € \        R 4      p\        P                  ! 4       P                  p\	        W!,
          4      \
        8  g   Q hR# )r]   N)r   r8   r   r]   re   r   ©r>   Ú
vmstat_valÚ
psutil_vals   &  r   Útest_vmem_freeÚTestSystemAPIs.test_vmem_free‚   s8   € ô ˜V“_ˆ
Ü×*Ò*Ó,×1Ñ1ˆ
Ü�:Õ*Ó+Ô.?Ô?Ð?Ò?r!   c                ó’   € \        R 4      p\        P                  ! 4       P                  p\	        W!,
          4      \
        8  g   Q hR# )ÚactiveN)r   r8   r   rŠ   re   r   r„   s   &  r   Útest_vmem_activeÚTestSystemAPIs.test_vmem_activeŒ   s9   € ô ˜XÓ&ˆ
Ü×*Ò*Ó,×3Ñ3ˆ
Ü�:Õ*Ó+Ô.?Ô?Ð?Ò?r!   c                ó’   € \        R 4      p\        P                  ! 4       P                  p\	        W!,
          4      \
        8  g   Q hR# )ÚinactiveN)r   r8   r   rŽ   re   r   r„   s   &  r   Útest_vmem_inactiveÚ!TestSystemAPIs.test_vmem_inactive–   s7   € ä˜ZÓ(ˆ
Ü×*Ò*Ó,×5Ñ5ˆ
Ü�:Õ*Ó+Ô.?Ô?Ð?Ò?r!   c                ó’   € \        R 4      p\        P                  ! 4       P                  p\	        W!,
          4      \
        8  g   Q hR# )ÚwiredN)r   r8   r   r’   re   r   r„   s   &  r   Útest_vmem_wiredÚTestSystemAPIs.test_vmem_wiredœ   s7   € ä˜WÓ%ˆ
Ü×*Ò*Ó,×2Ñ2ˆ
Ü�:Õ*Ó+Ô.?Ô?Ð?Ò?r!   c                ó’   € \        R 4      p\        P                  ! 4       P                  p\	        W!,
          4      \
        8  g   Q hR# )ÚPageinsN)r   r8   Úswap_memoryÚsinre   r   r„   s   &  r   Útest_swapmem_sinÚTestSystemAPIs.test_swapmem_sin¤   s7   € ä˜YÓ'ˆ
Ü×'Ò'Ó)×-Ñ-ˆ
Ü�:Õ*Ó+Ô.?Ô?Ð?Ò?r!   c                ó’   € \        R 4      p\        P                  ! 4       P                  p\	        W!,
          4      \
        8  g   Q hR# )ÚPageoutN)r   r8   r—   Úsoutre   r   r„   s   &  r   Útest_swapmem_soutÚ TestSystemAPIs.test_swapmem_soutª   s7   € ä˜YÓ'ˆ
Ü×'Ò'Ó)×.Ñ.ˆ
Ü�:Õ*Ó+Ô.?Ô?Ð?Ò?r!   c                óF  € \         P                  ! 4       P                  4        Fg  w  r \        R V 24      pVP                  RV9   8X  g   Q V4       hVP
                  \        \        P                  ! RV4      ^ ,          4      8X  g   Q hKi  	  R#   \         d     K{  i ; i)z	ifconfig ÚRUNNINGz	mtu (\d+)N)
r8   Únet_if_statsÚitemsr   ÚisupÚmtur   r   ÚfindallÚRuntimeError)r>   ÚnameÚstatsr   s   &   r   Útest_net_if_statsÚ TestSystemAPIs.test_net_if_stats²   s�   € Ü!×.Ò.Ó0×6Ñ6Ö8‰KˆDðJÜ˜9 T FÐ+Ó,�ð —z‘z i°3Ñ&6Ô7Ð<¸Ó<Ð7Ø—y‘y¤C¬¯
ª
°<ÀÓ(EÀaÕ(HÓ$IÔIÐIÒIó 9øô  ô Úðús   ªBÂB ÂB z
no batteryc                óF  € \        R 4      p\        P                  ! RV4      P                  ^4      p\        P                  ! RV4      P                  ^4      pVR8H  p\        P
                  ! 4       pVP                  V8X  g   Q hVP                  \        V4      8X  g   Q hR# )zpmset -g battz(\d+)%zNow drawing from '([^']+)'zAC PowerN)	r   r   r   r   r8   Úsensors_batteryÚpower_pluggedÚpercentr   )r>   r   r¯   Údrawing_fromr®   Úpsutil_results   &     r   Útest_sensors_batteryÚ#TestSystemAPIs.test_sensors_battery¾   s‡   € ä�Ó!ˆÜ—)’)˜I sÓ+×1Ñ1°!Ó4ˆÜ—y’yÐ!>ÀÓD×JÑJÈ1ÓMˆØ$¨
Ñ2ˆÜ×.Ò.Ó0ˆØ×*Ñ*¨mÔ;Ð;Ð;Ø×$Ñ$¬¨G«Ô4Ð4Ò4r!   c                óÂ   € \        R 4      p\        \        P                  ! RV4      P	                  ^ 4      ^ ,          4      p\
        P                  ! 4       pW#8X  g   Q hR# )zsysctl kern.boottimezsec\s*=\s*(\d+)N)r   Úfloatr   r   Úgroupsr8   Ú	boot_time)r>   r   ÚaÚbs   &   r   Útest_boot_timeÚTestSystemAPIs.test_boot_timeÊ   sJ   € ÜÐ'Ó(ˆÜ”"—)’)Ð.°Ó4×;Ñ;¸AÓ>¸qÕAÓBˆÜ×ÒÓˆØŒvˆŠvr!   rF   N)rG   rH   rI   rJ   r   rh   rq   rt   r
   ÚmarkÚskipifr   r   r|   r�   r   r‡   r‹   r�   r“   r™   rž   rª   r   r²   rº   rL   rM   rN   s   @r   rQ   rQ   L   sš  ø‡ € ñ
 ÓñAó ðAò45ò6ð
 ‡[�[×Ñ˜×)Ð) 'Ð2HÐÓIñNó JðNò@ð ‡[�[×ÑØ×(Ð(�u×(Ð( Ø6ð ó ñ Óñ@ó ó	ð
@ð
 ‡[�[×ÑØ×(Ð(�u×(Ð( Ø6ð ó ñ Óñ@ó ó	ð
@ñ
 Óñ@ó ð@ñ
 Óñ@ó ð@ñ Óñ@ó ð@ñ
 Óñ@ó ð@òJð ‡[�[×Ñ˜Kœ°ÐÓ=ñ5ó >ð5÷ð r!   rQ   )Ú__doc__r   r;   r8   r   r   Úpsutil.testsr   r   r   r   r   r	   r
   r   r   r   r   Úpsutil._psutil_posixr   r   r   r¼   r½   r%   rQ   rF   r!   r   Ú<module>rÁ      s³   ðñ ã 	Û ã Ý Ý Ý  Ý #Ý $Ý -Ý *Ý 'Ý Ý )Ý Ý &Ý "çÝ0ò	òAð ‡�×Ñ˜”I lÐÓ3ôI�.ó Ió 4ðIð* ‡�×Ñ˜”I lÐÓ3ôA�^ó Aó 4òAr!   