+
    VN÷h×Y ã                   ój  € R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
t
^ RIt^ RIt^ RIt^ RIH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 ^ 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I&H(t( ^ RI&H)t) ^ RI&H*t* ]PV                  PY                  ]PV                  P[                  ].4      4      t/Rt0Rt1Rt2Rt3]'       d   Rt4R  t5R! t6R" t7R# t8R$ t9R% t:R& t;R' t<R( t=]P|                  R) 4       t?]P|                  R* 4       t@] P‚                  P…                  ]'       * R+R,7       ! R- R.]4      4       tC] P‚                  P…                  ]'       * R+R,7       ! R/ R0]4      4       tD] P‚                  P…                  ]'       * R+R,7       ! R1 R2]4      4       tE] P‚                  P…                  ]'       * R+R,7       ! R3 R4]4      4       tF] P‚                  P…                  ]'       * R+R,7       ! R5 R6]4      4       tG] P‚                  P…                  ]'       * R+R,7       ! R7 R8]4      4       tH] P‚                  P…                  ]'       * R+R,7       ! R9 R:]4      4       tI] P‚                  P…                  ]'       * R+R,7       ! R; R<]4      4       tJ] P‚                  P…                  ]'       * R+R,7       ! R= R>]4      4       tK] P‚                  P…                  ]'       * R+R,7       ! R? R@]4      4       tL] P‚                  P…                  ]'       * R+R,7       ! RA RB]4      4       tM] P‚                  P…                  ]'       * R+R,7       ! RC RD]4      4       tN] P‚                  P…                  ]'       * R+R,7       ! RE RF]4      4       tO] P‚                  P…                  ]'       * R+R,7       ! RG RH]4      4       tP] P‚                  P…                  ]'       * R+R,7       ! RI RJ]4      4       tQ] P‚                  P…                  ]'       * R+R,7       ! RK RL]4      4       tR] P‚                  P…                  ]'       * R+R,7       ! RM RN]4      4       tS] P‚                  P…                  ]'       * R+R,7       ! RO RP]4      4       tT] P‚                  P…                  ]'       * R+R,7      ] P‚                  P…                  ]'       * RQR,7       ! RR RS]4      4       4       tU] P‚                  P…                  ]'       * R+R,7       ! RT RU]4      4       tV] P‚                  P…                  ]'       * R+R,7       ! RV RW]4      4       tW] P‚                  P…                  ]'       * R+R,7       ! RX RY]4      4       tX] P‚                  P…                  ]'       * R+R,7       ! RZ R[]4      4       tY] P‚                  P…                  ]'       * R+R,7       ! R\ R]]4      4       tZ] P‚                  P…                  ]'       * R+R,7       ! R^ R_]4      4       t[R# )`zLinux specific tests.N)Úmock)ÚLINUX)ÚAARCH64)ÚGITHUB_ACTIONS)ÚGLOBAL_TIMEOUT)ÚHAS_BATTERY)ÚHAS_CPU_FREQ)ÚHAS_GETLOADAVG)Ú
HAS_RLIMIT)ÚRISCV64)ÚTOLERANCE_DISK_USAGE)ÚTOLERANCE_SYS_MEM)ÚPsutilTestCase)Ú
ThreadTask)Ú
call_until)Úpytest)Úreload_module)Úretry_on_failure)Úsafe_rmpath)Úsh)Úskip_on_not_implemented)ÚCLOCK_TICKS)ÚRootFsDeviceFinder)Úcalculate_avail_vmem)Úopen_binaryi‰  i'‰  i‰  i‰  i   c                 óŽ  € ^ RI p\        V R,          R4      p \        P                  ! \        P                  \        P                  4      ;_uu_ 4       p\        P
                  ! VP                  VP                  4       \        \        P                  ! RV 4      4      R,          4      uuRRR4       #   + '       g   i     R# ; i©é    NºNé   NÚasciiÚ256s:é   é   N)ÚfcntlÚbytesÚsocketÚAF_INETÚ
SOCK_DGRAMÚ	inet_ntoaÚioctlÚfilenoÚSIOCGIFADDRÚstructÚpack©Úifnamer$   Úss   &  Ú9/usr/lib/python3/dist-packages/psutil/tests/test_linux.pyÚget_ipv4_addressr3   B   sx   € Ûä�6˜#•; Ó(€FÜ	�Š”v—~‘~¤v×'8Ñ'8×	9Ô	9¸QÜ×ÒØ�K‰K˜Ÿ™›
¤K´·²¸VÀVÓ1LÓMØõó
÷ 
:×	9×	9Ó	9úó   ÁAB3Â3C	c                 óŽ  € ^ RI p\        V R,          R4      p \        P                  ! \        P                  \        P                  4      ;_uu_ 4       p\        P
                  ! VP                  VP                  4       \        \        P                  ! RV 4      4      R,          4      uuRRR4       #   + '       g   i     R# ; ir   )r$   r%   r&   r'   r(   r)   r*   r+   ÚSIOCGIFNETMASKr-   r.   r/   s   &  r2   Úget_ipv4_netmaskr7   N   ó{   € Ûä�6˜#•; Ó(€FÜ	�Š”v—~‘~¤v×'8Ñ'8×	9Ô	9¸QÜ×ÒØ�K‰KØ—‘“
œN¬F¯KªK¸ÀÓ,Góàõó
÷ 
:×	9×	9Ó	9úr4   c                 óŽ  € ^ RI p\        V R,          R4      p \        P                  ! \        P                  \        P                  4      ;_uu_ 4       p\        P
                  ! VP                  VP                  4       \        \        P                  ! RV 4      4      R,          4      uuRRR4       #   + '       g   i     R# ; ir   )r$   r%   r&   r'   r(   r)   r*   r+   ÚSIOCGIFBRDADDRr-   r.   r/   s   &  r2   Úget_ipv4_broadcastr;   Z   r8   r4   c                 óŽ  € \        R 4      ;_uu_ 4       p. pV F4  pVP                  4       pVR,          V 8X  g   K#  VP                  V4       K6  	  \        V4      ^ 8X  d   \	        RV : 24      h RRR4       \        \        X4      4       Fœ  pW%,          ^ ,          p\        ^ \        V4      ^4       Uu. uF  qvWw^,            NK  	  ppRP                  V4      p	\        P                  ! \        P                  V	4      p
\        P                  ! \        P                  V
4      W%&   Kž  	  V#   + '       g   i     LÆ; iu upi )z/proc/net/if_inet6zcould not find interface NÚ:éÿÿÿÿ)ÚopenÚsplitÚappendÚlenÚ
ValueErrorÚrangeÚjoinr&   Ú	inet_ptonÚAF_INET6Ú	inet_ntop)r0   ÚfÚ
all_fieldsÚlineÚfieldsÚiÚunformattedÚjÚgroupsÚ	formattedÚpackeds   &          r2   Úget_ipv6_addressesrS   f   s  € Ü	Ð"×	#Ô	# qØˆ
ÛˆDØ—Z‘Z“\ˆFØ�b�z˜VÖ#Ø×!Ñ! &Ö)ñ ô
 ˆz‹?˜aÔÜÐ8¸¹
ÐCÓDÐDð  ÷ 
$ô ”3�z“?Ö#ˆØ •m AÕ&ˆä,1°!´S¸Ó5EÀqÔ,Ió
Ù,I q˜ �EÓ"Ñ,Ið 	ð 
ð —H‘H˜VÓ$ˆ	Ü×!Ò!¤&§/¡/°9Ó=ˆÜ×(Ò(¬¯©¸&ÓAˆ
‹ñ $ð Ð÷% 
$×	#üò
s   ”#D/¼4D/Â7EÄ/D?	c           
      ó¾  € ^ RI p\        V R,          R4      p \        P                  ! \        P                  \        P                  4      ;_uu_ 4       pVP                  VP                  4       \        \        P                  ! RV 4      4      pRP                  VR,           Uu. uF  qDR R2NK
  	  up4      RR	 uuRRR4       # u upi   + '       g   i     R# ; i)
r   Nr   r    r!   Ú :é   r#   NÚ02xr=   r>   )r$   r%   r&   r'   r(   r*   r+   ÚSIOCGIFHWADDRr-   r.   rE   )r0   r$   r1   ÚinfoÚchars   &    r2   Úget_mac_addressr[   |   s    € Ûä�6˜#•; Ó(€FÜ	�Š”v—~‘~¤v×'8Ñ'8×	9Ô	9¸QØ�{‰{Ø�H‰H‹Jœ¤v§{¢{°6¸6Ó'Bó
ˆð �w‰w°4¸¶;Ó?±;¨4 ˜* A›±;Ñ?Ó@ÀÀ"ÐE÷	 
:Ò	9ùò @÷	 
:×	9Ð	9ús   ÁACÂ$CÂ2	CÃCÃC	c                 óD  € \        RR.RR/R7      p V P                  R4      pV Fk  pVP                  R4      '       g   K  VP                  4       w  r4rV\        P                  ! RR4      pV! \        V4      \        V4      \        V4      4      u # 	  \        R	V  24      h)
zIParse 'free' cmd and return swap memory's s total, used and free
values.
Úfreeú-bÚLANGúC.UTF-8©ÚenvÚ
ÚSwapztotal used freez$can't find 'Swap' in 'free' output:
)r   r@   Ú
startswithÚcollectionsÚ
namedtupleÚintrC   )ÚoutÚlinesrK   Ú_ÚtotalÚusedr]   Únts           r2   Ú	free_swapro   ‡   s’   € ô ˆf�dˆ^ &¨)Ð!4Ô
5€CØ�I‰I�d‹O€EÛˆØ�?‰?˜6×"Ô"Ø#'§:¡:£<Ñ ˆA�dÜ×'Ò'¨Ð0AÓBˆBÙ”c˜%“j¤# d£)¬S°«YÓ7Ò7ñ	 ô
 Ð<¸S¸EÐBÓ
CÐCó    c                 ó*  € \        RR.RR/R7      p V P                  R4      pV F^  pVP                  R4      '       g   K  R VP                  4       R	,           4       w  r4rV\        P                  ! RR
4      pV! W4WVV 4      u # 	  \        RV  24      h)zKParse 'free' cmd and return physical memory's total, used
and free values.
r]   r^   r_   r`   ra   rc   ÚMemc              3   ó8   "  € T F  p\        V4      x € K  	  R # 5i©N)rh   ©Ú.0Úxs   & r2   Ú	<genexpr>Úfree_physmem.<locals>.<genexpr>¡   s   é € Ð(KÑ9J°A¬¨Q¯¨Ó9Jùó   ‚:é   é   Nztotal used free shared outputz#can't find 'Mem' in 'free' output:
)r   r@   re   rf   rg   rC   )ri   rj   rK   rl   rm   r]   Úsharedrn   s           r2   Úfree_physmemr~   •   s•   € ô ˆf�dˆ^ &¨)Ð!4Ô
5€CØ�I‰I�d‹O€EÛˆØ�?‰?˜5×!Ô!Ù(K¸¿¹»ÀcÖ9JÓ(KÑ%ˆE˜Ü×'Ò'ØÐ7óˆBñ �e 4°Ó5Ò5ñ ô Ð;¸C¸5ÐAÓ
BÐBrp   c                 óæ   € \        R R.RR/R7      pVP                  R4       F<  pVP                  4       pW9   g   K  \        VP                  R4      ^ ,          4      u # 	  \	        RV : R24      h)	Úvmstatz-sr_   r`   ra   rc   Ú úcan't find z in 'vmstat' output)r   r@   Ústriprh   rC   )Ústatri   rK   s   &  r2   r€   r€   ©   si   € Ü
ˆh˜Ð F¨IÐ#6Ô
7€CØ—	‘	˜$–ˆØ�z‰z‹|ˆØŽ<Ü�t—z‘z #“ qÕ)Ó*Ò*ñ  ô �{ 4¡(Ð*=Ð>Ó
?Ð?rp   c            
      óø   € \        R R.4      P                  4       p RV 9   d   \        P                  ! R4      h\	        \        \        \        P                  ! RV P                  4       R,          4      4      4      # )r]   z-VÚUNKNOWNzcan't determine free versionz\d+r>   )
r   rƒ   r   ÚskipÚtupleÚmaprh   ÚreÚfindallr@   )ri   s    r2   Úget_free_version_inforŒ   ²   sX   € Ü
ˆf�dˆ^Ó
×
"Ñ
"Ó
$€CØ�CÔÜ�kŠkÐ8Ó9Ð9Ü””Sœ"Ÿ*š* V¨S¯Y©Y«[¸­_Ó=Ó>Ó?Ð?rp   c              #  ó°   a a"  € VV 3R lp\         o\        P                  ! RRVR7      ;_uu_ 4       pVx € RRR4       R#   + '       g   i     R# ; i5i)z|Mock open() builtin and forces it to return a certain content
for a given path. `pairs` is a {"path": "content", ...} dict.
c                 óÀ   <€ V S9   dL   SV ,          p\        V\        4      '       d   \        P                  ! V4      # \        P                  ! V4      # S! V .VO5/ VB # rt   )Ú
isinstanceÚstrÚioÚStringIOÚBytesIO)ÚnameÚargsÚkwargsÚcontentÚ	orig_openÚpairss   &*, €€r2   Ú	open_mockÚ$mock_open_content.<locals>.open_mock¿   sS   ø€ Ø�5Œ=Ø˜D•kˆGÜ˜'¤3×'Ò'Ü—{’{ 7Ó+Ð+ä—z’z 'Ó*Ð*á˜TÐ3 DÒ3¨FÑ3Ð3rp   úbuiltins.openT©ÚcreateÚside_effectN©r?   r   Úpatch)r™   rš   Úmr˜   s   f  @r2   Úmock_open_contentr£   ¹   s;   ùé € ö4ô €IÜ	�Š�O¨D¸i×	HÕ	HÈAØŠ÷ 
I×	H×	HÒ	Hüs   „/A³A¸
AÁA	Á	Ac              #  ó´   a aa"  € VV V3R lp\         o\        P                  ! RRVR7      ;_uu_ 4       pVx € RRR4       R#   + '       g   i     R# ; i5i)zRMock open() builtin and raises `exc` if the path being opened
matches `for_path`.
c                 ó.   <€ V S8X  d   ShS! V .VO5/ VB # rt   © )r”   r•   r–   ÚexcÚfor_pathr˜   s   &*,€€€r2   rš   Ú&mock_open_exception.<locals>.open_mockÔ   s%   ø€ Ø�8ÔØˆIÙ˜Ð/ Ò/¨Ñ/Ð/rp   rœ   Tr�   Nr    )r¨   r§   rš   r¢   r˜   s   ff  @r2   Úmock_open_exceptionrª   Î   s;   úé € ÷0ô
 €IÜ	�Š�O¨D¸i×	HÕ	HÈAØŠ÷ 
I×	H×	HÒ	Hüs   …0AµAº
AÁA	Á	Az
LINUX only©Úreasonc                   óŽ   a € ] tR t^ãt o R t]! 4       R 4       t]! 4       R 4       t]! 4       R 4       t]! 4       R 4       t	Rt
V tR# )Ú"TestSystemVirtualMemoryAgainstFreec                ó|   € \        4       P                  p\        P                  ! 4       P                  pW8X  g   Q hR # rt   )r~   rl   ÚpsutilÚvirtual_memory©ÚselfÚ	cli_valueÚpsutil_values   &  r2   Ú
test_totalÚ-TestSystemVirtualMemoryAgainstFree.test_totalå   s/   € Ü “N×(Ñ(ˆ	Ü×,Ò,Ó.×4Ñ4ˆØÔ(Ð(Ò(rp   c                óî   € \        4       R8  d   \        P                  ! R4      h\        4       P                  p\
        P                  ! 4       P                  p\        W,
          4      \        8  g   Q hR# )é   úfree version too oldN©r¹   r   r   )	rŒ   r   r‡   r~   rm   r°   r±   Úabsr   r²   s   &  r2   Ú	test_usedÚ,TestSystemVirtualMemoryAgainstFree.test_usedê   sW   € ô !Ó" YÔ.Ü—+’+Ð4Ó5Ð5Ü “N×'Ñ'ˆ	Ü×,Ò,Ó.×3Ñ3ˆÜ�9Õ+Ó,Ô/@Ô@Ð@Ò@rp   c                ó¤   € \        4       P                  p\        P                  ! 4       P                  p\	        W,
          4      \
        8  g   Q hR # rt   )r~   r]   r°   r±   r¼   r   r²   s   &  r2   Ú	test_freeÚ,TestSystemVirtualMemoryAgainstFree.test_freeú   s:   € ä “N×'Ñ'ˆ	Ü×,Ò,Ó.×3Ñ3ˆÜ�9Õ+Ó,Ô/@Ô@Ð@Ò@rp   c                ó  € \        4       pVP                  pV^ 8X  d   \        P                  ! R4      h\        P
                  ! 4       P                  p\        W#,
          4      \        8  g   Q V RV RVP                   24       hR# )r   z%free does not support 'shared' columnr�   z 
N)	r~   r}   r   r‡   r°   r±   r¼   r   Úoutput)r³   r]   Ú
free_valuerµ   s   &   r2   Útest_sharedÚ.TestSystemVirtualMemoryAgainstFree.test_shared   ss   € ä‹~ˆØ—[‘[ˆ
Ø˜Œ?Ü—+’+ÐEÓFÐFÜ×,Ò,Ó.×5Ñ5ˆä�
Õ)Ó*Ô->Ô>ð	:àˆ\˜˜<˜.¨¨D¯K©K¨=Ð9ó	:Ú>rp   c                óN  € \        R R.4      pVP                  R4      pRV^ ,          9  d   \        P                  ! R4      h\	        V^,          P                  4       R,          4      p\
        P                  ! 4       P                  p\        W4,
          4      \        8  g   Q hR# )r]   r^   rc   Ú	availablez(free does not support 'available' columnNr>   )
r   r@   r   r‡   rh   r°   r±   rÈ   r¼   r   )r³   ri   rj   rÄ   rµ   s   &    r2   Útest_availableÚ1TestSystemVirtualMemoryAgainstFree.test_available  s€   € ô �&˜$�Ó ˆØ—	‘	˜$“ˆØ˜e A�hÔ&Ü—+’+ÐHÓIÐIÜ˜˜q�Ÿ™Ó)¨"Õ-Ó.ˆ
Ü×,Ò,Ó.×8Ñ8ˆÜ�:Õ,Ó-Ô0AÔAÐAÒArp   r¦   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r¶   r   r½   rÀ   rÅ   rÉ   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r2   r®   r®   ã   sl   ø‡ € ò)ñ
 ÓñAó ðAñ ÓñAó ðAñ
 Óñ:ó ð:ñ Óñ	Bó ö	Brp   r®   c                   ó¨   a € ] tR tRt o R t]! 4       R 4       t]! 4       R 4       t]! 4       R 4       t]! 4       R 4       t	]! 4       R 4       t
RtV tR	# )
Ú$TestSystemVirtualMemoryAgainstVmstati  c                ó    € \        R 4      R,          p\        P                  ! 4       P                  p\	        W,
          4      \
        8  g   Q hR# )ztotal memoryé   N)r€   r°   r±   rl   r¼   r   ©r³   Úvmstat_valuerµ   s   &  r2   r¶   Ú/TestSystemVirtualMemoryAgainstVmstat.test_total  s<   € Ü˜nÓ-°Õ4ˆÜ×,Ò,Ó.×4Ñ4ˆÜ�<Õ.Ó/Ô2CÔCÐCÒCrp   c                óê   € \        4       R8  d   \        P                  ! R4      h\        R4      R,          p\        P
                  ! 4       P                  p\        W,
          4      \        8  g   Q hR# )r¹   rº   zused memoryrÖ   Nr»   )	rŒ   r   r‡   r€   r°   r±   rm   r¼   r   r×   s   &  r2   r½   Ú.TestSystemVirtualMemoryAgainstVmstat.test_used  sY   € ô !Ó" YÔ.Ü—+’+Ð4Ó5Ð5Ü˜mÓ,¨tÕ3ˆÜ×,Ò,Ó.×3Ñ3ˆÜ�<Õ.Ó/Ô2CÔCÐCÒCrp   c                ó    € \        R 4      R,          p\        P                  ! 4       P                  p\	        W,
          4      \
        8  g   Q hR# )zfree memoryrÖ   N)r€   r°   r±   r]   r¼   r   r×   s   &  r2   rÀ   Ú.TestSystemVirtualMemoryAgainstVmstat.test_free/  s<   € ä˜mÓ,¨tÕ3ˆÜ×,Ò,Ó.×3Ñ3ˆÜ�<Õ.Ó/Ô2CÔCÐCÒCrp   c                ó    € \        R 4      R,          p\        P                  ! 4       P                  p\	        W,
          4      \
        8  g   Q hR# )zbuffer memoryrÖ   N)r€   r°   r±   Úbuffersr¼   r   r×   s   &  r2   Útest_buffersÚ1TestSystemVirtualMemoryAgainstVmstat.test_buffers5  s<   € ä˜oÓ.°Õ5ˆÜ×,Ò,Ó.×6Ñ6ˆÜ�<Õ.Ó/Ô2CÔCÐCÒCrp   c                ó    € \        R 4      R,          p\        P                  ! 4       P                  p\	        W,
          4      \
        8  g   Q hR# )zactive memoryrÖ   N)r€   r°   r±   Úactiver¼   r   r×   s   &  r2   Útest_activeÚ0TestSystemVirtualMemoryAgainstVmstat.test_active;  s<   € ä˜oÓ.°Õ5ˆÜ×,Ò,Ó.×5Ñ5ˆÜ�<Õ.Ó/Ô2CÔCÐCÒCrp   c                ó    € \        R 4      R,          p\        P                  ! 4       P                  p\	        W,
          4      \
        8  g   Q hR# )zinactive memoryrÖ   N)r€   r°   r±   Úinactiver¼   r   r×   s   &  r2   Útest_inactiveÚ2TestSystemVirtualMemoryAgainstVmstat.test_inactiveA  s=   € äÐ/Ó0°4Õ7ˆÜ×,Ò,Ó.×7Ñ7ˆÜ�<Õ.Ó/Ô2CÔCÐCÒCrp   r¦   N)rË   rÌ   rÍ   rÎ   r¶   r   r½   rÀ   rà   rä   rè   rÏ   rÐ   rÑ   s   @r2   rÔ   rÔ     sˆ   ø‡ € òDñ
 ÓñDó ðDñ ÓñDó ðDñ
 ÓñDó ðDñ
 ÓñDó ðDñ
 ÓñDó öDrp   rÔ   c                   óX   a € ] tR tRt o R t]! 4       R 4       tR tR tR t	R t
RtV tR	# )
ÚTestSystemVirtualMemoryMocksiH  c           	     óp  € \         P                  ! R 4      P                  4       p\        RV/4      ;_uu_ 4       p\        P
                  ! RR7      ;_uu_ 4       p\        P                  ! R4       \        P                  ! 4       pVP                  '       g   Q h\        V4      ^8X  g   Q hV^ ,          pR\        VP                  4      9   g   Q hR\        VP                  4      9   g   Q hR\        VP                  4      9   g   Q hR\        VP                  4      9   g   Q hR	\        VP                  4      9   g   Q hR
\        VP                  4      9   g   Q hR\        VP                  4      9   g   Q hVP                  ^ 8X  g   Q hVP                  ^ 8X  g   Q hVP                  ^ 8X  g   Q hVP                   ^ 8X  g   Q hVP"                  ^ 8X  g   Q hVP$                  ^ 8X  g   Q hVP&                  ^ 8X  g   Q h RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)aL              Active(anon):    6145416 kB
            Active(file):    2950064 kB
            Inactive(anon):   574764 kB
            Inactive(file):  1567648 kB
            MemAvailable:         -1 kB
            MemFree:         2057400 kB
            MemTotal:       16325648 kB
            SReclaimable:     346648 kB
            ú/proc/meminfoT©ÚrecordÚalwaysz#memory stats couldn't be determinedÚcachedr}   rã   rç   rß   rÈ   N)ÚtextwrapÚdedentÚencoder£   ÚwarningsÚcatch_warningsÚsimplefilterr°   r±   ÚcalledrB   r�   Úmessagerñ   rã   rç   r}   rß   rÈ   Úslab©r³   r—   r¢   ÚwsÚretÚws   &     r2   Útest_warnings_on_missesÚ4TestSystemVirtualMemoryMocks.test_warnings_on_missesJ  s¼  € ô —/’/ð 	#ó 	÷ ‘“ð 	ô  °Ð9×:Ô:¸aÜ×(Ò(°×5Õ5¸Ü×%Ò% hÔ/Ü×+Ò+Ó-�Ø—x—x�x��xÜ˜2“w !”|Ð#�|Ø�q•E�Ø<ÄÀAÇIÁIÃÔNÐNÐNØ¤3 q§y¡y£>Ô1Ð1Ð1Ø¤3 q§y¡y£>Ô1Ð1Ð1Ø¤3 q§y¡y£>Ô1Ð1Ð1Ø!¤S¨¯©£^Ô3Ð3Ð3Ø ¤C¨¯	©	£NÔ2Ð2Ð2Ø"¤c¨!¯)©)£nÔ4Ð4Ð4Ø—z‘z Q”Ð&�Ø—z‘z Q”Ð&�Ø—|‘| qÔ(Ð(Ð(Ø—z‘z Q”Ð&�Ø—{‘{ aÔ'Ð'Ð'Ø—}‘}¨Ô)Ð)Ð)Ø—x‘x 1”}Ð$‘}÷' 6÷ ;Ñ:ß5×5ú÷ ;×:Ð:ús$   º H$ÁF$H	Ç?H$ÈH!ÈH$È$H5	c                óh  € / p\        R 4      ;_uu_ 4       pV F5  pVP                  4       p\        V^,          4      R,          W^ ,          &   K7  	  RRR4       \        V4      pRV9   d4   VR,          p\	        WV,
          4      V,          ^d,          pV^8  g   Q hR# R#   + '       g   i     LW; i)rí   rÖ   Ns   MemAvailable:)r   r@   rh   r   r¼   )r³   ÚmemsrI   rK   rL   ÚaÚbÚdiff_percents   &       r2   Útest_avail_old_percentÚ3TestSystemVirtualMemoryMocks.test_avail_old_percentn  s—   € ð ˆÜ˜×)Ô)¨QÛ�ØŸ™›�Ü"% f¨Q¥i£.°4Õ"7�˜A•Y“ñ ÷ *ô
 ! Ó&ˆØ˜tÔ#ØÐ%Õ&ˆAÜ˜q�u›:¨�>¨CÕ/ˆLØ "Ô$Ð$Ò$ñ $÷ *×)ús   –<B!Â!B1	c           	     óì  € \         P                  ! R 4      P                  4       p\        RV/4      ;_uu_ 4       p\        P
                  ! RR7      ;_uu_ 4       p\        P                  ! 4       pRRR4       VP                  '       g   Q hXP                  R8X  g   Q hX^ ,          pR\        VP                  4      9   g   Q h RRR4       R#   + '       g   i     Lg; i  + '       g   i     R# ; i)a              Active:          9444728 kB
            Active(anon):    6145416 kB
            Active(file):    2950064 kB
            Buffers:          287952 kB
            Cached:          4818144 kB
            Inactive(file):  1578132 kB
            Inactive(anon):   574764 kB
            Inactive(file):  1567648 kB
            MemAvailable:    6574984 kB
            MemFree:         2057400 kB
            MemTotal:       16325648 kB
            Shmem:            577588 kB
            SReclaimable:     346648 kB
            rí   Trî   Nú,inactive memory stats couldn't be determinedl     œ" ©rò   ró   rô   r£   rõ   rö   r°   r±   rø   rÈ   r�   rù   rû   s   &     r2   Ú test_avail_old_comes_from_kernelÚ=TestSystemVirtualMemoryMocks.test_avail_old_comes_from_kernel~  sÁ   € ô —/’/ð #ó ÷ ‘“ð 	ô  °Ð9×:Ô:¸aÜ×(Ò(°×5Õ5¸Ü×+Ò+Ó-�÷ 6à—8—8�8ˆO�8Ø—=‘= NÔ2Ð2Ð2Ø�1•ˆAØAÄSØ—	‘	óFô ð ñ ÷ ;Ñ:ß5×5ú÷ ;×:Ð:úó)   º C"ÁC	Á0C"Â
:C"ÃCÃC"Ã"C3	c           	     óì  € \         P                  ! R 4      P                  4       p\        RV/4      ;_uu_ 4       p\        P
                  ! RR7      ;_uu_ 4       p\        P                  ! 4       pRRR4       VP                  '       g   Q hXP                  R8X  g   Q hX^ ,          pR\        VP                  4      9   g   Q h RRR4       R#   + '       g   i     Lg; i  + '       g   i     R# ; i)at              Active:          9444728 kB
            Active(anon):    6145416 kB
            Buffers:          287952 kB
            Cached:          4818144 kB
            Inactive(file):  1578132 kB
            Inactive(anon):   574764 kB
            MemFree:         2057400 kB
            MemTotal:       16325648 kB
            Shmem:            577588 kB
            rí   Trî   Nr	  ì    `LG r
  rû   s   &     r2   Útest_avail_old_missing_fieldsÚ:TestSystemVirtualMemoryMocks.test_avail_old_missing_fieldsš  sÂ   € ô —/’/ð 
#ó 
÷ ‘“ð 	ô  °Ð9×:Ô:¸aÜ×(Ò(°×5Õ5¸Ü×+Ò+Ó-�÷ 6à—8—8�8ˆO�8Ø—=‘=Ð$CÔCÐCÐCØ�1•ˆAØAÄSØ—	‘	óFô ð ñ ÷ ;Ñ:ß5×5ú÷ ;×:Ð:úr  c                ó,  € \         P                  ! R 4      P                  4       p\        RV/4      ;_uu_ 4        \	        R\
        4      ;_uu_ 4        \        P                  ! RR7      ;_uu_ 4       p\        P                  ! 4       pVP                  R8X  g   Q hV^ ,          pR\        VP                  4      9   g   Q h RRR4       RRR4       RRR4       R#   + '       g   i     L"; i  + '       g   i     L-; i  + '       g   i     R# ; i)aì              Active:          9444728 kB
            Active(anon):    6145416 kB
            Active(file):    2950064 kB
            Buffers:          287952 kB
            Cached:          4818144 kB
            Inactive(file):  1578132 kB
            Inactive(anon):   574764 kB
            Inactive(file):  1567648 kB
            MemFree:         2057400 kB
            MemTotal:       16325648 kB
            Shmem:            577588 kB
            SReclaimable:     346648 kB
            rí   z/proc/zoneinfoTrî   r	  Nr  )rò   ró   rô   r£   rª   ÚFileNotFoundErrorrõ   rö   r°   r±   rÈ   r�   rù   )r³   r—   rü   rý   rþ   s   &    r2   Útest_avail_old_missing_zoneinfoÚ<TestSystemVirtualMemoryMocks.test_avail_old_missing_zoneinfo³  sÎ   € ô —/’/ð #ó ÷ ‘“ð 	ô  °Ð9×:Õ:Ü$Ð%5Ô7H×IÕIÜ×,Ò,°D×9Õ9¸RÜ ×/Ò/Ó1�CØŸ=™=Ð,KÔKÐKÐKØ˜1��AàFÜ˜qŸy™y›>ô*ðñ*÷ :÷ J÷ ;Ñ:ç9×9ú÷ J×Iú÷ ;×:Ð:ús<   ºDÁ C/	Á3ACÃC/	Ã
DÃC,Ã'C/	Ã/C?Ã:DÄD	c                ó\  € \         P                  ! R 4      P                  4       p\        RV/4      ;_uu_ 4       p\        P
                  ! 4       pVP                  '       g   Q hVP                  R8X  g   Q hVP                  R8X  g   Q hVP                  R8X  g   Q hVP                  R8X  g   Q hVP                  R8X  g   Q hVP                  R8X  g   Q hVP                  R	8X  g   Q hVP                  R
8X  g   Q hVP                  R8X  g   Q h RRR4       R#   + '       g   i     R# ; i)aµ              MemTotal:              100 kB
            MemFree:               2 kB
            MemAvailable:          3 kB
            Buffers:               4 kB
            Cached:                5 kB
            SwapCached:            6 kB
            Active:                7 kB
            Inactive:              8 kB
            Active(anon):          9 kB
            Inactive(anon):        10 kB
            Active(file):          11 kB
            Inactive(file):        12 kB
            Unevictable:           13 kB
            Mlocked:               14 kB
            SwapTotal:             15 kB
            SwapFree:              16 kB
            Dirty:                 17 kB
            Writeback:             18 kB
            AnonPages:             19 kB
            Mapped:                20 kB
            Shmem:                 21 kB
            Slab:                  22 kB
            SReclaimable:          23 kB
            SUnreclaim:            24 kB
            KernelStack:           25 kB
            PageTables:            26 kB
            NFS_Unstable:          27 kB
            Bounce:                28 kB
            WritebackTmp:          29 kB
            CommitLimit:           30 kB
            Committed_AS:          31 kB
            VmallocTotal:          32 kB
            VmallocUsed:           33 kB
            VmallocChunk:          34 kB
            HardwareCorrupted:     35 kB
            AnonHugePages:         36 kB
            ShmemHugePages:        37 kB
            ShmemPmdMapped:        38 kB
            CmaTotal:              39 kB
            CmaFree:               40 kB
            HugePages_Total:       41 kB
            HugePages_Free:        42 kB
            HugePages_Rsvd:        43 kB
            HugePages_Surp:        44 kB
            Hugepagesize:          45 kB
            DirectMap46k:          46 kB
            DirectMap47M:          47 kB
            DirectMap48G:          48 kB
            rí   Ni � i   é   i p  i T  i   i    i X  é   )rò   ró   rô   r£   r°   r±   rø   rl   r]   rß   rñ   r}   rã   rç   rú   rÈ   )r³   r—   r¢   Úmems   &   r2   Útest_virtual_memory_mockedÚ7TestSystemVirtualMemoryMocks.test_virtual_memory_mockedÏ  s  € ä—/’/ð 1#ó 1÷b ‘“ðc 	ôd  °Ð9×:Ô:¸aÜ×'Ò'Ó)ˆCØ—8—8�8ˆO�8Ø—9‘9 
Ô*Ð*Ð*Ø—8‘8˜xÔ'Ð'Ð'Ø—;‘; (Ô*Ð*Ð*à—:‘: Ô0Ð0Ð0Ø—:‘: Ô*Ð*Ð*Ø—:‘: Ô)Ð)Ð)Ø—<‘< 8Ô+Ð+Ð+Ø—8‘8˜yÔ(Ð(Ð(Ø—=‘= HÔ,Ð,Ñ,÷ ;×:×:Ò:ús   ºCDÄD+	r¦   N)rË   rÌ   rÍ   rÎ   rÿ   r   r  r  r  r  r  rÏ   rÐ   rÑ   s   @r2   rë   rë   H  s=   ø‡ € ò"%ñH Óñ%ó ð%òò8ò2÷8@-ð @-rp   rë   c                   ó‚   a € ] tR tRt o ]R 4       tR t]! 4       R 4       t]! 4       R 4       t	R t
R tR tR	 tR
tV tR# )ÚTestSystemSwapMemoryi  c                 ó¤   € \        R4      ;_uu_ 4       p V P                  4       pRRR4       RX9   ;'       d    RV9   #   + '       g   i     L"; i)z3Return True if /proc/meminfo provides swap metrics.rí   Nz
SwapTotal:z	SwapFree:)r?   Úread)rI   Údatas     r2   Úmeminfo_has_swap_infoÚ*TestSystemSwapMemory.meminfo_has_swap_info  sB   € ô �/×"Ô" aØ—6‘6“8ˆD÷ #à˜tÑ#×;Ð;¨°tÑ(;Ð;÷ #×"ús	   ”?¿A	c                ó¤   € \        4       P                  p\        P                  ! 4       P                  p\	        W,
          4      \
        8  g   Q hR # rt   )ro   rl   r°   Úswap_memoryr¼   r   ©r³   rÄ   rµ   s   &  r2   r¶   ÚTestSystemSwapMemory.test_total   s:   € Ü“[×&Ñ&ˆ
Ü×)Ò)Ó+×1Ñ1ˆÜ�:Õ,Ó-Ô0AÔAÐAÒArp   c                ó¤   € \        4       P                  p\        P                  ! 4       P                  p\	        W,
          4      \
        8  g   Q hR # rt   )ro   rm   r°   r$  r¼   r   r%  s   &  r2   r½   ÚTestSystemSwapMemory.test_used%  ó:   € ä“[×%Ñ%ˆ
Ü×)Ò)Ó+×0Ñ0ˆÜ�:Õ,Ó-Ô0AÔAÐAÒArp   c                ó¤   € \        4       P                  p\        P                  ! 4       P                  p\	        W,
          4      \
        8  g   Q hR # rt   )ro   r]   r°   r$  r¼   r   r%  s   &  r2   rÀ   ÚTestSystemSwapMemory.test_free+  r)  rp   c           	     ó0  € \         P                  ! R RR7      ;_uu_ 4       p\        P                  ! RR7      ;_uu_ 4       p\        P                  ! R4       \
        P                  ! 4       pVP                  '       g   Q h\        V4      ^8X  g   Q hV^ ,          pR\        VP                  4      9   g   Q hVP                  ^ 8X  g   Q hVP                  ^ 8X  g   Q h RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)úpsutil._common.openT©rž   rî   rð   z9'sin' and 'sout' swap memory stats couldn't be determinedN)r   r¡   rõ   rö   r÷   r°   r$  rø   rB   r�   rù   ÚsinÚsout©r³   r¢   rü   rý   rþ   s   &    r2   Útest_missing_sin_soutÚ*TestSystemSwapMemory.test_missing_sin_sout1  sÊ   € Ü�ZŠZÐ-°d×;Õ;¸qÜ×(Ò(°×5Õ5¸Ü×%Ò% hÔ/Ü×(Ò(Ó*�Ø—x—x�x��xÜ˜2“w !”|Ð#�|Ø�q•E�àOÜ˜1Ÿ9™9“~ô&ðð&ð —w‘w !”|Ð#�|Ø—x‘x 1”}Ð$‘}÷ 6÷ <Ñ;ß5×5ú÷ <×;Ð;ús$   ¡ DÁBC1	ÃDÃ1DÃ<DÄD	c           	     ó   € \        R \        4      ;_uu_ 4       p\        P                  ! RR7      ;_uu_ 4       p\        P                  ! R4       \
        P                  ! 4       pVP                  '       g   Q h\        V4      ^8X  g   Q hV^ ,          pR\        VP                  4      9   g   Q hVP                  ^ 8X  g   Q hVP                  ^ 8X  g   Q h RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)z/proc/vmstatTrî   rð   zK'sin' and 'sout' swap memory stats couldn't be determined and were set to 0N)rª   r  rõ   rö   r÷   r°   r$  rø   rB   r�   rù   r/  r0  r1  s   &    r2   Útest_no_vmstat_mockedÚ*TestSystemSwapMemory.test_no_vmstat_mocked@  sÊ   € ä  Ô1B×CÔCÀqÜ×(Ò(°×5Õ5¸Ü×%Ò% hÔ/Ü×(Ò(Ó*�Ø—x—x�x��xÜ˜2“w !”|Ð#�|Ø�q•E�ð6ä˜1Ÿ9™9“~ô&ðð&ð —w‘w !”|Ð#�|Ø—x‘x 1”}Ð$‘}÷ 6÷ DÑCß5×5ú÷ D×CÐCús#   ™ C<¹BC)	ÃC<Ã)C9Ã4C<Ã<D	c                óð  € V P                  4       '       g   \        P                  ! R 4      h\        P                  ! R4      ;_uu_ 4       p\
        P                  ! 4       pRRR4       XP                  '       d   Q h^ RIH	p VP                  4       w     rErgWW,          pWg,          pXP                  V8X  g   Q h\        VP                  V,
          4      \        8  g   Q hR#   + '       g   i     LŒ; i)z!/proc/meminfo has no swap metricsz"psutil._pslinux.cext.linux_sysinfoN)r!  r   r‡   r   r¡   r°   r$  rø   Úpsutil._psutil_linuxÚ_psutil_linuxÚlinux_sysinforl   r¼   r]   r   )r³   r¢   ÚswapÚcextrk   rl   r]   Úunit_multipliers   &       r2   Útest_meminfo_against_sysinfoÚ1TestSystemSwapMemory.test_meminfo_against_sysinfoQ  sº   € ð ×)Ñ)×+Ò+Ü—+’+ÐAÓBÐBÜ�ZŠZÐ<×=Ô=ÀÜ×%Ò%Ó'ˆD÷ >à—8—8�8Ðˆ|Ý+à37×3EÑ3EÓ3GÑ0ˆˆ1ˆa�˜4ØÕ ˆØÕˆØ�z‰z˜UÔ"Ð"Ð"Ü�4—9‘9˜tÕ#Ó$Ô'8Ô8Ð8Ò8÷ >×=ús   ÁC%Ã%C5	c                ó¾   € \        R R/4      ;_uu_ 4       p\        P                  ! 4        VP                  '       g   Q h RRR4       R#   + '       g   i     R# ; i)rí   rp   N)r£   r°   r$  rø   ©r³   r¢   s   & r2   Ú#test_emulate_meminfo_has_no_metricsÚ8TestSystemSwapMemory.test_emulate_meminfo_has_no_metricsb  s>   € ô  °Ð5×6Ô6¸!Ü×ÒÔ Ø—8—8�8ˆO‘8÷ 7×6×6Ò6ús   –*AÁA	r¦   N)rË   rÌ   rÍ   rÎ   Ústaticmethodr!  r¶   r   r½   rÀ   r2  r5  r>  rB  rÏ   rÐ   rÑ   s   @r2   r  r    sh   ø‡ € àñ<ó ð<òBñ
 ÓñBó ðBñ
 ÓñBó ðBò
%ò%ò"9÷"ð rp   r  c                   ó&   a € ] tR tRt o R tRtV tR# )ÚTestSystemCPUTimesip  c                ó¢  € \         P                  ! 4       P                  p\        P                  ! R \
        P                  ! 4       ^,          4      ^ ,          p\        \        \        VP                  R4      4      4      pVR8¼  d   RV9   g   Q hM	RV9  g   Q hVR8¼  d   RV9   g   Q hM	RV9  g   Q hVR8¼  d   RV9   g   Q hR# RV9  g   Q hR# )	z\d+\.\d+\.\d+Ú.ÚstealÚguestÚ
guest_niceN)é   é   é   )rL  rM  r#   )é   rL  r   )r°   Ú	cpu_timesÚ_fieldsrŠ   r‹   ÚosÚunamerˆ   r‰   rh   r@   )r³   rL   Ú
kernel_verÚkernel_ver_infos   &   r2   Útest_fieldsÚTestSystemCPUTimes.test_fieldsr  s¾   € Ü×!Ò!Ó#×+Ñ+ˆÜ—Z’ZÐ 0´"·(²(³*¸Qµ-Ó@ÀÕCˆ
Ü¤¤C¨×)9Ñ)9¸#Ó)>Ó ?Ó@ˆØ˜jÔ(Ø˜fÔ$Ð$Ñ$à &Ô(Ð(Ð(Ø˜jÔ(Ø˜fÔ$Ð$Ñ$à &Ô(Ð(Ð(Ø˜iÔ'Ø 6Ô)Ð)Ò)à vÔ-Ð-Ò-rp   r¦   N)rË   rÌ   rÍ   rÎ   rV  rÏ   rÐ   rÑ   s   @r2   rF  rF  p  s   ø‡ € ÷.ð .rp   rF  c                   ó
  a € ] tR tRt o ]P
                  P                  ]P                  P                  R4      '       * RR7      R 4       t
]P
                  P                  ]P                  P                  R4      '       * RR7      R 4       t]P
                  P                  ]P                  ! R	4      '       * R
R7      R 4       t]P
                  P                  ]P                  ! R4      '       * RR7      R 4       tR tRtV tR# )ÚTestSystemCPUCountLogicali„  ú/sys/devices/system/cpu/onlinez-/sys/devices/system/cpu/online does not existr«   c                óL  € \        R 4      ;_uu_ 4       pVP                  4       P                  4       pRRR4       R\        X4      9   dG   \	        VP                  R4      ^,          4      ^,           p\        P                  ! 4       V8X  g   Q hR# R#   + '       g   i     Lh; i)rZ  NÚ-)r?   r  rƒ   r�   rh   r@   r°   Ú	cpu_count)r³   rI   Úvalues   &  r2   Útest_against_sysdev_cpu_onlineÚ8TestSystemCPUCountLogical.test_against_sysdev_cpu_online†  sw   € ô
 Ð2×3Ô3°qØ—F‘F“H—N‘NÓ$ˆE÷ 4à”#�e“*ÔÜ˜Ÿ™ CÓ(¨Õ+Ó,¨qÕ0ˆEÜ×#Ò#Ó%¨Ô.Ð.Ò.ñ ÷ 4×3ús   ”BÂB#	ú/sys/devices/system/cpuz&/sys/devices/system/cpu does not existc           	     óà   € \         P                  ! R 4      p\        V Uu. uF   p\        P                  ! RV4      f   K  VNK"  	  up4      p\
        P                  ! 4       V8X  g   Q hR# u upi )ra  zcpu\d+$N)rR  ÚlistdirrB   rŠ   Úsearchr°   r]  )r³   Úlsrw   Úcounts   &   r2   Útest_against_sysdev_cpu_numÚ5TestSystemCPUCountLogical.test_against_sysdev_cpu_num‘  sX   € ô
 �ZŠZÐ1Ó2ˆÜ¡ÓK¡˜1¤b§i¢i°
¸AÓ&>—Q�Q¡ÑKÓLˆÜ×ÒÓ! UÔ*Ð*Ò*ùò Ls    A+Á A+Únprocznproc utility not availablec                ój   € \        \        R 4      4      p\        P                  ! RR7      V8X  g   Q hR# )znproc --allT©ÚlogicalN)rh   r   r°   r]  )r³   Únums   & r2   Útest_against_nprocÚ,TestSystemCPUCountLogical.test_against_nprocš  s,   € ô ”"�]Ó#Ó$ˆÜ×Ò¨Ô-°Ô4Ð4Ò4rp   Úlscpuúlscpu utility not availablec                óæ   € \        R 4      p\        VP                  R4       Uu. uF  q"P                  R4      '       d   K  VNK  	  up4      p\        P
                  ! RR7      V8X  g   Q hR# u upi )úlscpu -prc   Ú#Trk  N)r   rB   r@   re   r°   r]  )r³   ri   rw   rm  s   &   r2   Útest_against_lscpuÚ,TestSystemCPUCountLogical.test_against_lscpu¡  sX   € ô �‹nˆÜ˜cŸi™i¨œoÓG™o˜·\±\À#×5F—1�1™oÑGÓHˆÜ×Ò¨Ô-°Ô4Ð4Ò4ùò Hs   ¤A.ÁA.c           	     ó„  € ^ RI pVP                  P                  4       p\        P                  ! R\
        R7      ;_uu_ 4       pVP                  P                  4       V8X  g   Q hVP                  '       g   Q h\        P                  ! RRR7      ;_uu_ 4       pVP                  P                  4       e   Q hVP                  ^8X  g   Q hVP                  ^ ,          ^ ,          R8X  g   Q h RRR4       \        RR	4      ;_uu_ 4       pVP                  4       pRRR4       \        P                  ! X4      p\        P                  ! RVRR
7      ;_uu_ 4       pVP                  P                  4       V8X  g   Q h RRR4       \        RR/4      ;_uu_ 4       pVP                  P                  4       V8X  g   Q hVP                  '       g   Q h RRR4       RRR4       R#   + '       g   i     Lý; i  + '       g   i     Lã; i  + '       g   i     L”; i  + '       g   i     LS; i  + '       g   i     R# ; i)r   Nzpsutil._pslinux.os.sysconf©rŸ   r-  Tr.  ú
/proc/statú/proc/cpuinfoÚrb©Úreturn_valuerž   rp   )Úpsutil._pslinuxÚ_pslinuxÚcpu_count_logicalr   r¡   rC   rø   Ú
call_countÚ	call_argsr?   r  r‘   r“   r£   )r³   r°   Úoriginalr¢   rI   Úcpuinfo_dataÚ	fake_files   &      r2   Útest_emulate_fallbacksÚ0TestSystemCPUCountLogical.test_emulate_fallbacks©  s¨  € Ûà—?‘?×4Ñ4Ó6ˆô �ZŠZØ(´j÷
õ 
àØ—?‘?×4Ñ4Ó6¸(ÔBÐBÐBØ—8—8�8ˆO�8ô —’Ð1¸$×?Õ?À1Ø—‘×8Ñ8Ó:ÒBÐBÐBØ—|‘| qÔ(Ð(Ð(à—{‘{ 1•~ aÕ(¨LÔ8Ð8Ñ8÷	 @ô �o t×,Ô,°Ø Ÿv™v›x�÷ -äŸ
š
 <Ó0ˆIÜ—’Ø%°IÀd÷õ àØ—‘×8Ñ8Ó:¸hÔFÐFÑF÷ô # O°SÐ#9×:Ô:¸aØ—‘×8Ñ8Ó:¸hÔFÐFÐFØ—x—x�x�‘x÷ ;÷5
ñ 
÷ @×?ú÷ -×,ú÷÷ ú÷ ;×:ú÷5
÷ 
ð 
úsy   Á3H.Á7"H.ÂAG"	Ã-H.Ä	G5	Ä?H.Å"H	Å<H.Æ3H	ÇH	ÇH.Ç"G2Ç-H.Ç5HÈ H.ÈHÈH.ÈH+È&H.È.H?	r¦   N)rË   rÌ   rÍ   rÎ   r   ÚmarkÚskipifrR  ÚpathÚexistsr_  rg  ÚshutilÚwhichrn  ru  r†  rÏ   rÐ   rÑ   s   @r2   rY  rY  „  sÿ   ø‡ € à‡[�[×ÑØ�G‰G�N‰NÐ;Ó<Ô<Ø>ð ó ñ/ó	ð/ð ‡[�[×ÑØ�G‰G�N‰NÐ4Ó5Ô5Ø7ð ó ñ+ó	ð+ð
 ‡[�[×ÑØ�LŠL˜Ó!Ô!Ð*Gð ó ñ5óð5ð ‡[�[×ÑØ�LŠL˜Ó!Ô!Ð*Gð ó ñ5óð5÷
" ð " rp   rY  c                   ó   a € ] tR tRt o ]P
                  P                  ]P                  ! R4      '       * RR7      R 4       t	]P
                  P                  ]
P                  ! 4       R9  RR7      R 4       tR tR	tV tR
# )ÚTestSystemCPUCountCoresiÎ  rp  rq  r«   c                ó2  € \        R 4      p\        4       pVP                  R4       FE  pVP                  R4      '       d   K  VP                  R4      pVP	                  V^,          4       KG  	  \
        P                  ! RR7      \        V4      8X  g   Q hR# )rs  rc   rt  Ú,Frk  N)r   Úsetr@   re   Úaddr°   r]  rB   )r³   ri   Úcore_idsrK   rL   s   &    r2   ru  Ú*TestSystemCPUCountCores.test_against_lscpuÐ  sq   € ô �‹nˆÜ“5ˆØ—I‘I˜d–OˆDØ—?‘? 3×'Ô'ØŸ™ C›�Ø—‘˜V A�YÖ'ñ $ô ×Ò¨Ô.´#°h³-Ô?Ð?Ò?rp   zx86_64/i686 onlyc                ó>  € \         P                  P                  4       p\        P                  ! R . R7      ;_uu_ 4       p\         P                  P                  4       pVP
                  '       g   Q h RRR4       Ve   VX8X  g   Q hR# R#   + '       g   i     L!; i)ú	glob.glob©r}  N)r°   r  Úcpu_count_coresr   r¡   rø   )r³   Úmeth_1r¢   Úmeth_2s   &   r2   Útest_method_2Ú%TestSystemCPUCountCores.test_method_2Ü  sq   € ô —‘×0Ñ0Ó2ˆÜ�ZŠZ˜°"×5Õ5¸Ü—_‘_×4Ñ4Ó6ˆFØ—8—8�8ˆO‘8÷ 6ð ÒØ˜VÔ#Ð#Ò#ñ ÷ 6×5ús   ¿3BÂB	c           	     óŒ  € \         P                  ! R . R7      ;_uu_ 4       p\         P                  ! RRR7      ;_uu_ 4       p\        P                  P	                  4       e   Q h RRR4       RRR4       XP
                  '       g   Q hXP
                  '       g   Q hR#   + '       g   i     LB; i  + '       g   i     LM; i)r—  r˜  r-  Tr.  N)r   r¡   r°   r  r™  rø   )r³   Úm1Úm2s   &  r2   Útest_emulate_noneÚ)TestSystemCPUCountCores.test_emulate_noneç  s~   € Ü�ZŠZ˜°"×5Õ5¸Ü—’Ð1¸$×?Õ?À2Ü—‘×6Ñ6Ó8Ò@Ð@Ñ@÷ @÷ 6ð �y�yˆyÐˆyØ�y�yˆyÐŠy÷ @×?ú÷ 6×5ús#   ¡!B3Á#B 	Á&B3Â B0Â+B3Â3C	r¦   N>   Úi686Úx86_64)rË   rÌ   rÍ   rÎ   r   rˆ  r‰  rŒ  r�  ru  ÚplatformÚmachinerœ  r¡  rÏ   rÐ   rÑ   s   @r2   r�  r�  Î  s†   ø‡ € à‡[�[×ÑØ�LŠL˜Ó!Ô!Ð*Gð ó ñ@óð@ð ‡[�[×ÑØ×ÒÓÐ"4Ñ4Ð=Oð ó ñ$óð$÷ð rp   r�  c                   óh  a € ] tR tRt o ]P
                  P                  ]'       * RR7      ]P
                  P                  ]RR7      R 4       4       t	]P
                  P                  ]'       * RR7      ]P
                  P                  ];'       g    ]
]P                  ! 4        R2R7      R 4       4       t]P
                  P                  ]'       * RR7      R 4       t]P
                  P                  ]'       * RR7      R	 4       t]P
                  P                  ]'       * RR7      R
 4       tRtV tR# )ÚTestSystemCPUFrequencyiï  únot supportedr«   z(aarch64 does not always expose frequencyc                ó   a€ V3R  lp\         P                  P                  o\        P                  ! RVRR7      ;_uu_ 4        \
        P                  ! 4       '       g   Q h RRR4       R#   + '       g   i     R# ; i)c                 óF   <€ V P                  R 4      '       d   R# S! V 4      # )ú&/sys/devices/system/cpu/cpufreq/policyF©re   )rŠ  Úorig_existss   &€r2   Úpath_exists_mockÚMTestSystemCPUFrequency.test_emulate_use_second_file.<locals>.path_exists_mock÷  s!   ø€ Ø�‰ÐG×HÒHÙá" 4Ó(Ð(rp   úos.path.existsT)rŸ   rž   N)rR  rŠ  r‹  r   r¡   r°   Úcpu_freq)r³   r¯  r®  s   & @r2   Útest_emulate_use_second_fileÚ3TestSystemCPUFrequency.test_emulate_use_second_fileñ  sZ   ø€ õ	)ô —g‘g—n‘nˆÜ�ZŠZØÐ*:À4÷
ö 
ô —?’?×$Ò$Ð$Ñ$÷
÷ 
÷ 
ò 
ús   ÁA,Á,A=	z% does not report mhz in /proc/cpuinfoc                óº  a€ V3R  lp\         P                  P                  o \        P                  ! RVR7      ;_uu_ 4        \        \        P                  4       \        P                  ! 4       pV'       g   Q V4       hVP                  R8X  g   Q hVP                  R8X  g   Q h\        P                  ! RR7       F)  pVP                  R8X  g   Q hVP                  R8X  d   K)  Q h	  RRR4       \        \        P                  4       \        \        4       R#   + '       g   i     L:; i  \        \        P                  4       \        \        4       i ; i)c                 óF   <€ V P                  R 4      '       d   R# S! V 4      # )z/sys/devices/system/cpu/Fr­  )rŠ  Úos_path_existss   &€r2   r¯  ÚITestSystemCPUFrequency.test_emulate_use_cpuinfo.<locals>.path_exists_mock  s!   ø€ Ø�‰Ð9×:Ò:Ùá% dÓ+Ð+rp   r±  rx  ç        T©ÚpercpuN)rR  rŠ  r‹  r   r¡   r   r°   r  r²  ÚmaxÚmin)r³   r¯  rý   Úfreqr·  s   &   @r2   Útest_emulate_use_cpuinfoÚ/TestSystemCPUFrequency.test_emulate_use_cpuinfo  sâ   ø€ õ	,ô Ÿ™Ÿ™ˆð	"Ü—’Ð,Ð:J×KÖKÜœfŸo™oÔ.Ü—o’oÓ'�ß�˜C“�sØ—w‘w #”~Ð%�~Ø—w‘w #”~Ð%�~Ü"ŸOšO°4×8�DØŸ8™8 sœ?Ð*˜?ØŸ8™8 sž?Ð*˜?ñ 9÷ Lô œ&Ÿ/™/Ô*Üœ&Ö!÷ L×Kûô œ&Ÿ/™/Ô*Üœ&Õ!ús*   £ D0 ÁBDÃ'DÃ+D0 ÄD-	Ä(D0 Ä0*Ec           	     óò  a€ V3R  lp\         o\        P                  ! RVR7      ;_uu_ 4        \        P                  ! RRR7      ;_uu_ 4        \        P                  ! 4       pVP
                  R8X  g   Q hVP                  R8w  d   VP                  R8X  g   Q hVP                  R8w  d   VP                  R	8X  g   Q hR
R
R
4       R
R
R
4       R
#   + '       g   i     L; i  + '       g   i     R
# ; i)c                 óî  <€ V P                  R 4      '       d.   V P                  R4      '       d   \        P                  ! R4      # V P                  R4      '       d.   V P                  R4      '       d   \        P                  ! R4      # V P                  R4      '       d.   V P                  R4      '       d   \        P                  ! R4      # V R8X  d   \        P                  ! R4      # S! V .VO5/ VB # )	ú/scaling_cur_freqr¬  ó   500000ú/scaling_min_freqó   600000ú/scaling_max_freqs   700000rz  s   cpu MHz     : 500©Úendswithre   r‘   r“   ©r”   r•   r–   r˜   s   &*,€r2   rš   Ú;TestSystemCPUFrequency.test_emulate_data.<locals>.open_mock"  sÌ   ø€ Ø�}‰}Ð0×1Ò1°d·o±oØ8÷7ò 7ô —z’z )Ó,Ð,Ø—‘Ð2×3Ò3¸¿¹Ø8÷9ò 9ô —z’z )Ó,Ð,Ø—‘Ð2×3Ò3¸¿¹Ø8÷9ò 9ô —z’z )Ó,Ð,Ø˜Ô(Ü—z’zÐ"6Ó7Ð7á  Ð7¨Ò7°Ñ7Ð7rp   rœ   rx  r±  Tr˜  ç     @@r¹  ç     À‚@g     à…@N©r?   r   r¡   r°   r²  Úcurrentr½  r¼  ©r³   rš   r¾  r˜   s   &  @r2   Útest_emulate_dataÚ(TestSystemCPUFrequency.test_emulate_data   s¯   ø€ õ	8ô$ ˆ	Ü�ZŠZ˜°Y×?Ö?Ü—’Ð,¸4×@Ö@Ü—’Ó(�Ø—|‘| uÔ,Ð,Ð,ð —8‘8˜s”?ØŸ8™8 uÔ,Ð,Ð,Ø—8‘8˜s”?ØŸ8™8 uÔ,Ð,Ð,÷ A÷ @Ñ?ß@×@ú÷ @×?Ð?ús$   ®!C%ÁA1C	Ã C%ÃC"ÃC%Ã%C6	c                ó°  a€ V3R  lp\         o\        P                  ! RVR7      ;_uu_ 4        \        P                  ! RRR7      ;_uu_ 4        \        P                  ! R^R7      ;_uu_ 4        \        P                  ! RR7      pV^ ,          P
                  R8X  g   Q hV^ ,          P                  R	8w  d   V^ ,          P                  R
8X  g   Q hV^ ,          P                  R	8w  d   V^ ,          P                  R8X  g   Q hV^,          P
                  R8X  g   Q hV^,          P                  R	8w  d   V^,          P                  R8X  g   Q hV^,          P                  R	8w  d   V^,          P                  R8X  g   Q hRRR4       RRR4       RRR4       R#   + '       g   i     L"; i  + '       g   i     L-; i  + '       g   i     R# ; i)c                 óŠ  <€ T pVP                  R 4      '       d.   VP                  R4      '       d   \        P                  ! R4      # VP                  R4      '       d.   VP                  R4      '       d   \        P                  ! R4      # VP                  R4      '       d.   VP                  R4      '       d   \        P                  ! R4      # VP                  R 4      '       d.   VP                  R4      '       d   \        P                  ! R4      # VP                  R4      '       d.   VP                  R4      '       d   \        P                  ! R	4      # VP                  R4      '       d.   VP                  R4      '       d   \        P                  ! R
4      # V R8X  d   \        P                  ! R4      # S! V .VO5/ VB # )rÃ  z'/sys/devices/system/cpu/cpufreq/policy0s   100000rÅ  ó   200000rÇ  s   300000z'/sys/devices/system/cpu/cpufreq/policy1s   400000rÄ  rÆ  rz  s#   cpu MHz     : 100
cpu MHz     : 400rÈ  )r”   r•   r–   Únr˜   s   &*, €r2   rš   Ú@TestSystemCPUFrequency.test_emulate_multi_cpu.<locals>.open_mockB  sm  ø€ ØˆAØ�z‰zÐ-×.Ò.°1·<±<Ø9÷4ò 4ô —z’z )Ó,Ð,Ø—‘Ð/×0Ò0°Q·\±\Ø9÷6ò 6ô —z’z )Ó,Ð,Ø—‘Ð/×0Ò0°Q·\±\Ø9÷6ò 6ô —z’z )Ó,Ð,Ø—‘Ð/×0Ò0°Q·\±\Ø9÷6ò 6ô —z’z )Ó,Ð,Ø—‘Ð/×0Ò0°Q·\±\Ø9÷6ò 6ô —z’z )Ó,Ð,Ø—‘Ð/×0Ò0°Q·\±\Ø9÷6ò 6ô —z’z )Ó,Ð,Ø˜Ô(Ü—z’zÐ"IÓJÐJá  Ð7¨Ò7°Ñ7Ð7rp   rœ   rx  r±  Tr˜  ú!psutil._pslinux.cpu_count_logicalrº  ç      Y@r¹  g      i@g     Àr@g      y@rÌ  rÍ  NrÎ  rÐ  s   &  @r2   Útest_emulate_multi_cpuÚ-TestSystemCPUFrequency.test_emulate_multi_cpu@  sR  ø€ õ	8ô> ˆ	Ü�ZŠZ˜°Y×?Ö?Ü—’Ð,¸4×@Ö@Ü—Z’ZØ7Àa÷ö ô "Ÿ?š?°$Ô7�DØ �7Ÿ?™?¨eÔ3Ð3Ð3Ø˜A•w—{‘{ cÔ)Ø# A�wŸ{™{¨eÔ3Ð3Ð3Ø˜A•w—{‘{ cÔ)Ø# A�wŸ{™{¨eÔ3Ð3Ð3Ø �7Ÿ?™?¨eÔ3Ð3Ð3Ø˜A•w—{‘{ cÔ)Ø# A�wŸ{™{¨eÔ3Ð3Ð3Ø˜A•w—{‘{ cÔ)Ø# A�wŸ{™{¨eÔ3Ð3Ð3÷÷ A÷ @Ñ?÷÷ ú÷ A×@ú÷ @×?Ð?ús<   ®!GÁ!F1	Á0DFÆF1	ÆGÆF.Æ)F1	Æ1GÆ<GÇG	c                óÜ  a€ V3R  lp\         o\        P                  ! RVR7      ;_uu_ 4        \        P                  ! RRR7      ;_uu_ 4        \        P                  ! R^R7      ;_uu_ 4        \        P                  ! 4       pVP
                  ^È8X  g   Q h RRR4       RRR4       RRR4       R#   + '       g   i     L"; i  + '       g   i     L-; i  + '       g   i     R# ; i)c                 óê   <€ V P                  R 4      '       d   \        hV P                  R4      '       d   \        P                  ! R4      # V R8X  d   \        P                  ! R4      # S! V .VO5/ VB # )rÃ  z/cpuinfo_cur_freqrÕ  rz  s   cpu MHz     : 200)rÉ  r  r‘   r“   rÊ  s   &*,€r2   rš   ÚOTestSystemCPUFrequency.test_emulate_no_scaling_cur_freq_file.<locals>.open_mockv  se   ø€ Ø�}‰}Ð0×1Ò1Ü'Ð'Ø�}‰}Ð0×1Ò1Ü—z’z )Ó,Ð,Ø˜Ô(Ü—z’zÐ"6Ó7Ð7á  Ð7¨Ò7°Ñ7Ð7rp   rœ   rx  r±  Tr˜  rØ  N)r?   r   r¡   r°   r²  rÏ  rÐ  s   &  @r2   Ú%test_emulate_no_scaling_cur_freq_fileÚ<TestSystemCPUFrequency.test_emulate_no_scaling_cur_freq_files  sž   ø€ õ	8ô ˆ	Ü�ZŠZ˜°Y×?Ö?Ü—’Ð,¸4×@Ö@Ü—Z’ZØ7Àa÷ö ô "Ÿ?š?Ó,�DØŸ<™<¨3Ô.Ð.Ñ.÷	÷ A÷ @Ñ?÷÷ ú÷ A×@ú÷ @×?Ð?ús;   ®!CÁ!C	Á0)B4ÂC	Â"CÂ4CÂ?C	ÃCÃCÃC+	r¦   N)rË   rÌ   rÍ   rÎ   r   rˆ  r‰  r   r   r³  r   r¥  r¦  r¿  rÑ  rÚ  rß  rÏ   rÐ   rÑ   s   @r2   r¨  r¨  ï  s>  ø‡ € à‡[�[×Ñ˜LÔ(°ÐÓAØ‡[�[×ÑØÐBð ó ñ%óó Bð%ð ‡[�[×Ñ˜LÔ(°ÐÓAØ‡[�[×ÑØ×Ð�7Ø×"Ò"Ó$Ð%Ð%JÐKð ó ñ"ó	ó Bð
"ð0 ‡[�[×Ñ˜LÔ(°ÐÓAñ-ó Bð-ð> ‡[�[×Ñ˜LÔ(°ÐÓAñ04ó Bð04ðd ‡[�[×Ñ˜LÔ(°ÐÓAñ/ó Bö/rp   r¨  c                   ó&   a € ] tR tRt o R tRtV tR# )ÚTestSystemCPUStatsiŠ  c                óŠ   € \        R 4      p\        P                  ! 4       P                  p\	        W,
          4      R8  g   Q hR# )Ú
interruptsiô  N)r€   r°   Ú	cpu_statsrä  r¼   r×   s   &  r2   Útest_interruptsÚ"TestSystemCPUStats.test_interrupts“  s6   € Ü˜lÓ+ˆÜ×'Ò'Ó)×4Ñ4ˆÜ�<Õ.Ó/°#Ô5Ð5Ò5rp   r¦   N)rË   rÌ   rÍ   rÎ   ræ  rÏ   rÐ   rÑ   s   @r2   râ  râ  Š  s   ø‡ € ÷6ð 6rp   râ  c                   óp   a € ] tR tRt o ]P
                  P                  ]'       * RR7      R 4       tRt	V t
R# )ÚTestLoadAvgi™  r©  r«   c                óê  € \         P                  ! 4       p\        R 4      ;_uu_ 4       pVP                  4       P	                  4       pRRR4       \        \        X^ ,          4      V^ ,          ,
          4      ^8  g   Q h\        \        V^,          4      V^,          ,
          4      ^8  g   Q h\        \        V^,          4      V^,          ,
          4      ^8  g   Q hR#   + '       g   i     L¢; i)z/proc/loadavgN)r°   Ú
getloadavgr?   r  r@   r¼   Úfloat)r³   rµ   rI   Ú
proc_values   &   r2   Útest_getloadavgÚTestLoadAvg.test_getloadavg›  s®   € ä×(Ò(Ó*ˆÜ�/×"Ô" aØŸ™›Ÿ™Ó)ˆJ÷ #ô ”5˜ A�Ó'¨,°q­/Õ9Ó:¸QÔ>Ð>Ð>Ü”5˜ A�Ó'¨,°q­/Õ9Ó:¸QÔ>Ð>Ð>Ü”5˜ A�Ó'¨,°q­/Õ9Ó:¸QÔ>Ð>Ò>÷ #×"ús   ©C"Ã"C2	r¦   N)rË   rÌ   rÍ   rÎ   r   rˆ  r‰  r	   rî  rÏ   rÐ   rÑ   s   @r2   ré  ré  ™  s/   ø‡ € à‡[�[×Ñ˜NÔ*°?ÐÓCñ?ó Dö?rp   ré  c                   ó&   a € ] tR tRt o R tRtV tR# )ÚTestSystemNetIfAddrsi«  c                óÊ  € \         P                  ! 4       P                  4        EF:  w  rV EF-  pVP                  \         P                  8X  d   VP
                  \        V4      8X  g   Q hKA  VP                  \        P                  8X  dy   VP
                  \        V4      8X  g   Q hVP                  \        V4      8X  g   Q hVP                  e   VP                  \        V4      8X  g   Q hKÄ  \        V4      R8X  g   Q hKØ  VP                  \        P                  8X  g   Kù  VP
                  P                  R4      ^ ,          pV\!        V4      9   d   EK.  Q h	  EK=  	  R # )Nz0.0.0.0Ú%)r°   Únet_if_addrsÚitemsÚfamilyÚAF_LINKÚaddressr[   r&   r'   r3   Únetmaskr7   Ú	broadcastr;   rG   r@   rS   )r³   r”   ÚaddrsÚaddrrø  s   &    r2   Útest_ipsÚTestSystemNetIfAddrs.test_ips­  s  € Ü!×.Ò.Ó0×6Ñ6×8‰KˆDÜ�Ø—;‘;¤&§.¡.Ô0ØŸ<™<¬?¸4Ó+@Ô@Ð@Ò@Ø—[‘[¤F§N¡NÔ2ØŸ<™<Ô+;¸DÓ+AÔAÐAÐAØŸ<™<Ô+;¸DÓ+AÔAÐAÐAØ—~‘~Ò1Ø#Ÿ~™~Ô1CÀDÓ1IÔIÐIÒIä1°$Ó7¸9ÔDÐDÒDØ—[‘[¤F§O¡OÖ3ð #Ÿl™l×0Ñ0°Ó5°aÕ8�GØ"Ô&8¸Ó&>×>Ð>Ð>ô% ó 9rp   r¦   N)rË   rÌ   rÍ   rÎ   rý  rÏ   rÐ   rÑ   s   @r2   rñ  rñ  «  s   ø‡ € ÷?ð ?rp   rñ  c                   ó  a € ] tR tRt o ]P
                  P                  ]P                  ! R4      '       * RR7      R 4       t	R t
]P
                  P                  ]P                  ! R4      '       * RR7      R 4       tRtV tR	# )
ÚTestSystemNetIfStatsiÓ  Úifconfigúifconfig utility not availabler«   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)ú	ifconfig ÚRUNNINGz(?i)MTU[: ](\d+)N)
r°   Únet_if_statsrõ  r   ÚisupÚmturh   rŠ   r‹   ÚRuntimeError)r³   r”   Ústatsri   s   &   r2   Útest_against_ifconfigÚ*TestSystemNetIfStats.test_against_ifconfigÕ  s›   € ô "×.Ò.Ó0×6Ñ6Ö8‰KˆDðÜ˜9 T FÐ+Ó,�ð —z‘z i°3Ñ&6Ô7Ð<¸Ó<Ð7Ø—y‘y¤CÜ—J’JÐ2°CÓ8¸Õ;ó%ô ð ò ó 9øô  ô Úðús   ªBÂB ÂB c                ó8  € \         P                  ! 4       P                  4        F^  w  r\        R V R24      ;_uu_ 4       pVP                  \        VP                  4       P                  4       4      8X  g   Q h RRR4       K`  	  R#   + '       g   i     Ku  ; i)z/sys/class/net/z/mtuN)r°   r  rõ  r?   r  rh   r  rƒ   )r³   r”   r
  rI   s   &   r2   Útest_mtuÚTestSystemNetIfStats.test_mtuä  sl   € Ü!×.Ò.Ó0×6Ñ6Ö8‰KˆDÜ˜¨ v¨TÐ2×3Ô3°qØ—y‘y¤C¨¯©«¯©Ó(8Ó$9Ô9Ð9Ñ9÷ 4Ñ3ó 9ß3×3Ð3ús   Á 9BÂBc                ó˜  € ^ p\         P                  ! 4       P                  4        EFn  w  r# \        RV 24      p\        P
                  ! RV4      pV'       d�   \        VP                  4       4      ^8¼  do   V^,          p\        VP                  ^4      P                  4       P                  R4      4      p\        VP                  P                  R4      4      pWg8X  g   Q hKÀ  \        P
                  ! RV4      pV'       d�   \        VP                  4       4      ^8¼  do   V^,          p\        VP                  ^4      P                  4       P                  4       4      p\        VP                  P                  R4      4      pWg8X  g   Q hEKk  EKn  EKq  	  V'       g   \        P                  ! R4      hR#   \         d     EK¢  i ; i)r   r  zflags=(\d+)?<(.*?)>r‘  z(.*)  MTU:(\d+)  Metric:(\d+)zno matches were foundN)r°   r  rõ  r   rŠ   rd  rB   rP   r’  ÚgroupÚlowerr@   Úflagsr	  r   Úfail)r³   Úmatches_foundr”   r
  ri   ÚmatchÚifconfig_flagsÚpsutil_flagss   &       r2   Ú
test_flagsÚTestSystemNetIfStats.test_flagsé  sj  € ð ˆÜ!×.Ò.Ó0×6Ñ6×8‰KˆDð>Ü˜9 T FÐ+Ó,�ô Ÿ	š	Ð"8¸#Ó>�ßœS §¡£Ó0°AÔ5Ø! QÕ&�MÜ%(¨¯©°Q«×)=Ñ)=Ó)?×)EÑ)EÀcÓ)JÓ%K�NÜ#& u§{¡{×'8Ñ'8¸Ó'=Ó#>�LØ)Ô9Ð9Ò9ô ŸIšIÐ&FÈÓL�Eß¤ U§\¡\£^Ó!4¸Ô!9Ø%¨Õ*˜Ü),¨U¯[©[¸«^×-AÑ-AÓ-C×-IÑ-IÓ-KÓ)L˜Ü'*¨5¯;©;×+<Ñ+<¸SÓ+AÓ'B˜Ø-Ô=Ð=Ó=ò	 ":’uñ! 9÷, Ü—+’+Ð5Ó6Ð6ñ øô'  ô Ûðús   ­F9Æ9G	ÇG	r¦   N)rË   rÌ   rÍ   rÎ   r   rˆ  r‰  rŒ  r�  r  r  r  rÏ   rÐ   rÑ   s   @r2   r   r   Ó  s|   ø‡ € à‡[�[×ÑØ�LŠL˜Ó$Ô$Ð-Mð ó ñ
óð
ò:ð
 ‡[�[×ÑØ�LŠL˜Ó$Ô$Ð-Mð ó ñ7óö7rp   r   c                   ó¤   a € ] tR tRt o ]P
                  P                  ]P                  ! R4      '       * RR7      ]	! 4       R 4       4       t
RtV tR# )ÚTestSystemNetIOCountersi
  r  r  r«   c                óJ  € R  p\         P                  ! RRR7      pVP                  4        EF_  w  r4 V! V4      p\	        TP
                  TR,          ,
          4      R8  g   Q h\	        TP                  TR,          ,
          4      R8  g   Q h\	        TP                  TR,          ,
          4      R8  g   Q h\	        TP                  TR,          ,
          4      R8  g   Q h\	        TP                  TR	,          ,
          4      ^
8  g   Q h\	        TP                  TR
,          ,
          4      ^
8  g   Q h\	        TP                  TR,          ,
          4      ^
8  g   Q h\	        TP                  TR,          ,
          4      ^
8  d   EK`  Q h	  R#   \         d     EKu  i ; i)c                 óÆ  € / p\        R V  24      p\        \        P                  ! RV4      ^ ,          4      VR&   \        \        P                  ! RV4      ^ ,          4      VR&   \        \        P                  ! RV4      ^ ,          4      VR&   \        \        P                  ! RV4      ^,          4      VR&   \        \        P                  ! RV4      ^ ,          4      VR	&   \        \        P                  ! RV4      ^,          4      VR
&   \        \        P                  ! RV4      ^ ,          4      VR&   \        \        P                  ! RV4      ^ ,          4      VR&   V# )r  zRX packets[: ](\d+)Úpackets_recvzTX packets[: ](\d+)Úpackets_sentzerrors[: ](\d+)ÚerrinÚerroutzdropped[: ](\d+)ÚdropinÚdropoutz#RX (?:packets \d+ +)?bytes[: ](\d+)Ú
bytes_recvz#TX (?:packets \d+ +)?bytes[: ](\d+)Ú
bytes_sent)r   rh   rŠ   r‹   )Únicrý   ri   s   &  r2   r  Ú?TestSystemNetIOCounters.test_against_ifconfig.<locals>.ifconfig  s-  € ØˆCÜ�y  Ð&Ó'ˆCÜ"%Ü—
’
Ð1°3Ó7¸Õ:ó#ˆC�Ñô #&Ü—
’
Ð1°3Ó7¸Õ:ó#ˆC�Ñô œrŸzšzÐ*<¸cÓBÀ1ÕEÓFˆC�‰LÜ¤§
¢
Ð+=¸sÓ CÀAÕ FÓGˆC�‰MÜ¤§
¢
Ð+>ÀÓ DÀQÕ GÓHˆC�‰MÜ ¤§¢Ð,?ÀÓ!EÀaÕ!HÓIˆC�	‰NÜ #Ü—
’
ÐAÀ3ÓGÈÕJó!ˆC�Ñô !$Ü—
’
ÐAÀ3ÓGÈÕJó!ˆC�Ñð ˆJrp   TF)ÚpernicÚnowrapr%  rÖ   r&  r  r   r!  r"  r#  r$  Ni (  )r°   Únet_io_countersrõ  r	  r¼   r%  r&  r  r   r!  r"  r#  r$  )r³   r  Únior”   r
  Úifconfig_rets   &     r2   r  Ú-TestSystemNetIOCounters.test_against_ifconfig  so  € ò
	ô* ×$Ò$¨D¸Ô?ˆØŸ9™9Ÿ;‰KˆDðÙ'¨›~�ô �E×$Ñ$ |°LÕ'AÕAÓBÀYÔNðØNô �E×$Ñ$ |°LÕ'AÕAÓBÀYÔNðØNô �E×&Ñ&¨°nÕ)EÕEÓFÈÔMðØMô �E×&Ñ&¨°nÕ)EÕEÓFÈÔMðØMä�u—{‘{ \°'Õ%:Õ:Ó;¸bÔ@Ð@Ð@Ü�u—|‘| l°8Õ&<Õ<Ó=ÀÔBÐBÐBÜ�u—|‘| l°8Õ&<Õ<Ó=ÀÔBÐBÐBÜ�u—}‘} |°IÕ'>Õ>Ó?À"×DÐDÐDó) 'øô  ô Ûðús   ³FÆF"Æ!F"r¦   N)rË   rÌ   rÍ   rÎ   r   rˆ  r‰  rŒ  r�  r   r  rÏ   rÐ   rÑ   s   @r2   r  r  
  sL   ø‡ € à‡[�[×ÑØ�LŠL˜Ó$Ô$Ð-Mð ó ñ Óñ+Eó óö+Erp   r  c                   óˆ   a € ] tR tRt o ]P
                  ! R]R7      ]P
                  ! RRR7      R 4       4       tR tR	t	V t
R
# )ÚTestSystemNetConnectionsi>  z psutil._pslinux.socket.inet_ntoprx  zpsutil._pslinux.supports_ipv6Fr˜  c                ó*  € \         P                   ! \         P                  \         P                  4      ;_uu_ 4       p VP                  R4       \
        P                  ! RR7       RRR4       R#   \         d     L.i ; i  + '       g   i     R# ; i)ú::1Úinet6©ÚkindN)r2  r   )r&   rG   ÚSOCK_STREAMÚbindÚOSErrorr°   Únet_connections)r³   Úsupports_ipv6rH   r1   s   &&& r2   Útest_emulate_ipv6_unsupportedÚ6TestSystemNetConnections.test_emulate_ipv6_unsupported@  sl   € ô �]Š]œ6Ÿ?™?¬F×,>Ñ,>×?Ô?À1ðØ—‘�zÔ"ô ×"Ò"¨Õ0÷ @Ñ?øô ô Ùðú÷ @×?Ð?ús.   ¼B¾A0ÁBÁ0A>Á;BÁ=A>Á>BÂB	c                óî   € \         P                  ! R 4      p\        RV/4      ;_uu_ 4       p\        P                  ! RR7       VP
                  '       g   Q h RRR4       R#   + '       g   i     R# ; i)a              0: 00000003 000 000 0001 03 462170 @/tmp/dbus-Qw2hMPIU3n
            0: 00000003 000 000 0001 03 35010 @/tmp/dbus-tB2X8h69BQ
            0: 00000003 000 000 0001 03 34424 @/tmp/dbus-cHy80Y8O
            000000000000000000000000000000000000000000000000000000
            z/proc/net/unixÚunixr4  N)rò   ró   r£   r°   r9  rø   )r³   r—   r¢   s   &  r2   Útest_emulate_unixÚ*TestSystemNetConnections.test_emulate_unixK  sT   € Ü—/’/ð #ó ˆô Ð 0°'Ð:×;Ô;¸qÜ×"Ò"¨Õ/Ø—8—8�8ˆO‘8÷ <×;×;Ò;ús   ¬,A#Á#A4	r¦   N)rË   rÌ   rÍ   rÎ   r   r¡   rC   r;  r?  rÏ   rÐ   rÑ   s   @r2   r0  r0  >  sC   ø‡ € à	‡Z‚ZÐ2À
ÔKØ	‡Z‚ZÐ/¸eÔDñ1ó Eó Lð1÷	ð 	rp   r0  c                   óž   a € ] tR tRt o ]P
                  P                  ]! ]R4      '       * RR7      ]	! 4       R 4       4       t
R tR tRtV tR	# )
ÚTestSystemDiskPartitionsi\  Ústatvfszos.statvfs() not availabler«   c                ót  € 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,
          4      \        8  g   Q h\        VP                  V,
          4      \        8  d   K™  Q h	  R# )c                 ó0  € \        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      \	        V4      \	        V4      rvpWEWg3# )zdf -P -B 1 "Ú"rc   :Nr¹   NÚnonerU   )r   rƒ   r@   Úpoprh   )rŠ  ri   rj   rK   Údevrl   rm   r]   s   &       r2   ÚdfÚ4TestSystemDiskPartitions.test_against_df.<locals>.dfe  s†   € Ü�| D 6¨Ð+Ó,×2Ñ2Ó4ˆCØ—I‘I˜d“OˆEØ�I‰I�aŒLØ—9‘9˜Q“<ˆDØ%)§Z¡Z£\°"Õ%5Ñ"ˆC˜Ø�fŒ}Ø�Ü # E£
¬C°«I´s¸4³y˜ˆEØ˜tÐ)Ð)rp   F)ÚallN)	r°   Údisk_partitionsÚ
disk_usageÚ
mountpointrl   r¼   r]   r   rm   )r³   rJ  ÚpartÚusagerk   rl   rm   r]   s   &       r2   Útest_against_dfÚ(TestSystemDiskPartitions.test_against_df^  s‘   € ò		*ô ×*Ò*¨u×5ˆDÜ×%Ò% d§o¡oÓ6ˆEÙ#% d§o¡oÓ#6Ñ ˆA�dØ—;‘; %Ô'Ð'Ð'Ü�u—z‘z DÕ(Ó)Ô,@Ô@Ð@Ð@Ü�u—z‘z DÕ(Ó)Ô,@Ö@Ð@Ð@ó 6rp   c           	     óÚ  € \        R 4      ;_uu_ 4       pVP                  4       pRRR4       RX9   d1   \        P                  ! 4        F  pVP                  R8X  g   K   R# 	  \
        P                  ! R4      p\        P                  ! RVRR7      ;_uu_ 4       p\        P                  ! RR	.R7      ;_uu_ 4       p\        P                  ! 4       pVP                  '       g   Q hVP                  '       g   Q hV'       g   Q hV^ ,          P                  R8X  g   Q h RRR4       RRR4       R#   + '       g   i     EL; i  + '       g   i     L.; i  + '       g   i     R# ; i)
z/proc/filesystemsNÚzfsz
nodev	zfs
r-  Tr|  ú$psutil._pslinux.cext.disk_partitionsr˜  )z	/dev/sdb3Ú/rU  Úrw)
r?   r  r°   rM  Úfstyper‘   r’   r   r¡   rø   )r³   rI   r   rP  r…  rŸ  r   rý   s   &       r2   Útest_zfs_fsÚ$TestSystemDiskPartitions.test_zfs_fsw  s  € äÐ%×&Ô&¨!Ø—6‘6“8ˆD÷ 'à�DŒ=Ü×.Ò.Ö0�Ø—;‘; %Ö'Úñ 1ô
 —K’K Ó/ˆ	Ü�ZŠZØ!°	À$÷
õ 
àÜ—’Ø6Ø=Ð>÷õ ð Ü×,Ò,Ó.�Ø—y—y�yÐ �yØ—y—y�yÐ �yß�
�sØ˜1•v—}‘}¨Ô-Ð-Ñ-÷÷
ñ 
÷ '×&Ð&ú÷÷ ú÷
÷ 
ð 
ús;   ”D2Â"EÂ=;E	Ã9	E	ÄE	Ä EÄ2E	ÅEÅEÅE*	c           	     ó†  €  \         P                  ! R RR7      ;_uu_ 4       p\        P                  ! \        4      ;_uu_ 4        \
        P                  ! 4        RRR4       VP                  '       g   Q h RRR4       R\
        n        R#   + '       g   i     L:; i  + '       g   i     L0; i  R\
        n        i ; i)zos.path.realpathz/non/existentr˜  Nú/proc)	r   r¡   r   Úraisesr  r°   rM  rø   ÚPROCFS_PATHrA  s   & r2   Útest_emulate_realpath_failÚ3TestSystemDiskPartitions.test_emulate_realpath_fail�  s|   € ð	)Ü—’Ø"°÷õ àÜ—]’]Ô#4×5Õ5Ü×*Ò*Ô,÷ 6à—x—x�x�‘x÷ð ")ŒFÖ÷	 6×5ú÷÷ ûð ")ŒFÕús@   ‚ B3 ¢#B ÁB	ÁB Á5B Á8B3 ÂBÂB Â B0	Â+B3 Â3C r¦   N)rË   rÌ   rÍ   rÎ   r   rˆ  r‰  ÚhasattrrR  r   rR  rZ  r`  rÏ   rÐ   rÑ   s   @r2   rB  rB  \  sY   ø‡ € à‡[�[×ÑÙ�B˜	Ó"Ô"Ð+Gð ó ñ ÓñAó óðAò*.÷0
)ð 
)rp   rB  c                   óJ   a € ] tR tRt o R tR tR tR tR tR t	R t
R	tV tR
# )ÚTestSystemDiskIoCountersiœ  c           	     ó˜  € R p\        RV/4      ;_uu_ 4        \        P                  ! RRR7      ;_uu_ 4        \        P                  ! RR7      pVP
                  ^8X  g   Q hVP                  ^8X  g   Q hVP                  ^\        ,          8X  g   Q hVP                  ^8X  g   Q hVP                  ^8X  g   Q hVP                  ^8X  g   Q hVP                  ^\        ,          8X  g   Q hVP                  ^8X  g   Q hVP                  ^
8X  g   Q h RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)z+   3     0   1 hda 2 3 4 5 6 7 8 9 10 11 12ú/proc/diskstatsú!psutil._pslinux.is_storage_deviceTr˜  F©r*  N©r£   r   r¡   r°   Údisk_io_countersÚ
read_countÚread_merged_countÚ
read_bytesÚSECTOR_SIZEÚ	read_timeÚwrite_countÚwrite_merged_countÚwrite_bytesÚ
write_timeÚ	busy_time©r³   r—   rý   s   &  r2   Útest_emulate_kernel_2_4Ú0TestSystemDiskIoCounters.test_emulate_kernel_2_4ž  s  € ð @ˆÜÐ 1°7Ð;×<Õ<Ü—’Ø3À$÷ö ô ×-Ò-°UÔ;�Ø—~‘~¨Ô*Ð*Ð*Ø×,Ñ,°Ô1Ð1Ð1Ø—~‘~¨¬[­Ô8Ð8Ð8Ø—}‘}¨Ô)Ð)Ð)Ø—‘¨!Ô+Ð+Ð+Ø×-Ñ-°Ô2Ð2Ð2Ø—‘¨!¬k­/Ô9Ð9Ð9Ø—~‘~¨Ô*Ð*Ð*Ø—}‘}¨Ô*Ð*Ñ*÷÷ =Ñ<÷÷ ú÷ =×<Ð<úó#   ˜!D8¹CD%	ÄD8Ä%D5Ä0D8Ä8E		c           	     ó˜  € R p\        RV/4      ;_uu_ 4        \        P                  ! RRR7      ;_uu_ 4        \        P                  ! RR7      pVP
                  ^8X  g   Q hVP                  ^8X  g   Q hVP                  ^\        ,          8X  g   Q hVP                  ^8X  g   Q hVP                  ^8X  g   Q hVP                  ^8X  g   Q hVP                  ^\        ,          8X  g   Q hVP                  ^8X  g   Q hVP                  ^
8X  g   Q h RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)z'   3    0   hda 1 2 3 4 5 6 7 8 9 10 11rf  rg  Tr˜  Frh  Nri  ru  s   &  r2   Útest_emulate_kernel_2_6_fullÚ5TestSystemDiskIoCounters.test_emulate_kernel_2_6_full±  s  € ð <ˆÜÐ 1°7Ð;×<Õ<Ü—’Ø3À$÷ö ô ×-Ò-°UÔ;�Ø—~‘~¨Ô*Ð*Ð*Ø×,Ñ,°Ô1Ð1Ð1Ø—~‘~¨¬[­Ô8Ð8Ð8Ø—}‘}¨Ô)Ð)Ð)Ø—‘¨!Ô+Ð+Ð+Ø×-Ñ-°Ô2Ð2Ð2Ø—‘¨!¬k­/Ô9Ð9Ð9Ø—~‘~¨Ô*Ð*Ð*Ø—}‘}¨Ô*Ð*Ñ*÷÷ =Ñ<÷÷ ú÷ =×<Ð<úrx  c           	     ó”  € \        R R/4      ;_uu_ 4        \        P                  ! RRR7      ;_uu_ 4        \        P                  ! RR7      pVP
                  ^8X  g   Q hVP                  ^\        ,          8X  g   Q hVP                  ^8X  g   Q hVP                  ^\        ,          8X  g   Q hVP                  ^ 8X  g   Q hVP                  ^ 8X  g   Q hVP                  ^ 8X  g   Q hVP                  ^ 8X  g   Q hVP                  ^ 8X  g   Q h RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)rf  z   3    1   hda 1 2 3 4rg  Tr˜  Frh  N)r£   r   r¡   r°   rj  rk  rm  rn  rp  rr  rl  ro  rq  rs  rt  )r³   rý   s   & r2   Útest_emulate_kernel_2_6_limitedÚ8TestSystemDiskIoCounters.test_emulate_kernel_2_6_limitedÅ  s  € ô Ð 1Ð3LÐM×NÕNÜ—’Ø3À$÷ö ô ×-Ò-°UÔ;�Ø—~‘~¨Ô*Ð*Ð*Ø—~‘~¨¬[­Ô8Ð8Ð8Ø—‘¨!Ô+Ð+Ð+Ø—‘¨!¬k­/Ô9Ð9Ð9à×,Ñ,°Ô1Ð1Ð1Ø—}‘}¨Ô)Ð)Ð)Ø×-Ñ-°Ô2Ð2Ð2Ø—~‘~¨Ô*Ð*Ð*Ø—}‘}¨Ô)Ð)Ñ)÷÷ OÑN÷÷ ú÷ O×NÐNús#   –!D6·CD#	ÄD6Ä#D3Ä.D6Ä6E	c           	     ó4  € \         P                  ! R 4      p\        RV/4      ;_uu_ 4        \        P                  ! RRR7      ;_uu_ 4        \
        P                  ! RRR7      p\        V4      ^8X  g   Q hVR,          P                  ^8X  g   Q hVR,          P                  ^8X  g   Q hVR,          P                  ^8X  g   Q hVR,          P                  ^8X  g   Q h R	R	R	4       R	R	R	4       R	#   + '       g   i     L; i  + '       g   i     R	# ; i)
úx            3    0   nvme0n1 1 2 3 4 5 6 7 8 9 10 11
            3    0   nvme0n1p1 1 2 3 4 5 6 7 8 9 10 11
            rf  rg  Fr˜  T©Úperdiskr*  Únvme0n1Ú	nvme0n1p1N)
rò   ró   r£   r   r¡   r°   rj  rB   rk  rp  ru  s   &  r2   Útest_emulate_include_partitionsÚ8TestSystemDiskIoCounters.test_emulate_include_partitionsÛ  sê   € ô —/’/ð #ó ˆô Ð 1°7Ð;×<Õ<Ü—’Ø3À%÷ö ô ×-Ò-°dÀ5ÔI�Ü˜3“x 1”}Ð$�}Ø˜9•~×0Ñ0°AÔ5Ð5Ð5Ø˜;Õ'×2Ñ2°aÔ7Ð7Ð7Ø˜9•~×1Ñ1°QÔ6Ð6Ð6Ø˜;Õ'×3Ñ3°qÔ8Ð8Ñ8÷÷ =Ñ<÷÷ ú÷ =×<Ð<ús$   ¬!DÁBC3	Ã!DÃ3DÃ>DÄD	c           	     óØ  € \         P                  ! R 4      p\        RV/4      ;_uu_ 4        \        P                  ! RRR7      ;_uu_ 4        \
        P                  ! RRR7      pVe   Q h RRR4       RRR4       R p\         P                  ! R 4      p\        RV/4      ;_uu_ 4        \        P                  ! RRVR	7      ;_uu_ 4        \
        P                  ! RRR7      pVP                  ^8X  g   Q hVP                  ^8X  g   Q h RRR4       RRR4       R#   + '       g   i     Lº; i  + '       g   i     LÅ; i  + '       g   i     L@; i  + '       g   i     R# ; i)
r€  rf  rg  Fr˜  r�  Nc                 ó   € V R 8H  # )rƒ  r¦   ©r”   s   &r2   Úis_storage_deviceÚSTestSystemDiskIoCounters.test_emulate_exclude_partitions.<locals>.is_storage_deviceý  s   € Ø˜9Ñ$Ð$rp   Tr�   )	rò   ró   r£   r   r¡   r°   rj  rk  rp  )r³   r—   rý   rŠ  s   &   r2   Útest_emulate_exclude_partitionsÚ8TestSystemDiskIoCounters.test_emulate_exclude_partitionsî  s  € ô —/’/ð #ó ˆô Ð 1°7Ð;×<Õ<Ü—’Ø3À%÷ö ô ×-Ò-°eÀEÔJ�Ø’{Ð"‘{÷	÷ =ò	%ô —/’/ð #ó ˆô Ð 1°7Ð;×<Õ<Ü—’Ø3ØØ-÷ö ô
 ×-Ò-°eÀEÔJ�Ø—~‘~¨Ô*Ð*Ð*Ø—‘¨!Ô+Ð+Ñ+÷÷ =Ñ<÷÷ ú÷ =×<ú÷÷ ú÷ =×<Ð<úsG   ¬!D2ÁD	Á-D2Â+"EÃ?E	ÄEÄD/Ä*D2Ä2E	ÅEÅEÅE)	c                ó  € R  p\         P                  ! RR7      p\        P                  ! RRVR7      ;_uu_ 4        \         P                  ! RR7      pRRR4       \	        V4      \	        X4      8X  g   Q hR#   + '       g   i     L-; i)c                 ó   € V R 8H  # )rf  r¦   ©rŠ  s   &r2   r‹  Ú?TestSystemDiskIoCounters.test_emulate_use_sysfs.<locals>.exists  s   € ØÐ,Ñ,Ð,rp   T)r‚  úpsutil._pslinux.os.path.existsr�   N)r°   rj  r   r¡   rB   )r³   r‹  ÚwprocfsÚwsysfss   &   r2   Útest_emulate_use_sysfsÚ/TestSystemDiskIoCounters.test_emulate_use_sysfs  sk   € ò	-ô ×)Ò)°$Ô7ˆÜ�ZŠZØ,°TÀv÷
ö 
ô ×,Ò,°TÔ:ˆF÷
ô �7‹|œs 6›{Ô*Ð*Ò*÷	
÷ 
ús   ¼A9Á9B		c           	     ó.  € R  p\         P                  ! RRVR7      ;_uu_ 4        \        P                  ! \        4      ;_uu_ 4        \
        P                  ! 4        RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)c                 ó   € R # )Fr¦   r�  s   &r2   r‹  Ú>TestSystemDiskIoCounters.test_emulate_not_impl.<locals>.exists  s   € Ùrp   r’  Tr�   N)r   r¡   r   r^  ÚNotImplementedErrorr°   rj  )r³   r‹  s   & r2   Útest_emulate_not_implÚ.TestSystemDiskIoCounters.test_emulate_not_impl  sg   € ò	ô �ZŠZØ,°TÀv÷
ö 
ô —’Ô2×3Õ3Ü×'Ò'Ô)÷ 4÷
ñ 
÷ 4×3ú÷
÷ 
ð 
ús#   ¥#BÁA0	ÁBÁ0B Á;BÂB	r¦   N)rË   rÌ   rÍ   rÎ   rv  rz  r}  r…  rŒ  r•  r›  rÏ   rÐ   rÑ   s   @r2   rd  rd  œ  s.   ø‡ € ò+ò&+ò(*ò,9ò&,ò@	+÷*ð *rp   rd  c                   ó(  a € ] tR tRt o R tR t]P                  P                  ]	RR7      R 4       t
]P                  P                  ]P                  ! R4      '       * RR7      ]P                  P                  ]	RR7      R	 4       4       tR
 tRtV tR# )ÚTestRootFsDeviceFinderi$  c                ó²   € \         P                  ! R 4      P                  p\         P                  ! V4      V n        \         P                  ! V4      V n        R# )rW  N)rR  r„   Úst_devÚmajorÚminor)r³   rI  s   & r2   ÚsetUpÚTestRootFsDeviceFinder.setUp&  s3   € Ü�gŠg�c‹l×!Ñ!ˆÜ—X’X˜c“]ˆŒ
Ü—X’X˜c“]ˆŽ
rp   c                ó€  € \        4       p\        P                  P                  R 4      '       d   VP	                  4        M;\
        P                  ! \        4      ;_uu_ 4        VP	                  4        RRR4       \        P                  P                  RV P                   RV P                   R24      '       d   VP                  4        M;\
        P                  ! \        4      ;_uu_ 4        VP                  4        RRR4       VP                  4        R#   + '       g   i     L®; i  + '       g   i     L5; i)ú/proc/partitionsNú/sys/dev/block/r=   ú/uevent)r   rR  rŠ  r‹  Úask_proc_partitionsr   r^  r  r¡  r¢  Úask_sys_dev_blockÚask_sys_class_block)r³   Úfinders   & r2   Útest_call_methodsÚ(TestRootFsDeviceFinder.test_call_methods+  sÀ   € Ü#Ó%ˆÜ�7‰7�>‰>Ð,×-Ò-Ø×&Ñ&Õ(ä—’Ô0×1Õ1Ø×*Ñ*Ô,÷ 2ä�7‰7�>‰>˜O¨D¯J©J¨<°q¸¿¹¸ÀGÐL×MÒMØ×$Ñ$Õ&ä—’Ô0×1Õ1Ø×(Ñ(Ô*÷ 2à×"Ñ"Ö$÷ 2×1ú÷
 2×1ús   Á#DÃ/D-ÄD*	Ä-D=	zunsupported on GITHUB_ACTIONSr«   c                ó:  € \        4       pVP                  4       f   Q hR ;p;r4\        P                  P	                  R4      '       d   VP                  4       p\        P                  P	                  RV P                   RV P                   R24      '       d   VP                  4       pVP                  4       pT;'       g    T;'       g    TpV'       d   V'       d	   WR8X  g   Q hV'       d   V'       d	   WS8X  g   Q hV'       d   V'       d   WT8X  g   Q hR # R # R # )Nr¦  r§  r=   r¨  )
r   ÚfindrR  rŠ  r‹  r©  r¡  r¢  r«  rª  )r³   r¬  r  r  ÚcÚbases   &     r2   Útest_comparisonsÚ'TestRootFsDeviceFinder.test_comparisons9  sÖ   € ä#Ó%ˆØ�{‰{‹}Ò(Ð(Ð(àÐˆÐˆAÜ�7‰7�>‰>Ð,×-Ò-Ø×*Ñ*Ó,ˆAÜ�7‰7�>‰>˜O¨D¯J©J¨<°q¸¿¹¸ÀGÐL×MÒMØ×*Ñ*Ó,ˆAØ×$Ñ$Ó&ˆà�{ˆ{�A�{ˆ{˜ˆß—AØ”9Ð�9ß—AØ”9Ð�9ß—AØ”9Ð’9ñ ‰4rp   Úfindmntzfindmnt utility not availablec                ó\   € \        4       P                  4       p\        R 4      pW8X  g   Q hR# )zfindmnt -o SOURCE -rn /N)r   r°  r   )r³   rµ   Úfindmnt_values   &  r2   Útest_against_findmntÚ+TestRootFsDeviceFinder.test_against_findmntM  s,   € ô
 *Ó+×0Ñ0Ó2ˆÜÐ4Ó5ˆØÔ,Ð,Ò,rp   c                óš  € \         P                  ! R R.R7      ;_uu_ 4       p\        P                  ! 4       ^ ,          pVP                  '       g   Q h\
        '       g>   VP                  R8w  g   Q hVP                  \        4       P                  4       8X  g   Q hMVP                  R8X  g   Q hRRR4       R#   + '       g   i     R# ; i)rV  ú	/dev/rootr˜  N)r»  rW  Úext4rX  )	r   r¡   r°   rM  rø   r   Údevicer   r°  )r³   r¢   rP  s   &  r2   Útest_disk_partitions_mockedÚ2TestRootFsDeviceFinder.test_disk_partitions_mockedV  sž   € Ü�ZŠZØ2Ø:Ð;÷
õ 
ð Ü×)Ò)Ó+¨AÕ.ˆDØ—8—8�8ˆO�8ß!“>Ø—{‘{ kÔ1Ð1Ð1Ø—{‘{Ô&8Ó&:×&?Ñ&?Ó&AÔAÐAÑAà—{‘{ kÔ1Ð1Ð1÷
÷ 
÷ 
ò 
ús   ¢<B9ÁAB9Â9C
	)r¡  r¢  N)rË   rÌ   rÍ   rÎ   r£  r­  r   rˆ  r‰  r   r³  rŒ  r�  r¸  r¾  rÏ   rÐ   rÑ   s   @r2   rž  rž  $  s�   ø‡ € ò#ò
%ð ‡[�[×Ñ˜Ð/NÐÓOñó Pðð& ‡[�[×ÑØ�LŠL˜Ó#Ô#Ð,Kð ó ð ‡[�[×Ñ˜Ð/NÐÓOñ-ó Póð-÷
2ð 2rp   rž  c                   ó¢   a € ] tR tRt o R tR tR tR tR tR t	]
! 4       ]P                  P                  RR	7      R
 4       4       tR tRtV tR# )ÚTestMiscii  c                ó|   € \        R 4      p\        P                  ! 4       p\        V4      \        V4      8X  g   Q hR# )z	boot timeN)r€   r°   Ú	boot_timerh   r×   s   &  r2   Útest_boot_timeÚTestMisc.test_boot_timek  s2   € Ü˜kÓ*ˆÜ×'Ò'Ó)ˆÜ�<Ó ¤C¨Ó$5Ô5Ð5Ò5rp   c                óh
  a€ V P                  4       p\        P                  ! V4       \        \        P                  P                  VR 4      R4      ;_uu_ 4       pVP                  R4       VP                  R4       VP                  R4       RRR4        \        oV3R lp\        P                  ! RVR7      ;_uu_ 4        \        \        4       \        P                  ! \        4      ;_uu_ 4        \        P                  ! 4        RRR4       \        P                  ! \        4      ;_uu_ 4        \        P                  ! R	R
7       RRR4       \        P                  ! \        4      ;_uu_ 4        \        P                  ! 4        RRR4       \        P                  ! \        4      ;_uu_ 4        \        P                  ! R	R
7       RRR4       \        P                  ! \        4      ;_uu_ 4        \        P                   ! 4        RRR4       \        P                  ! \        4      ;_uu_ 4        \        P                   ! R	R
7       RRR4       V\        n        \        P                  ! 4       ^ 8X  g   Q h\%        \        P                   ! 4       4      ^ 8X  g   Q h\        P                  ! R	R
7      p\%        V4      ^ 8X  g   Q h\        P                   ! R	R
7      p\%        \'        \$        V4      4      ^ 8X  g   Q h\        \        P                  P                  VR 4      R4      ;_uu_ 4       pVP                  R4       VP                  R4       VP                  R4       RRR4       \        P                  ! 4       ^ 8w  g   Q h\%        \        P                  ! R	R
7      4      ^ 8w  g   Q h\%        \        P                   ! 4       4      ^ 8w  g   Q h\%        \'        \$        \        P                   ! R	R
7      4      4      ^ 8w  g   Q h RRR4       \(        P*                  ! V4       \        \        4       \        P"                  R8X  g   Q hR#   + '       g   i     ELÒ; i  + '       g   i     ELi; i  + '       g   i     EL;; i  + '       g   i     EL; i  + '       g   i     ELá; i  + '       g   i     ELµ; i  + '       g   i     EL‡; i  + '       g   i     EL�; i  + '       g   i     Lî; i  \(        P*                  ! T4       \        \        4       i ; i)r„   rþ   zcpu   0 0 0 0 0 0 0 0 0 0
zcpu0  0 0 0 0 0 0 0 0 0 0
zcpu1  0 0 0 0 0 0 0 0 0 0
Nc                 óV   <€ V P                  R 4      '       d   \        hS! V .VO5/ VB # )r]  )re   r  rÊ  s   &*,€r2   rš   Ú4TestMisc.test_no_procfs_on_import.<locals>.open_mock|  s-   ø€ Ø—?‘? 7×+Ò+Ü+Ð+Ù  Ð7¨Ò7°Ñ7Ð7rp   rœ   rx  Trº  zcpu   1 0 0 0 0 0 0 0 0 0
zcpu0  1 0 0 0 0 0 0 0 0 0
zcpu1  1 0 0 0 0 0 0 0 0 0
r]  )Ú
get_testfnrR  Úmkdirr?   rŠ  rE   Úwriter   r¡   r   r°   r   r^  r8  rP  Úcpu_percentÚcpu_times_percentr_  Úsumr‰   rŒ  Úrmtree)r³   Ú	my_procfsrI   rš   Úper_cpu_percentÚper_cpu_times_percentr˜   s   &     @r2   Útest_no_procfs_on_importÚ!TestMisc.test_no_procfs_on_importp  sX  ø€ Ø—O‘OÓ%ˆ	Ü
�Š�Ôä”"—'‘'—,‘,˜y¨&Ó1°3×7Ô7¸1Ø�G‰GÐ1Ô2Ø�G‰GÐ1Ô2Ø�G‰GÐ1Ô2÷ 8ð
4	"ÜˆIõ8ô
 —’˜O¸×CÖCÜœfÔ%ä—]’]¤7×+Õ+Ü×$Ò$Ô&÷ ,ä—]’]¤7×+Õ+Ü×$Ò$¨DÕ1÷ ,ä—]’]¤7×+Õ+Ü×&Ò&Ô(÷ ,ä—]’]¤7×+Õ+Ü×&Ò&¨dÕ3÷ ,ä—]’]¤7×+Õ+Ü×,Ò,Ô.÷ ,ä—]’]¤7×+Õ+Ü×,Ò,°DÕ9÷ ,ð &/”Ô"ä×)Ò)Ó+¨qÔ0Ð0Ð0Üœ6×3Ò3Ó5Ó6¸!Ô;Ð;Ð;ô #)×"4Ò"4¸DÔ"A�Ü˜?Ó+¨qÔ0Ð0Ð0ô )/×(@Ò(@ÈÔ(MÐ%Üœ3œsÐ$9Ó:Ó;¸qÔ@Ð@Ð@ô œ"Ÿ'™'Ÿ,™, y°&Ó9¸3×?Ô?À1Ø—G‘GÐ9Ô:Ø—G‘GÐ9Ô:Ø—G‘GÐ9Ô:÷ @ô
 ×)Ò)Ó+¨qÔ0Ð0Ð0Üœ6×-Ò-°TÔ:Ó;¸qÔ@Ð@Ð@Üœ6×3Ò3Ó5Ó6¸!Ô;Ð;Ð;äœœC¤×!9Ò!9ÀÔ!FÓGÓHÈAÔMðÙM÷Q DôV �MŠM˜)Ô$Üœ&Ô!ä×!Ñ! WÔ,Ð,Ò,÷w 8×7Ð7ú÷  ,×+Ð+úç+×+Ð+úç+×+Ð+úç+×+Ð+úç+×+Ð+úç+×+Ð+ú÷$ @×?Ð?ú÷? D×CûôV �MŠM˜)Ô$Üœ&Õ!úsÚ   Á4QÂ,T
 Ã2S7Ã5Q+	Ä*S7Ä5Q?	Å*S7Å7R	Æ*S7Æ7R'	Ç*S7Ç9R;	È*S7È9S	ÉC&S7Ì74S#	Í+B%S7ÐT
 ÑQ(	Ñ+Q<Ñ6	S7Ñ?RÒ
	S7ÒR$Ò	S7Ò'R8Ò2	S7Ò;SÓ	S7ÓS Ó	S7Ó#S4Ó.	S7Ó7T	ÔT
 Ô
'T1c                óZ  € \         P                  ! R 4      P                  4       p\        RV/4      ;_uu_ 4       p\        P
                  ! 4        VP                  '       g   Q h\        P
                  ! RR7       \        P                  ! 4        \        P                  ! RR7       RRR4       \         P                  ! R4      P                  4       p\        RV/4      ;_uu_ 4        \        P
                  ! 4       pXP                  '       g   Q h\        P
                  ! RR7      p\        P                  ! 4       p\        P                  ! RR7      pV^ 8w  g   Q h\        V4      ^ 8w  g   Q h\        V4      ^ 8w  g   Q h\        V4      R8w  g   Q h\        \        \        V4      4      ^ 8w  g   Q h\        \        \        V4      4      R8w  g   Q hVP                  ^ 8X  g   Q hVP                  ^ 8w  g   Q h RRR4       R#   + '       g   i     ELg; i  + '       g   i     R# ; i)z~            cpu   0 0 0 0 0 0 0 1 0 0
            cpu0  0 0 0 0 0 0 0 1 0 0
            cpu1  0 0 0 0 0 0 0 1 0 0
            ry  Trº  Nz~            cpu   1 0 0 0 0 0 0 0 0 0
            cpu0  1 0 0 0 0 0 0 0 0 0
            cpu1  1 0 0 0 0 0 0 0 0 0
            rÙ  )rò   ró   rô   r£   r°   rÌ  rø   rÍ  rÎ  r‰   rI  Úuser)r³   r—   r¢   rÌ  Úcpu_percent_percpurÍ  Úcpu_times_percent_percpus   &      r2   Útest_cpu_steal_decreaseÚ TestMisc.test_cpu_steal_decrease±  sÆ  € ô —/’/ð #ó ÷ ‘“ð	 	ô
  ¨gÐ6×7Ô7¸1ô ×ÒÔ Ø—8—8�8ˆO�8Ü×Ò dÕ+Ü×$Ò$Ô&Ü×$Ò$¨DÕ1÷ 8ô —/’/ð #ó ÷ ‘“ð	 	ô
  ¨gÐ6×7Õ7ä ×,Ò,Ó.ˆKØ—8—8�8ˆO�8Ü!'×!3Ò!3¸4Ô!@ÐÜ &× 8Ò 8Ó :ÐÜ'-×'?Ò'?ÀtÔ'LÐ$Ø !Ô#Ð#Ð#ÜÐ)Ó*¨aÔ/Ð/Ð/ÜÐ(Ó)¨QÔ.Ð.Ð.ÜÐ(Ó)¨UÔ2Ð2Ð2Ü”sœ3Ð 8Ó9Ó:¸aÔ?Ð?Ð?Ü”sœ3Ð 8Ó9Ó:¸eÔCÐCÐCØ$×*Ñ*¨aÔ/Ð/Ð/Ø$×)Ñ)¨QÔ.Ð.Ñ.÷ 8Ñ7÷ 8×7Ð7ú÷ 8×7Ð7ús   ºA-HÃ(DHÈH	ÈH*	c           	     ób  € \         P                  ! R RR7      ;_uu_ 4       p\        P                  ! \        4      ;_uu_ 4        \
        P                  P                  4        RRR4       VP                  '       g   Q h RRR4       R#   + '       g   i     L/; i  + '       g   i     R# ; i)r-  Tr.  N)	r   r¡   r   r^  r	  r°   r  rÃ  rø   rA  s   & r2   Útest_boot_time_mockedÚTestMisc.test_boot_time_mockedØ  sb   € Ü�ZŠZÐ-°d×;Õ;¸qÜ—’œ|×,Õ,Ü—‘×)Ñ)Ô+÷ -à—8—8�8ˆO‘8÷ <Ñ;ß,×,ú÷ <×;Ð;ús)   ¡#BÁB
	Á#BÁ=BÂ
BÂBÂB.	c                ód   € \         P                  ! 4        F  pVP                  R9  d   K  Q h	  R# )ú:0N>   rß  ú:0.0)r°   ÚusersÚhost)r³   rÖ  s   & r2   Ú
test_usersÚTestMisc.test_usersÞ  s&   € ô —L’L–NˆDØ—9‘9 NÖ2Ð2Ð2ó #rp   c                óœ  € V P                  4       p\        P                  ! V4        V\        n        \
        P                  ! \        4      ;_uu_ 4        \        P                  ! 4        R R R 4       \
        P                  ! \        4      ;_uu_ 4        \        P                  ! 4        R R R 4       \
        P                  ! \        4      ;_uu_ 4        \        P                  ! RR7       R R R 4       \
        P                  ! \        4      ;_uu_ 4        \        P                  ! 4        R R R 4       \
        P                  ! \        4      ;_uu_ 4        \        P                  ! 4        R R R 4       \
        P                  ! \        4      ;_uu_ 4        \        P                  ! 4        R R R 4       \
        P                  ! \        4      ;_uu_ 4        \        P                  ! 4        R R R 4       \
        P                  ! \        4      ;_uu_ 4        \        P                  ! 4        R R R 4       \
        P                  ! \        P                  4      ;_uu_ 4        \        P                   ! 4        R R R 4       R\        n        R #   + '       g   i     EL*; i  + '       g   i     ELþ; i  + '       g   i     ELÐ; i  + '       g   i     EL¤; i  + '       g   i     ELx; i  + '       g   i     ELL; i  + '       g   i     EL ; i  + '       g   i     Ló; i  + '       g   i     L¼; i  R\        n        i ; i)NTrº  r]  )rÉ  rR  rÊ  r°   r_  r   r^  r8  r±   rP  rÃ  r9  r+  r  rM  ÚNoSuchProcessÚProcess)r³   Útdirs   & r2   Útest_procfs_pathÚTestMisc.test_procfs_pathä  s·  € Ø�‰Ó ˆÜ
�Š�Œð	)Ø!%ŒFÔÜ—’œw×'Õ'Ü×%Ò%Ô'÷ (ä—’œw×'Õ'Ü× Ò Ô"÷ (ä—’œw×'Õ'Ü× Ò ¨Õ-÷ (ä—’œw×'Õ'Ü× Ò Ô"÷ (ä—’œw×'Õ'Ü×&Ò&Ô(÷ (ä—’œw×'Õ'Ü×&Ò&Ô(÷ (ä—’œw×'Õ'Ü×#Ò#Ô%÷ (ä—’œw×'Õ'Ü×&Ò&Ô(÷ (ä—’œv×3Ñ3×4Õ4Ü—’Ô ÷ 5ð ")ŒFÖ÷' (×'Ð'úç'×'Ð'úç'×'Ð'úç'×'Ð'úç'×'Ð'úç'×'Ð'úç'×'Ð'úç'×'úç4×4ûð ")ŒFÕúsã   ¨-L> ÁJÁ+*L> ÂJ Â+*L> ÃJ4Ã-*L> ÄKÄ-*L> ÅKÅ-*L> ÆK0Æ-*L> ÇLÇ-*L> ÈLÈ-4L> É!L+É7L> ÊJ	Ê	L> Ê J1	Ê+	L> Ê4K	Ê?	L> ËK	Ë	L> ËK-	Ë'	L> Ë0L	Ë;	L> ÌL	Ì	L> ÌL(	Ì#L> Ì+L;	Ì6L> Ì>MÚserialr‰  c                óü  € \         P                  ! 4       p\        VP                  4       4      p\	        4       ;_uu_ 4        VP                  4       p\        V4      V^,           8X  g   Q h\        VR R7      ^,          P                  pVP                  V8w  g   Q h\         P                  ! V4      pVP                  4        V\         P                  ! 4       9  g   Q h RRR4       R#   + '       g   i     R# ; i)r{   c                 ó   € V P                   # rt   )Úid)rw   s   &r2   Ú<lambda>Ú)TestMisc.test_issue_687.<locals>.<lambda>  s   € °·²rp   )ÚkeyN)
r°   rç  rB   Úthreadsr   Úsortedrî  ÚpidÚas_dictÚpids)r³   ÚpÚnthreadsrò  ÚtidÚpts   &     r2   Útest_issue_687ÚTestMisc.test_issue_687þ  s¦   € ô �NŠNÓˆÜ�q—y‘y“{Ó#ˆÜ�\�\Ø—i‘i“kˆGÜ�w“< 8¨a¥<Ô/Ð/Ð/Ü˜¡nÔ5°aÕ8×;Ñ;ˆCØ—5‘5˜C”<Ð�<Ü—’ Ó$ˆBØ�J‰JŒLØœfŸkšk›mÔ+Ð+Ñ+÷ �\�\Š\ús   ÁBC*Ã*C;	c                óö   € \        R R/4      ;_uu_ 4       p\        P                  ! \        P                  ! 4       4      '       g   Q hVP
                  '       g   Q h RRR4       R#   + '       g   i     R# ; i)z/proc/%s/statusrU   N)r£   r°   Ú
pid_existsrR  Úgetpidrø   rA  s   & r2   Útest_pid_exists_no_proc_statusÚ'TestMisc.test_pid_exists_no_proc_status  sP   € ô Ð 1°2Ð6×7Ô7¸1Ü×$Ò$¤R§Y¢Y£[×1Ò1Ð1Ð1Ø—8—8�8ˆO‘8÷ 8×7×7Ò7ús   –AA'ÁA'Á'A8	r¦   N)rË   rÌ   rÍ   rÎ   rÄ  rÓ  rÙ  rÜ  rã  ré  r   r   rˆ  Úxdist_grouprû  r   rÏ   rÐ   rÑ   s   @r2   rÁ  rÁ  i  s`   ø‡ € ò6ò
?-òB%/òNò3ò)ñ4 ÓØ‡[�[×Ñ (ÐÓ+ñ,ó ,ó ð,÷$ð rp   rÁ  z
no batteryc                   óÀ   a € ] tR tRt o ]P
                  P                  ]P                  ! R4      '       * RR7      R 4       t	R t
R tR tR	 tR
 tR tR tR tRtV tR# )ÚTestSensorsBatteryi   Úacpizacpi utility not availabler«   c                ó  € \        R 4      p\        VP                  R4      ^,          P                  4       P	                  RR4      4      p\
        P                  ! 4       P                  p\        W#,
          4      ^8  g   Q hR# )zacpi -br‘  ró  rU   N)	r   rh   r@   rƒ   Úreplacer°   Úsensors_batteryÚpercentr¼   )r³   ri   Ú
acpi_valuerµ   s   &   r2   Útest_percentÚTestSensorsBattery.test_percent#  sd   € ô �‹mˆÜ˜Ÿ™ 3›¨Õ*×0Ñ0Ó2×:Ñ:¸3ÀÓCÓDˆ
Ü×-Ò-Ó/×7Ñ7ˆÜ�:Õ,Ó-°Ô1Ð1Ò1rp   c                óv  a€ V3R  lp\         o\        P                  ! RVR7      ;_uu_ 4       p\        P                  ! 4       P
                  RJ g   Q h\        P                  ! 4       P                  \        P                  8X  g   Q hVP                  '       g   Q h RRR4       R#   + '       g   i     R# ; i)c                 óv   <€ V P                  R4      '       d   \        P                  ! R4      # S! V .VO5/ VB # )ú
AC0/onlineó   1©r  z	AC/online©rÉ  r‘   r“   rÊ  s   &*,€r2   rš   Ú@TestSensorsBattery.test_emulate_power_plugged.<locals>.open_mock.  ó7   ø€ Ø�}‰}Ð8×9Ò9Ü—z’z $Ó'Ð'á  Ð7¨Ò7°Ñ7Ð7rp   rœ   rx  TN)	r?   r   r¡   r°   r  Úpower_pluggedÚsecsleftÚPOWER_TIME_UNLIMITEDrø   ©r³   rš   r¢   r˜   s   &  @r2   Útest_emulate_power_pluggedÚ-TestSensorsBattery.test_emulate_power_plugged,  sˆ   ø€ õ	8ô ˆ	Ü�ZŠZ˜°Y×?Õ?À1Ü×)Ò)Ó+×9Ñ9¸TÓAÐAÐAä×&Ò&Ó(×1Ñ1Ü×.Ñ.ô/ðð/ð —8—8�8ˆO‘8÷ @×?×?Ò?ús   ®A+B'ÂB'Â'B8	c                ó  a€ V3R  lp\         o\        P                  ! RVR7      ;_uu_ 4       p\        P                  ! 4       P
                  RJ g   Q hVP                  '       g   Q h RRR4       R#   + '       g   i     R# ; i)c                 ó°   <€ V P                  R4      '       d   \        hV P                  R4      '       d   \        P                  ! R4      # S! V .VO5/ VB # )r  ú/statusÚchargingr  ©rÉ  r  r‘   r’   rÊ  s   &*,€r2   rš   ÚBTestSensorsBattery.test_emulate_power_plugged_2.<locals>.open_mock@  sL   ø€ Ø�}‰}Ð8×9Ò9Ü'Ð'Ø�}‰}˜Y×'Ò'Ü—{’{ :Ó.Ð.á  Ð7¨Ò7°Ñ7Ð7rp   rœ   rx  TN©r?   r   r¡   r°   r  r  rø   r  s   &  @r2   Útest_emulate_power_plugged_2Ú/TestSensorsBattery.test_emulate_power_plugged_2=  s\   ø€ õ	8ô ˆ	Ü�ZŠZ˜°Y×?Õ?À1Ü×)Ò)Ó+×9Ñ9¸TÓAÐAÐAØ—8—8�8ˆO‘8÷ @×?×?Ò?úó   ®7A3Á&A3Á3B	c                ó  a€ V3R  lp\         o\        P                  ! RVR7      ;_uu_ 4       p\        P                  ! 4       P
                  RJ g   Q hVP                  '       g   Q h RRR4       R#   + '       g   i     R# ; i)c                 óv   <€ V P                  R4      '       d   \        P                  ! R4      # S! V .VO5/ VB # )r  ó   0r  r  rÊ  s   &*,€r2   rš   ÚDTestSensorsBattery.test_emulate_power_not_plugged.<locals>.open_mockO  r  rp   rœ   rx  FNr!  r  s   &  @r2   Útest_emulate_power_not_pluggedÚ1TestSensorsBattery.test_emulate_power_not_pluggedM  s\   ø€ õ	8ô ˆ	Ü�ZŠZ˜°Y×?Õ?À1Ü×)Ò)Ó+×9Ñ9¸UÓBÐBÐBØ—8—8�8ˆO‘8÷ @×?×?Ò?úr$  c                ó  a€ V3R  lp\         o\        P                  ! RVR7      ;_uu_ 4       p\        P                  ! 4       P
                  RJ g   Q hVP                  '       g   Q h RRR4       R#   + '       g   i     R# ; i)c                 ó°   <€ V P                  R4      '       d   \        hV P                  R4      '       d   \        P                  ! R4      # S! V .VO5/ VB # )r  r  Údischargingr  r  rÊ  s   &*,€r2   rš   ÚFTestSensorsBattery.test_emulate_power_not_plugged_2.<locals>.open_mock]  sL   ø€ Ø�}‰}Ð8×9Ò9Ü'Ð'Ø�}‰}˜Y×'Ò'Ü—{’{ =Ó1Ð1á  Ð7¨Ò7°Ñ7Ð7rp   rœ   rx  FNr!  r  s   &  @r2   Ú test_emulate_power_not_plugged_2Ú3TestSensorsBattery.test_emulate_power_not_plugged_2Z  s\   ø€ õ	8ô ˆ	Ü�ZŠZ˜°Y×?Õ?À1Ü×)Ò)Ó+×9Ñ9¸UÓBÐBÐBØ—8—8�8ˆO‘8÷ @×?×?Ò?úr$  c                ó
  a€ V3R  lp\         o\        P                  ! RVR7      ;_uu_ 4       p\        P                  ! 4       P
                  e   Q hVP                  '       g   Q h RRR4       R#   + '       g   i     R# ; i)c                 ó°   <€ V P                  R4      '       d   \        hV P                  R4      '       d   \        P                  ! R4      # S! V .VO5/ VB # )ú"/sys/class/power_supply/AC0/onlineú#/sys/class/power_supply/BAT0/statuss   ???)r3  ú!/sys/class/power_supply/AC/online)re   r  r‘   r“   rÊ  s   &*,€r2   rš   ÚETestSensorsBattery.test_emulate_power_undetermined.<locals>.open_mockm  sU   ø€ Ø�‰ð  ÷ ò ô (Ð'Ø�‰ÐD×EÒEÜ—z’z &Ó)Ð)á  Ð7¨Ò7°Ñ7Ð7rp   rœ   rx  Nr!  r  s   &  @r2   Útest_emulate_power_undeterminedÚ2TestSensorsBattery.test_emulate_power_undeterminedj  sZ   ø€ õ		8ô ˆ	Ü�ZŠZ˜°Y×?Õ?À1Ü×)Ò)Ó+×9Ñ9ÒAÐAÐAØ—8—8�8ˆO‘8÷ @×?×?Ò?ús   ®5A1Á$A1Á1B	c                óà   € \        R R/4      ;_uu_ 4       p\        P                  ! 4       P                  ^ 8X  g   Q hVP                  '       g   Q h RRR4       R#   + '       g   i     R# ; i)ú(/sys/class/power_supply/BAT0/energy_fullr'  N)r£   r°   r  r	  rø   rA  s   & r2   Útest_emulate_energy_full_0Ú-TestSensorsBattery.test_emulate_energy_full_0}  sY   € äØ7¸Ð>÷
ô 
àÜ×)Ò)Ó+×3Ñ3°qÔ8Ð8Ð8Ø—8—8�8ˆO‘8÷	
÷ 
÷ 
ò 
ús   –8AÁAÁA-	c                óˆ  € \        R \        4      ;_uu_ 4        \        R\        4      ;_uu_ 4        \        RR/4      ;_uu_ 4        \        P                  ! 4       P
                  ^X8X  g   Q h RRR4       RRR4       RRR4       R#   + '       g   i     L"; i  + '       g   i     L-; i  + '       g   i     R# ; i)r:  z(/sys/class/power_supply/BAT0/charge_fullz%/sys/class/power_supply/BAT0/capacitys   88N)rª   r  r£   r°   r  r	  ©r³   s   &r2   Ú"test_emulate_energy_full_not_availÚ5TestSensorsBattery.test_emulate_energy_full_not_avail…  sœ   € ô !Ø6Ü÷
õ 
ô %Ø:Ü!÷õ ô 'Ø<¸eÐD÷õ ô "×1Ò1Ó3×;Ñ;¸rÔAÐAÑA÷÷	÷	
ñ 
÷÷ ú÷	÷ ú÷	
÷ 
ð 
ús:   ™B0²B	Á'B
Á0B	Á8B0Â
BÂB	ÂB-Â(B0Â0C	c                óˆ  € \        R \        4      ;_uu_ 4        \        R\        4      ;_uu_ 4        \        R\        4      ;_uu_ 4        \        P                  ! 4       P                  e   Q h RRR4       RRR4       RRR4       R#   + '       g   i     L"; i  + '       g   i     L-; i  + '       g   i     R# ; i)r5  r3  r4  N)rª   r  r°   r  r  r>  s   &r2   Útest_emulate_no_powerÚ(TestSensorsBattery.test_emulate_no_power•  s–   € ä Ø/Ô1B÷
õ 
ô %Ø4Ô6G÷õ ô )Ø9Ü%÷õ ô "×1Ò1Ó3×AÑAÒIÐIÑI÷	÷÷
ñ 
÷÷ ú÷÷ ú÷
÷ 
ð 
ús:   ™B0²B	Á$B
Á0B	Á8B0Â
BÂB	ÂB-Â(B0Â0C	r¦   N)rË   rÌ   rÍ   rÎ   r   rˆ  r‰  rŒ  r�  r  r  r"  r)  r/  r7  r;  r?  rB  rÏ   rÐ   rÑ   s   @r2   r  r     so   ø‡ € ð ‡[�[×ÑØ�LŠL˜Ó Ô Ð)Eð ó ñ2óð2òò"ò òò ò&òB÷ Jð Jrp   r  c                   ó&   a € ] tR tRt o R tRtV tR# )ÚTestSensorsBatteryEmulatedi¤  c           	     ó–  a€ V3R  lp\         o\        P                  ! RR.R7      ;_uu_ 4       p\        P                  ! RVR7      ;_uu_ 4       p\        P                  ! 4       f   Q h RRR4       RRR4       XP
                  '       g   Q hXP
                  '       g   Q hR#   + '       g   i     LB; i  + '       g   i     LM; i)c                 ó*  <€ V P                  R 4      '       d   \        P                  ! R4      # V P                  R4      '       d   \        P                  ! R4      # V P                  R4      '       d   \        P                  ! R4      # S! V .VO5/ VB # )z/energy_nowÚ60000000z
/power_nowÚ0z/energy_fullÚ60000001©rÉ  r‘   r’   rÊ  s   &*,€r2   rš   Ú5TestSensorsBatteryEmulated.test_it.<locals>.open_mock§  sr   ø€ Ø�}‰}˜]×+Ò+Ü—{’{ :Ó.Ð.Ø—‘˜|×,Ò,Ü—{’{ 3Ó'Ð'Ø—‘˜~×.Ò.Ü—{’{ :Ó.Ð.á  Ð7¨Ò7°Ñ7Ð7rp   z
os.listdirÚBAT0r˜  rœ   rx  N)r?   r   r¡   r°   r  rø   )r³   rš   ÚmlistdirÚmopenr˜   s   &   @r2   Útest_itÚ"TestSensorsBatteryEmulated.test_it¦  sˆ   ø€ õ	8ô ˆ	Ü�ZŠZ˜°F°8×<Õ<ÀÜ—’˜O¸×CÕCÀuÜ×-Ò-Ó/Ò;Ð;Ñ;÷ D÷ =ð ��ˆÐˆØ�|�|ˆ|ÐŠ|÷ D×Cú÷ =×<ús#   ¯!B8ÁB%	Á+B8Â%B5Â0B8Â8C	r¦   N)rË   rÌ   rÍ   rÎ   rP  rÏ   rÐ   rÑ   s   @r2   rE  rE  ¤  s   ø‡ € ÷ð rp   rE  c                   ó,   a € ] tR tRt o R tR tRtV tR# )ÚTestSensorsTemperaturesi¹  c           	     óô  a€ V3R  lp\         o\        P                  ! RVR7      ;_uu_ 4        \        P                  ! RR.R7      ;_uu_ 4        \        P                  ! 4       R,          ^ ,          pVP
                  R8X  g   Q hVP                  R8X  g   Q hVP                  R	8X  g   Q hVP                  R
8X  g   Q h RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)c                 óÞ  <€ V P                  R 4      '       d   \        P                  ! R4      # V P                  R4      '       d   \        P                  ! R4      # V P                  R4      '       d   \        P                  ! R4      # V P                  R4      '       d   \        P                  ! R4      # V P                  R4      '       d   \        P                  ! R	4      # S! V .VO5/ VB # )
ú/namer”   z/temp1_labelÚlabelz/temp1_inputó   30000z
/temp1_maxs   40000z/temp1_critó   50000)rÉ  r‘   r’   r“   rÊ  s   &*,€r2   rš   ÚCTestSensorsTemperatures.test_emulate_class_hwmon.<locals>.open_mock¼  s®   ø€ Ø�}‰}˜W×%Ò%Ü—{’{ 6Ó*Ð*Ø—‘˜~×.Ò.Ü—{’{ 7Ó+Ð+Ø—‘˜~×.Ò.Ü—z’z (Ó+Ð+Ø—‘˜|×,Ò,Ü—z’z (Ó+Ð+Ø—‘˜}×-Ò-Ü—z’z (Ó+Ð+á  Ð7¨Ò7°Ñ7Ð7rp   rœ   rx  r—  z/sys/class/hwmon/hwmon0/temp1r˜  r”   rW  ç      >@g      D@ç      I@N©	r?   r   r¡   r°   Úsensors_temperaturesrW  rÏ  ÚhighÚcritical)r³   rš   Útempr˜   s   &  @r2   Útest_emulate_class_hwmonÚ0TestSensorsTemperatures.test_emulate_class_hwmon»  sÂ   ø€ õ	8ô ˆ	Ü�ZŠZ˜°Y×?Ö?ä—’ØÐ+JÐ*K÷ö ô ×2Ò2Ó4°VÕ<¸QÕ?�Ø—z‘z WÔ,Ð,Ð,Ø—|‘| tÔ+Ð+Ð+Ø—y‘y DÔ(Ð(Ð(Ø—}‘}¨Ô,Ð,Ñ,÷÷ @Ñ?÷÷ ú÷ @×?Ð?ús$   ®"C&ÁA0C	ÃC&ÃC#ÃC&Ã&C7	c           	     óú  a€ V3R  lpR p\         o\        P                  ! RVR7      ;_uu_ 4        \        P                  ! RRVR7      ;_uu_ 4        \        P                  ! 4       R,          ^ ,          pVP
                  R8X  g   Q hVP                  R	8X  g   Q hVP                  R
8X  g   Q hVP                  R
8X  g   Q h RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)c                 ó„  <€ V P                  R 4      '       d   \        P                  ! R4      # V P                  R4      '       d   \        P                  ! R4      # V P                  R4      '       d   \        P                  ! R4      # V P                  R4      '       d   \        P                  ! R4      # S! V .VO5/ VB # )Ú0_temprY  ra  rX  Ú0_typer`  Útyper”   )rÉ  r‘   r“   r’   rÊ  s   &*,€r2   rš   ÚETestSensorsTemperatures.test_emulate_class_thermal.<locals>.open_mock×  s�   ø€ Ø�}‰}˜X×&Ò&Ü—z’z (Ó+Ð+Ø—‘˜v×&Ò&Ü—z’z (Ó+Ð+Ø—‘˜x×(Ò(Ü—{’{ :Ó.Ð.Ø—‘˜v×&Ò&Ü—{’{ 6Ó*Ð*á  Ð7¨Ò7°Ñ7Ð7rp   c                 óB   € V R9   d   . # V R8X  d   R.# V R8X  d   RR.# . # )ú/sys/class/hwmon/hwmon*/temp*_*z /sys/class/thermal/thermal_zone*z /sys/class/thermal/thermal_zone0z,/sys/class/thermal/thermal_zone0/trip_point*z2/sys/class/thermal/thermal_zone1/trip_point_0_typez2/sys/class/thermal/thermal_zone1/trip_point_0_temp>   rk  ú&/sys/class/hwmon/hwmon*/device/temp*_*r¦   r�  s   &r2   Ú	glob_mockÚETestSensorsTemperatures.test_emulate_class_thermal.<locals>.glob_mockã  sH   € Øð ô ð �	ØÐ;Ô;Ø:Ð;Ð;ØÐGÔGàHØHðð ð ˆIrp   rœ   rx  r—  Tr�   r”   rU   r[  r\  Nr]  )r³   rš   rm  ra  r˜   s   &   @r2   Útest_emulate_class_thermalÚ2TestSensorsTemperatures.test_emulate_class_thermalÖ  s»   ø€ õ
	8ò	ô ˆ	Ü�ZŠZ˜°Y×?Ö?Ü—’˜K°À)×LÖLÜ×2Ò2Ó4°VÕ<¸QÕ?�Ø—z‘z RÔ'Ð'Ð'Ø—|‘| tÔ+Ð+Ð+Ø—y‘y DÔ(Ð(Ð(Ø—}‘}¨Ô,Ð,Ñ,÷ M÷ @Ñ?ßL×Lú÷ @×?Ð?ús$   ±"C)ÁA0C	ÃC)ÃC&Ã!C)Ã)C:	r¦   N)rË   rÌ   rÍ   rÎ   rb  ro  rÏ   rÐ   rÑ   s   @r2   rS  rS  ¹  s   ø‡ € ò-÷6#-ð #-rp   rS  c                   ó&   a € ] tR tRt o R tRtV tR# )ÚTestSensorsFansiü  c           	     ó¨  a€ V3R  lp\         o\        P                  ! RVR7      ;_uu_ 4        \        P                  ! RR.R7      ;_uu_ 4        \        P                  ! 4       R,          ^ ,          pVP
                  R8X  g   Q hVP                  R8X  g   Q h R	R	R	4       R	R	R	4       R	#   + '       g   i     L; i  + '       g   i     R	# ; i)
c                 ó*  <€ V P                  R 4      '       d   \        P                  ! R4      # V P                  R4      '       d   \        P                  ! R4      # V P                  R4      '       d   \        P                  ! R4      # S! V .VO5/ VB # )rV  r”   z/fan1_labelrW  z/fan1_inputÚ2000rK  rÊ  s   &*,€r2   rš   Ú4TestSensorsFans.test_emulate_data.<locals>.open_mockÿ  sr   ø€ Ø�}‰}˜W×%Ò%Ü—{’{ 6Ó*Ð*Ø—‘˜}×-Ò-Ü—{’{ 7Ó+Ð+Ø—‘˜}×-Ò-Ü—{’{ 6Ó*Ð*á  Ð7¨Ò7°Ñ7Ð7rp   rœ   rx  r—  z/sys/class/hwmon/hwmon2/fan1r˜  r”   rW  iÐ  N)r?   r   r¡   r°   Úsensors_fansrW  rÏ  )r³   rš   Úfanr˜   s   &  @r2   rÑ  Ú!TestSensorsFans.test_emulate_dataþ  sž   ø€ õ	8ô ˆ	Ü�ZŠZ˜°Y×?Ö?Ü—’ØÐ+IÐ*J÷ö ô ×)Ò)Ó+¨FÕ3°AÕ6�Ø—y‘y GÔ+Ð+Ð+Ø—{‘{ dÔ*Ð*Ñ*÷÷ @Ñ?÷÷ ú÷ @×?Ð?ús$   ®"C ÁA
B-	ÂC Â-B=Â8C Ã C	r¦   N)rË   rÌ   rÍ   rÎ   rÑ  rÏ   rÐ   rÑ   s   @r2   rr  rr  ü  s   ø‡ € ÷+ð +rp   rr  c                   óü   a € ] tR tRt o ]! 4       R 4       tR tR tR tR t	R t
R tR	 tR
 tR tR tR tR tR tR tR t]P,                  P/                  ]'       * RR7      R 4       tR tR tR tR tRtV tR# )ÚTestProcessi  c                óð  € V P                  4       p\        P                  P                  VP                  4      P                  4       w  r#p\        P                  ! VP                  4      P                  R R7      p\        V\        R V 4       4      ,
          4      R8  g   Q h\        V\        R V 4       4      ,
          4      R8  g   Q h\        V\        R V 4       4      ,
          4      R8  g   Q hR# )F)Úgroupedc              3   óZ   "  € T F!  qP                   VP                  ,           x € K#  	  R # 5irt   )Úprivate_dirtyÚprivate_cleanru   s   & r2   rx   Ú>TestProcess.test_parse_smaps_vs_memory_maps.<locals>.<genexpr>   s   é € ÐJÁTÀŸ/™/¨A¯O©O×;Ò;ÃTùs   ‚)+r  c              3   ó8   "  € T F  qP                   x € K  	  R # 5irt   )Úpssru   s   & r2   rx   r�  #  s   é € Ð1©D qŸUžU«Dùrz   c              3   ó8   "  € T F  qP                   x € K  	  R # 5irt   )r;  ru   s   & r2   rx   r�  $  s   é € Ð3©d¨Ÿfžf«dùrz   N)	Úspawn_subprocr°   r  rç  rô  Ú_parse_smapsÚmemory_mapsr¼   rÎ  )r³   ÚsprocÚussrƒ  r;  Úmapss   &     r2   Útest_parse_smaps_vs_memory_mapsÚ+TestProcess.test_parse_smaps_vs_memory_maps  sÇ   € à×"Ñ"Ó$ˆÜŸ™×0Ñ0°·±Ó;×HÑHÓJ‰ˆ�$Ü�~Š~˜eŸi™iÓ(×4Ñ4¸UÐ4ÓCˆä�”cÑJÁTÓJÓJÕJÓKØôð	
ðô �3œÑ1©DÓ1Ó1Õ1Ó2°TÔ9Ð9Ð9Ü�4œ#Ñ3©dÓ3Ó3Õ3Ó4°tÔ;Ð;Ò;rp   c                óÊ  € \         P                  ! R 4      P                  4       p\        R\        P
                  ! 4        R2V/4      ;_uu_ 4       p\        P                  P                  \        P
                  ! 4       4      pVP                  4       w  rEpVP                  '       g   Q hVR8X  g   Q hVR8X  g   Q hVR8X  g   Q h RRR4       R#   + '       g   i     R# ; i)an              fffff0 r-xp 00000000 00:00 0                  [vsyscall]
            Size:                  1 kB
            Rss:                   2 kB
            Pss:                   3 kB
            Shared_Clean:          4 kB
            Shared_Dirty:          5 kB
            Private_Clean:         6 kB
            Private_Dirty:         7 kB
            Referenced:            8 kB
            Anonymous:             9 kB
            LazyFree:              10 kB
            AnonHugePages:         11 kB
            ShmemPmdMapped:        12 kB
            Shared_Hugetlb:        13 kB
            Private_Hugetlb:       14 kB
            Swap:                  15 kB
            SwapPss:               16 kB
            KernelPageSize:        17 kB
            MMUPageSize:           18 kB
            Locked:                19 kB
            VmFlags: rd ex
            ú/proc/ú/smapsNi l  r  i <  )rò   ró   rô   r£   rR  rÿ  r°   r  rç  r†  rø   )r³   r—   r¢   r÷  r‰  rƒ  r;  s   &      r2   Útest_parse_smaps_mockedÚ#TestProcess.test_parse_smaps_mocked&  s´   € ä—/’/ð #ó ÷, ‘“ð- 	ô.  &¬¯ª«¨°VÐ <¸gÐF×GÔGÈ1Ü—‘×'Ñ'¬¯	ª	«Ó4ˆAØŸ^™^Ó-‰NˆC�dØ—8—8�8ˆO�8ØÐ-Ô-Ð-Ð-Ø˜(”?Ð"�?Ø˜9Ô$Ð$Ñ$÷ H×G×GÒGús   ÁA5CÃC"	c                ó  € R  pV P                  4       p\        VR4      ;_uu_ 4        V! V4      P                  R8X  g   Q h RRR4       \        V4      ;_uu_ 4        V! V4      P                  R8X  g   Q h RRR4       \        VR4      ;_uu_ 4        V! V4      P                  R8X  g   Q h RRR4       \        VR4      ;_uu_ 4        V! V4      P                  R8X  g   Q h RRR4       \        VR4      ;_uu_ 4        V! V4      P                  R8X  g   Q h RRR4       \        VR4      ;_uu_ 4        V! V4      P                  R8X  g   Q h RRR4       \        V4       \        VR4      ;_uu_ 4        V! V4      P                  R8X  g   Q h RRR4       \        V4       \        VR	4      ;_uu_ 4        V! V4      P                  R8X  g   Q h RRR4       R#   + '       g   i     EL©; i  + '       g   i     EL‡; i  + '       g   i     ELd; i  + '       g   i     ELA; i  + '       g   i     EL; i  + '       g   i     Lú; i  + '       g   i     LË; i  + '       g   i     R# ; i)
c                 ó>  € \         P                  ! 4       p\        P                  ! 4       \        ,           p VP	                  4        FR  pVP
                  \        P
                  P                  V 4      8X  d   Vu # \        P                  ! 4       V8”  g   KQ   Ke  	  Ki  )T)	r°   rç  Útimer   Ú
open_filesrŠ  rR  Úabspathr	  )Úfnamer÷  Ú	giveup_atÚfiles   &   r2   Úget_test_fileÚ7TestProcess.test_open_files_mode.<locals>.get_test_fileH  s`   € Ü—’Ó ˆAÜŸ	š	›¤nÕ4ˆIØØŸL™LžN�DØ—y‘y¤B§G¡G§O¡O°EÓ$:Ô:Ø#šÜŸš› yÖ0Úó	 +rp   rþ   NÚrr  zr+zw+za+rw   zx+)rÉ  r?   Úmoder   )r³   rš  Útestfns   &  r2   Útest_open_files_modeÚ TestProcess.test_open_files_modeG  sÍ  € ò		@ð —‘Ó"ˆÜ�&˜#×ÕÙ  Ó(×-Ñ-°Ô4Ð4Ñ4÷ ä�&�\�\Ù  Ó(×-Ñ-°Ô4Ð4Ñ4÷ ä�&˜#×ÕÙ  Ó(×-Ñ-°Ô4Ð4Ñ4÷ ä�&˜$×ÕÙ  Ó(×-Ñ-°Ô5Ð5Ñ5÷  ä�&˜$×ÕÙ  Ó(×-Ñ-°Ô5Ð5Ñ5÷  ä�&˜$×ÕÙ  Ó(×-Ñ-°Ô5Ð5Ñ5÷  ô 	�FÔÜ�&˜#×ÕÙ  Ó(×-Ñ-°Ô4Ð4Ñ4÷ ä�FÔÜ�&˜$×ÕÙ  Ó(×-Ñ-°Ô5Ð5Ñ5÷  Ñ÷# ×Ðúç�\ˆ\úç×Ðúç×Ðúç×Ðúç×ú÷ ×ú÷  ×Ðús_   ¨G#ÁG7ÂHÃHÄH3Ä:IÅ<IÆ>I-Ç#G4	Ç7H	ÈH	ÈH0	È3I	ÉI	ÉI*	É-I>	c           	     óÊ  aa€ \         P                  ! 4       oSP                  4       o\        V P	                  4       R 4      ;_uu_ 4        \        VV3R l4       \        P                  ! R\        R7      ;_uu_ 4       pSP                  4       . 8X  g   Q hVP                  '       g   Q h RRR4       \        P                  ! R\        \        P                  R4      R7      ;_uu_ 4       pSP                  4       . 8X  g   Q hVP                  '       g   Q h RRR4       RRR4       R#   + '       g   i     L‡; i  + '       g   i     L-; i  + '       g   i     R# ; i)rþ   c                  óN   <€ \        SP                  4       4      \        S 4      8g  # rt   ©rB   r•  ©Úfilesr÷  s   €€r2   rï  Ú7TestProcess.test_open_files_file_gone.<locals>.<lambda>o  ó   ø€ œs 1§<¡<£>Ó2´c¸%³jÒ@rp   úpsutil._pslinux.os.readlinkrx  NrU   )r°   rç  r•  r?   rÉ  r   r   r¡   r  rø   r8  ÚerrnoÚEINVAL©r³   r¢   r¥  r÷  s   & @@r2   Útest_open_files_file_goneÚ%TestProcess.test_open_files_file_goneh  sô   ù€ ô �NŠNÓˆØ—‘“ˆÜ�$—/‘/Ó# S×)Õ)äÕ@ÔAÜ—’Ø-Ü-÷õ ð Ø—|‘|“~¨Ô+Ð+Ð+Ø—x—x�x�‘x÷ô —’Ø-Ü#¤E§L¡L°"Ó5÷õ ð Ø—|‘|“~¨Ô+Ð+Ð+Ø—x—x�x�‘x÷÷ *Ñ)÷÷ ú÷÷ ú÷ *×)Ð)úsI   Á
5EÁ?)D+	Â)D+	Â,A EÃ,)D>	ÄD>	ÄEÄ+D;Ä6EÄ>EÅ	EÅE"	c           	     óÊ  aa€ \         P                  ! 4       oSP                  4       o\        V P	                  4       R 4      ;_uu_ 4        \        VV3R l4       \        P                  ! R\        R7      ;_uu_ 4       pSP                  4       . 8X  g   Q hVP                  '       g   Q h RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)rþ   c                  óN   <€ \        SP                  4       4      \        S 4      8g  # rt   r£  r¤  s   €€r2   rï  Ú5TestProcess.test_open_files_fd_gone.<locals>.<lambda>‡  r§  rp   rœ   rx  N)
r°   rç  r•  r?   rÉ  r   r   r¡   r  rø   r«  s   & @@r2   Útest_open_files_fd_goneÚ#TestProcess.test_open_files_fd_gone  s˜   ù€ ô �NŠNÓˆØ—‘“ˆÜ�$—/‘/Ó# S×)Õ)äÕ@ÔAÜ—’ØÔ->÷õ àØ—|‘|“~¨Ô+Ð+Ð+Ø—x—x�x�‘x÷	÷ *Ñ)÷÷ ú÷ *×)Ð)ús*   Á
5CÁ?)B>	Â)B>	Â,CÂ>CÃ	CÃC"	c                ój  aa€ \         P                  ! 4       oSP                  4       o\        V P	                  4       R 4      ;_uu_ 4        \        VV3R l4       Rp\        P                  ! V\        \        P                  R4      R7      ;_uu_ 4       p\        P                  ! R4      ;_uu_ 4        SP                  4       . 8X  g   Q hVP                  '       g   Q h RRR4       RRR4       RRR4       R#   + '       g   i     L"; i  + '       g   i     L-; i  + '       g   i     R# ; i)rþ   c                  óN   <€ \        SP                  4       4      \        S 4      8g  # rt   r£  r¤  s   €€r2   rï  Ú:TestProcess.test_open_files_enametoolong.<locals>.<lambda>–  r§  rp   r¨  rU   rx  úpsutil._pslinux.debugN)r°   rç  r•  r?   rÉ  r   r   r¡   r8  r©  ÚENAMETOOLONGrø   )r³   Úpatch_pointr¢   r¥  r÷  s   &  @@r2   Útest_open_files_enametoolongÚ(TestProcess.test_open_files_enametoolongŽ  sÇ   ù€ ô �NŠNÓˆØ—‘“ˆÜ�$—/‘/Ó# S×)Õ)äÕ@ÔAØ7ˆKÜ—’Ø¬´×1CÑ1CÀRÓ)H÷õ àÜ—Z’ZÐ 7×8Õ8ØŸ<™<›>¨RÔ/Ð/Ð/ØŸ8Ÿ8˜8�O™8÷ 9÷÷	 *Ñ)÷ 9×8ú÷÷ ú÷	 *×)Ð)úsC   Á
AD!ÂD	Â4)C;ÃC;Ã!D	Ã)D!Ã;DÄD	ÄDÄD!Ä!D2	c                ó2  € \         P                  ! R / R7      ;_uu_ 4       p\        P                  P	                  \
        P                  ! 4       4      P                  4       e   Q hVP                  '       g   Q h RRR4       R#   + '       g   i     R# ; i)z)psutil._pslinux._psposix.get_terminal_mapr˜  N)	r   r¡   r°   r  rç  rR  rÿ  Úterminalrø   rA  s   & r2   Útest_terminal_mockedÚ TestProcess.test_terminal_mocked¡  sg   € Ü�ZŠZØ7Àb÷
õ 
àÜ—?‘?×*Ñ*¬2¯9ª9«;Ó7×@Ñ@ÓBÒJÐJÐJØ—8—8�8ˆO‘8÷	
÷ 
÷ 
ò 
ús   ¡ABÁ8BÂB	c                ó6  € \         P                  ! 4       p\        P                  ! R 4      p\        P
                  ! RVRR7      ;_uu_ 4       pVP                  4       RR.8X  g   Q hVP                  '       g   Q h RRR4       \        P                  ! R4      p\        P
                  ! RVRR7      ;_uu_ 4       pVP                  4       . RO8X  g   Q hVP                  '       g   Q h RRR4       R#   + '       g   i     L€; i  + '       g   i     R# ; i)	zfoo bar r-  Tr|  ÚfooÚbarNz	foo bar  ©rÀ  rÁ  rU   ©r°   rç  r‘   r’   r   r¡   Úcmdlinerø   ©r³   r÷  r…  r¢   s   &   r2   Útest_cmdline_mockedÚTestProcess.test_cmdline_mocked¨  sÕ   € ä�NŠNÓˆÜ—K’KÐ 0Ó1ˆ	Ü�ZŠZØ!°	À$÷
õ 
àØ—9‘9“; 5¨% .Ô0Ð0Ð0Ø—8—8�8ˆO‘8÷	
ô
 —K’KÐ 4Ó5ˆ	Ü�ZŠZØ!°	À$÷
õ 
àØ—9‘9“;Ò"4Ô4Ð4Ð4Ø—8—8�8ˆO‘8÷	
ñ 
÷
÷ 
ú÷
÷ 
ð 
úó$   Á+C4Á9C4Â;+DÃ'DÃ4D	ÄD	c                ó6  € \         P                  ! 4       p\        P                  ! R 4      p\        P
                  ! RVRR7      ;_uu_ 4       pVP                  4       RR.8X  g   Q hVP                  '       g   Q h RRR4       \        P                  ! R4      p\        P
                  ! RVRR7      ;_uu_ 4       pVP                  4       . RO8X  g   Q hVP                  '       g   Q h RRR4       R#   + '       g   i     L€; i  + '       g   i     R# ; i)	zfoo bar r-  Tr|  rÀ  rÁ  Nz	foo bar  rÂ  rÃ  rÅ  s   &   r2   Útest_cmdline_spaces_mockedÚ&TestProcess.test_cmdline_spaces_mocked¸  sÓ   € ä�NŠNÓˆÜ—K’K 
Ó+ˆ	Ü�ZŠZØ!°	À$÷
õ 
àØ—9‘9“; 5¨% .Ô0Ð0Ð0Ø—8—8�8ˆO‘8÷	
ô
 —K’K Ó,ˆ	Ü�ZŠZØ!°	À$÷
õ 
àØ—9‘9“;Ò"4Ô4Ð4Ð4Ø—8—8�8ˆO‘8÷	
ñ 
÷
÷ 
ú÷
÷ 
ð 
úrÈ  c                ó4  € \         P                  ! 4       p\        P                  ! R 4      p\        P
                  ! RVRR7      ;_uu_ 4       pVP                  4       RR.8X  g   Q hVP                  '       g   Q h RRR4       R#   + '       g   i     R# ; i)zfoo bar r-  Tr|  rÀ  rÁ  NrÃ  rÅ  s   &   r2   Útest_cmdline_mixed_separatorsÚ)TestProcess.test_cmdline_mixed_separatorsÈ  st   € ô �NŠNÓˆÜ—K’KÐ 0Ó1ˆ	Ü�ZŠZØ!°	À$÷
õ 
àØ—9‘9“; 5¨% .Ô0Ð0Ð0Ø—8—8�8ˆO‘8÷	
÷ 
÷ 
ò 
ús   Á+BÁ9BÂB	c                ó*  € \         P                  ! R RR7      ;_uu_ 4        \        P                  ! 4       P	                  4       R8X  g   Q h\        P                  ! 4       P                  4       R8X  g   Q h RRR4       R#   + '       g   i     R# ; i)r¨  z/home/foo (deleted)r˜  z	/home/fooN)r   r¡   r°   rç  ÚexeÚcwdr>  s   &r2   Ú!test_readlink_path_deleted_mockedÚ-TestProcess.test_readlink_path_deleted_mockedÓ  sl   € Ü�ZŠZØ)Ð8M÷
ö 
ô —>’>Ó#×'Ñ'Ó)¨[Ô8Ð8Ð8Ü—>’>Ó#×'Ñ'Ó)¨[Ô8Ð8Ñ8÷	
÷ 
÷ 
ò 
ús   ¡ABÂB	c           	     óv  a€ V3R  lp\         o\        P                  ! RVR7      ;_uu_ 4       p\        P                  ! 4       P                  4       pVP                  '       g   Q hV. 8X  g   Q h RRR4       V3R lp\        P                  ! RVR7      ;_uu_ 4        \        P                  ! \        P                  4      ;_uu_ 4        \        P                  ! 4       P                  4        RRR4       RRR4       R#   + '       g   i     L™; i  + '       g   i     L-; i  + '       g   i     R# ; i)c                 ó„   <€ V P                  R \        P                  ! 4        R24      '       d   \        hS! V .VO5/ VB # ©rŽ  z/task)re   rR  rÿ  r  rÊ  s   &*,€r2   Úopen_mock_1Ú4TestProcess.test_threads_mocked.<locals>.open_mock_1ß  s<   ø€ Ø�‰ ¬¯	ª	« }°EÐ:×;Ò;Ü'Ð'Ù˜TÐ3 DÒ3¨FÑ3Ð3rp   rœ   rx  Nc                 ó„   <€ V P                  R \        P                  ! 4        R24      '       d   \        hS! V .VO5/ VB # rÖ  )re   rR  rÿ  ÚPermissionErrorrÊ  s   &*,€r2   Úopen_mock_2Ú4TestProcess.test_threads_mocked.<locals>.open_mock_2ì  s<   ø€ Ø�‰ ¬¯	ª	« }°EÐ:×;Ò;Ü%Ð%Ù˜TÐ3 DÒ3¨FÑ3Ð3rp   )
r?   r   r¡   r°   rç  rò  rø   r   r^  ÚAccessDenied)r³   r×  r¢   rý   rÛ  r˜   s   &    @r2   Útest_threads_mockedÚTestProcess.test_threads_mockedÚ  sÄ   ø€ õ
	4ô
 ˆ	Ü�ZŠZ˜°[×AÕAÀQÜ—.’.Ó"×*Ñ*Ó,ˆCØ—8—8�8ˆO�8Ø˜"”9Ð‘9÷ Bõ	4ô
 �ZŠZ˜°[×AÖAÜ—’œv×2Ñ2×3Õ3Ü—’Ó ×(Ñ(Ô*÷ 4÷ BÑA÷ B×Aú÷ 4×3ú÷ B×AÐAús0   ®ADÂ-D'Ã$D	Ã/D'ÄD	ÄD$ÄD'Ä'D8	c           	     ó‚  € \         P                  ! R \        R7      ;_uu_ 4       p\         P                  ! R. R7      ;_uu_ 4        \        P                  ! 4       P                  4       pVP                  '       g   Q hVR8X  g   Q h RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)úpsutil._pslinux.readlinkrx  zpsutil._pslinux.Process.cmdliner˜  rU   N)r   r¡   r  r°   rç  rÐ  rø   ©r³   r¢   rý   s   &  r2   Útest_exe_mockedÚTestProcess.test_exe_mockedõ  sŒ   € Ü�ZŠZØ&Ô4E÷
õ 
àä—’Ø1À÷ö ô —n’nÓ&×*Ñ*Ó,�Ø—x—x�x��xØ˜b”yÐ ‘y÷÷	
ñ 
÷÷ ú÷	
÷ 
ð 
ús$   ¥!B-ÁAB	ÂB-ÂB*Â%B-Â-B>	c                ó
  € \         P                  ! R \        R7      ;_uu_ 4       p\        P                  ! 4       P                  4       pVP                  '       g   Q hVR8X  g   Q h RRR4       R#   + '       g   i     R# ; i)rá  rx  rU   N)r   r¡   r  r°   rç  rÑ  rø   râ  s   &  r2   Útest_cwd_mockedÚTestProcess.test_cwd_mocked  s_   € ä�ZŠZØ&Ô4E÷
õ 
àÜ—.’.Ó"×&Ñ&Ó(ˆCØ—8—8�8ˆO�8Ø˜"”9Ð‘9÷
÷ 
÷ 
ò 
ús   ¥AA1Á1B	c           	     óŽ  € \        R \        P                  ! 4        R2\        4      ;_uu_ 4       p\        P
                  ! 4       p\        P                  ! \        4      ;_uu_ 4        VP                  4        RRR4       VP                  '       g   Q h RRR4       R#   + '       g   i     L/; i  + '       g   i     R# ; i)rŽ  r�  N)
rª   rR  rÿ  r  r°   rç  r   r^  r‡  rø   ©r³   r¢   r÷  s   &  r2   Útest_issue_1014ÚTestProcess.test_issue_1014
  sƒ   € ô !Ø”R—Y’Y“[�M Ð(Ô*;÷
ô 
àÜ—’Ó ˆAÜ—’Ô0×1Õ1Ø—‘”÷ 2à—8—8�8ˆO‘8÷
ñ 
÷ 2×1ú÷	
÷ 
ð 
ús)   °8B3Á(B 	Á9B3ÂB3Â B0Â+B3Â3C	c                óð  € \         P                  ! 4       p\        R \        P                  ! 4        R2\
        4      ;_uu_ 4        \        P                  ! RRR7      ;_uu_ 4        \        P                  ! \         P                  4      ;_uu_ 4        VP                  4        RRR4       RRR4       RRR4       R#   + '       g   i     L"; i  + '       g   i     L-; i  + '       g   i     R# ; i)rŽ  z/statmr±  Fr˜  N)r°   rç  rª   rR  rÿ  r  r   r¡   r   r^  ræ  Úmemory_info©r³   r÷  s   & r2   Útest_issue_2418ÚTestProcess.test_issue_2418  sš   € Ü�NŠNÓˆÜ Ø”R—Y’Y“[�M Ð(Ô*;÷
õ 
ô —’Ð,¸5×AÖAÜ—]’]¤6×#7Ñ#7×8Õ8Ø—M‘M”O÷ 9÷ B÷
ñ 
÷ 9×8ú÷ B×Aú÷
÷ 
ð 
ús<   Á!C$Á&-C	ÂB>Â$C	Â,C$Â>CÃ	C	ÃC!ÃC$Ã$C5	r©  r«   c                ó2  € \         P                  ! R \        \        P                  R4      R7      ;_uu_ 4       p\         P                  ! RRR7      ;_uu_ 4       p\
        P                  ! 4       pVP                  4        \        P                  ! \
        P                  4      ;_uu_ 4       pVP                  \
        P                  4       RRR4       RRR4       RRR4       XP                  '       g   Q hXP                  '       g   Q hXP                  P                  XP                  8X  g   Q hVP                  P                  VP                  4       8X  g   Q hR#   + '       g   i     Lœ; i  + '       g   i     L§; i  + '       g   i     L²; i)zresource.prlimitrU   rx  z"psutil._pslinux.Process._is_zombieTr˜  N)r   r¡   r8  r©  ÚENOSYSr°   rç  r”   r   r^  ÚZombieProcessÚrlimitÚRLIMIT_NOFILErø   r^  rô  )r³   rŸ  r   r÷  Úcms   &    r2   Útest_rlimit_zombieÚTestProcess.test_rlimit_zombie  s  € ô
 �ZŠZØ¬G´E·L±LÀ"Ó,E÷
õ 
àÜ—’Ø4À4÷õ àÜ—N’NÓ$�Ø—‘”Ü—]’]¤6×#7Ñ#7×8Ô8¸BØ—H‘HœV×1Ñ1Ô2÷ 9÷÷
ð �y�yˆyÐˆyØ�y�yˆyÐˆyØ�x‰x�|‰|˜qŸu™uÔ$Ð$Ð$Ø�x‰x�}‰} §¡£Ô(Ð(Ò(÷ 9×8ú÷÷ ú÷
÷ 
ús<   ¹!FÁAE3	Â, E ÃE3	ÃFÅ E0Å+E3	Å3FÅ>FÆF	c                óF  € . R NRNRNRNR NR NR NR NR NR NR NR NR NRNRNRNRNR NR NR NR NRNR NR NR NR NR NR NR NR NR NR NR NR NR NR NR NR NRNR NR NR	NpR
P                  V4      P                  4       p\        R\        P                  ! 4        R2V/4      ;_uu_ 4        \
        P                  ! 4       pVP                  4       R8X  g   Q hVP                  4       \
        P                  8X  g   Q hVP                  4       ^8X  g   Q hVP                  4       ^\        ,          \
        P                  ! 4       ,           8X  g   Q hVP                  4       pVP                  ^\        ,          8X  g   Q hVP                   ^\        ,          8X  g   Q hVP"                  ^\        ,          8X  g   Q hVP$                  ^\        ,          8X  g   Q hVP&                  ^\        ,          8X  g   Q hVP)                  4       ^8X  g   Q h RRR4       R#   + '       g   i     R# ; i)rI  z(cat)ÚZÚ1Ú2Ú3Ú4Ú5Ú6Ú7r�   rŽ  z/statÚcatN)rE   rô   r£   rR  rÿ  r°   rç  r”   ÚstatusÚSTATUS_ZOMBIEÚppidÚcreate_timer   rÃ  rP  rÖ  ÚsystemÚchildren_userÚchildren_systemÚiowaitÚcpu_num)r³   r•   r—   r÷  Úcpus   &    r2   Útest_stat_file_parsingÚ"TestProcess.test_stat_file_parsing2  s
  € ð+
Øð+
àð+
ð ð+
ð ð	+
ð
 ð+
ð ð+
ð ð+
ð ð+
ð ð+
ð ð+
ð ð+
ð ð+
ð ð+
ð ð+
ð ð+
ð  ð!+
ð" ð#+
ð$ ð%+
ð& ð'+
ð( ð)+
ð* ð++
ð, ð-+
ð. ð/+
ð0 ð1+
ð2 ð3+
ð4 ð5+
ð6 ð7+
ð8 ð9+
ð: ð;+
ð< ð=+
ð> ð?+
ð@ ðA+
ðB ðC+
ðD ðE+
ðF ðG+
ðH ðI+
ðJ ðK+
ðL ðM+
ðN ðO+
ðP ðQ+
ðR ðS+
ðT ðU+
ˆðX —(‘(˜4“.×'Ñ'Ó)ˆÜ &¬¯ª«¨°UÐ ;¸WÐE×FÕFÜ—’Ó ˆAØ—6‘6“8˜uÔ$Ð$Ð$Ø—8‘8“:¤×!5Ñ!5Ô5Ð5Ð5Ø—6‘6“8˜q”=Ð �=Ø—=‘=“? a¬+¥o¼×8HÒ8HÓ8JÕ&JÔJÐJÐJØ—+‘+“-ˆCØ—8‘8˜q¤;�Ô.Ð.Ð.Ø—:‘: ¤[¥Ô0Ð0Ð0Ø×$Ñ$¨¬K­Ô7Ð7Ð7Ø×&Ñ&¨!¬k­/Ô9Ð9Ð9Ø—:‘: ¤[¥Ô0Ð0Ð0Ø—9‘9“; !Ô#Ð#Ñ#÷ G×F×FÒFús   Â"E"HÈH 	c                óH  € \         P                  ! R 4      P                  4       p\        R\        P
                  ! 4        R2V/4      ;_uu_ 4        \        P                  ! 4       pVP                  4       P                  ^8X  g   Q hVP                  4       P                  ^8X  g   Q hVP                  4       ^B8X  g   Q hVP                  4       pVP                  R8X  g   Q hVP                  R8X  g   Q hVP                  R8X  g   Q hVP!                  4       pVP                  R8X  g   Q hVP                  R8X  g   Q hVP                  R8X  g   Q hVP"                  P%                  4       \'        \)        ^4      4      8X  g   Q h R	R	R	4       R	#   + '       g   i     R	# ; i)
zó            Uid:	1000	1001	1002	1003
            Gid:	1004	1005	1006	1007
            Threads:	66
            Cpus_allowed:	f
            Cpus_allowed_list:	0-7
            voluntary_ctxt_switches:	12
            nonvoluntary_ctxt_switches:	13rŽ  r  iè  ié  iê  iì  ií  iî  N)rò   ró   rô   r£   rR  rÿ  r°   rç  Únum_ctx_switchesÚ	voluntaryÚinvoluntaryÚnum_threadsÚuidsÚrealÚ	effectiveÚsavedÚgidsÚ_procÚ_get_eligible_cpusÚlistrD   )r³   r—   r÷  r  r  s   &    r2   Útest_status_file_parsingÚ$TestProcess.test_status_file_parsingn  sQ  € Ü—/’/ð #/ó 0÷ 17±³ð 	ô  &¬¯ª«¨°WÐ =¸wÐG×HÕHÜ—’Ó ˆAØ×%Ñ%Ó'×1Ñ1°RÔ7Ð7Ð7Ø×%Ñ%Ó'×3Ñ3°rÔ9Ð9Ð9Ø—=‘=“? bÔ(Ð(Ð(Ø—6‘6“8ˆDØ—9‘9 Ô$Ð$Ð$Ø—>‘> TÔ)Ð)Ð)Ø—:‘: Ô%Ð%Ð%Ø—6‘6“8ˆDØ—9‘9 Ô$Ð$Ð$Ø—>‘> TÔ)Ð)Ð)Ø—:‘: Ô%Ð%Ð%Ø—7‘7×-Ñ-Ó/´4¼¸a»³>ÔAÐAÑA÷ I×H×HÒHús   ÁD4FÆF!	c           	     ó¦  € \         P                  ! R \        \        P                  R4      R7      ;_uu_ 4       p\
        P                  ! 4       p\         P                  ! R4      ;_uu_ 4        VP                  4       . 8X  g   Q hVP                  '       g   Q h RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r¨  rU   rx  r¶  N)	r   r¡   r8  r©  r·  r°   rç  r9  rø   ré  s   &  r2   Ú!test_net_connections_enametoolongÚ-TestProcess.test_net_connections_enametoolong†  s•   € ô �ZŠZØ)Ü¤× 2Ñ 2°BÓ7÷
õ 
ð Ü—’Ó ˆAÜ—’Ð3×4Õ4Ø×(Ñ(Ó*¨bÔ0Ð0Ð0Ø—x—x�x�‘x÷ 5÷
ñ 
÷
 5×4ú÷
÷ 
ð 
ús)   ¹4B?Á-)B,	ÂB,	ÂB?Â,B<Â7B?Â?C	c                ó  € \         P                  ! 4       pVP                  P                  4       VP                  P                  R R7      8w  g   Q hVP	                  4       ^,          VP                  P                  R R7      8X  g   Q hR# )T)Ú	monotonicN)r°   rç  r  r  Ú
_get_identrî  s   & r2   Útest_create_time_monotonicÚ&TestProcess.test_create_time_monotonic“  sf   € Ü�NŠNÓˆØ�w‰w×"Ñ"Ó$¨¯©×(;Ñ(;ÀdÐ(;Ó(KÔKÐKÐKØ�|‰|‹~˜aÕ  A§G¡G×$7Ñ$7À$Ð$7Ó$GÔGÐGÒGrp   r¦   N) rË   rÌ   rÍ   rÎ   r   r‹  r�  rŸ  r¬  r±  r¹  r½  rÆ  rÊ  rÍ  rÒ  rÞ  rã  ræ  rê  rï  r   rˆ  r‰  r
   r÷  r  r  r  r$  rÏ   rÐ   rÑ   s   @r2   r{  r{    s¯   ø‡ € áÓñ	<ó ð	<ò%òB6òB ò. ò$ò&òò ò 	ò9ò+ò6
!òò	ò$ð ‡[�[×Ñ˜Jœ¨ÐÓ?ñ)ó @ð)ò&:$òxBò0 ÷Hð Hrp   r{  c                   ó„   a € ] tR tRt o Rt]R 4       tR tR tR t	R t
R tR	 tR
 t]! 4       R 4       tR tR tRtV tR# )ÚTestProcessAgainstStatusi™  zø/proc/pid/stat and /proc/pid/status have many values in common.
Whenever possible, psutil uses /proc/pid/stat (it's faster).
For all those cases we check that the value found in
/proc/pid/stat (by psutil) matches the one found in
/proc/pid/status.
c                ó:   € \         P                  ! 4       V n        R # rt   )r°   rç  Úproc)Úclss   &r2   Ú
setUpClassÚ#TestProcessAgainstStatus.setUpClass¢  s   € ä—>’>Ó#ˆŽrp   c                óÆ  € \         P                  P                  R V P                  P                   R24      ;_uu_ 4       pV FZ  pVP                  4       pVP                  V4      '       g   K,  VP                  R4      ^,          p \        V4      u uuRRR4       # 	  \        RV: 24      h  \         d    Tu u uuRRR4       # i ; i  + '       g   i     R# ; i)rŽ  r  Ú	Nr‚   )
r°   Ú_psplatformÚ	open_textr)  rô  rƒ   re   Ú	partitionrh   rC   )r³   Ú	linestartrI   rK   r^  s   &&   r2   Úread_status_fileÚ)TestProcessAgainstStatus.read_status_file¦  sÆ   € Ü×Ñ×)Ñ)Ø�T—Y‘Y—]‘]�O 7Ð+÷
ô 
àÛ�Ø—z‘z“|�Ø—?‘? 9×-Ô-Ø ŸN™N¨4Ó0°Õ3�Eð%Ü" 5›zÑ)÷
ò 
ñ ô ˜{¨9©-Ð8Ó9Ð9øô &ô %Ø$›÷
ò 
ð%ú÷
÷ 
ð 
ús<   Á *CÁ/CÂ
B0ÂCÂCÂ0C	Â=CÃC	ÃCÃC 	c                ój   € V P                  R 4      pV P                  P                  4       V8X  g   Q hR# )zName:N)r3  r)  r”   ©r³   r^  s   & r2   Ú	test_nameÚ"TestProcessAgainstStatus.test_name´  ó+   € Ø×%Ñ% gÓ.ˆØ�y‰y�~‰~Ó 5Ô(Ð(Ò(rp   c                óà   € V P                  R 4      pWP                  R4      ^,           VP                  R4       pVP                  RR4      pV P                  P                  4       V8X  g   Q hR# )zState:Ú(Ú)r�   r\  N)r3  r°  Úrfindr  r)  r  r6  s   & r2   Útest_statusÚ$TestProcessAgainstStatus.test_status¸  s]   € Ø×%Ñ% hÓ/ˆØ—j‘j “o¨Õ)¨E¯K©K¸Ó,<Ð=ˆØ—‘˜c 3Ó'ˆØ�y‰y×ÑÓ! UÔ*Ð*Ò*rp   c                ój   € V P                  R 4      pV P                  P                  4       V8X  g   Q hR# )zPPid:N)r3  r)  r  r6  s   & r2   Ú	test_ppidÚ"TestProcessAgainstStatus.test_ppid¾  r9  rp   c                ój   € V P                  R 4      pV P                  P                  4       V8X  g   Q hR# )zThreads:N)r3  r)  r  r6  s   & r2   Útest_num_threadsÚ)TestProcessAgainstStatus.test_num_threadsÂ  s-   € Ø×%Ñ% jÓ1ˆØ�y‰y×$Ñ$Ó&¨%Ô/Ð/Ò/rp   c                óÆ   € V P                  R 4      p\        \        \        VP	                  4       R,          4      4      pV P
                  P                  4       V8X  g   Q hR# )zUid:ºr{   r¹   NN)r3  rˆ   r‰   rh   r@   r)  r  r6  s   & r2   Ú	test_uidsÚ"TestProcessAgainstStatus.test_uidsÆ  óG   € Ø×%Ñ% fÓ-ˆÜ”cœ#˜uŸ{™{›}¨SÕ1Ó2Ó3ˆØ�y‰y�~‰~Ó 5Ô(Ð(Ò(rp   c                óÆ   € V P                  R 4      p\        \        \        VP	                  4       R,          4      4      pV P
                  P                  4       V8X  g   Q hR# )zGid:rG  N)r3  rˆ   r‰   rh   r@   r)  r  r6  s   & r2   Ú	test_gidsÚ"TestProcessAgainstStatus.test_gidsË  rJ  rp   c                óö   € V P                  R 4      pV P                  P                  4       P                  V8X  g   Q hV P                  R4      pV P                  P                  4       P                  V8X  g   Q hR# )zvoluntary_ctxt_switches:znonvoluntary_ctxt_switches:N)r3  r)  r  r  r  r6  s   & r2   Útest_num_ctx_switchesÚ.TestProcessAgainstStatus.test_num_ctx_switchesÐ  sf   € à×%Ñ%Ð&@ÓAˆØ�y‰y×)Ñ)Ó+×5Ñ5¸Ô>Ð>Ð>Ø×%Ñ%Ð&CÓDˆØ�y‰y×)Ñ)Ó+×7Ñ7¸5Ô@Ð@Ò@rp   c                ó  € V P                  R 4      pR\        V4      9   d^   \        \        VP	                  R4      4      w  r#V P
                  P                  4       \        \        W#^,           4      4      8X  g   Q hR# R# )úCpus_allowed_list:r\  N)	r3  r�   r‰   rh   r@   r)  Úcpu_affinityr  rD   )r³   r^  Úmin_Úmax_s   &   r2   Útest_cpu_affinityÚ*TestProcessAgainstStatus.test_cpu_affinity×  sd   € Ø×%Ñ%Ð&:Ó;ˆØ”#�e“*ÔÜœS %§+¡+¨cÓ"2Ó3‰JˆDØ—9‘9×)Ñ)Ó+¬t´E¸$ÀqÅÓ4IÓ/JÔJÐJÒJñ rp   c                óX  € V P                  R 4      p\        P                  ! R4      ;_uu_ 4       pV P                  P                  P                  4        RRR4       R\        V4      9   d   XP                  '       d   Q hR# XP                  '       g   Q hR#   + '       g   i     LL; i)rR  zpsutil._pslinux.per_cpu_timesNr\  )r3  r   r¡   r)  r  r  r�   rø   )r³   r^  r¢   s   &  r2   Útest_cpu_affinity_eligible_cpusÚ8TestProcessAgainstStatus.test_cpu_affinity_eligible_cpusÝ  sp   € Ø×%Ñ%Ð&:Ó;ˆÜ�ZŠZÐ7×8Ô8¸AØ�I‰I�O‰O×.Ñ.Ô0÷ 9à”#�e“*ÔØ—x—x�xÐ�<‘xà—8—8�8ˆO’8÷ 9×8ús   °%BÂB)	r¦   N)rË   rÌ   rÍ   rÎ   Ú__doc__Úclassmethodr+  r3  r7  r>  rA  rD  rH  rL  r   rO  rV  rY  rÏ   rÐ   rÑ   s   @r2   r'  r'  ™  sj   ø‡ € ñð ñ$ó ð$ò:ò)ò+ò)ò0ò)ò
)ñ
 ÓñAó ðAòK÷ð rp   r'  c                   ó&   a € ] tR tRt o R tRtV tR# )Ú	TestUtilsiì  c                óö   € \         P                  ! R RR7      ;_uu_ 4       p\        P                  P	                  R4      R8X  g   Q hVP
                  '       g   Q h RRR4       R#   + '       g   i     R# ; i)zos.readlinkzfoo (deleted)r˜  rÁ  rÀ  N)r   r¡   r°   r/  Úreadlinkrø   rA  s   & r2   Útest_readlinkÚTestUtils.test_readlinkî  sQ   € Ü�ZŠZ˜°O×DÕDÈÜ×%Ñ%×.Ñ.¨uÓ5¸Ô>Ð>Ð>Ø—8—8�8ˆO‘8÷ E×D×DÒDús   ¡8A'ÁA'Á'A8	r¦   N)rË   rÌ   rÍ   rÎ   ra  rÏ   rÐ   rÑ   s   @r2   r^  r^  ì  s   ø‡ € ÷ð rp   r^  )\r[  rf   Ú
contextlibr©  r‘   rR  r¥  rŠ   rŒ  r&   r-   rò   r”  rõ   Úunittestr   r°   r   Úpsutil.testsr   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r~  r   r   r   r   rŠ  r–  ÚdirnameÚ__file__ÚHEREr,   rX   r6   r:   rn  r3   r7   r;   rS   r[   ro   r~   r€   rŒ   Úcontextmanagerr£   rª   rˆ  r‰  r®   rÔ   rë   r  rF  rY  r�  r¨  râ  ré  rñ  r   r  r0  rB  rd  rž  rÁ  r  rE  rS  rr  r{  r'  r^  r¦   rp   r2   Ú<module>rj     sJ  ðñ ó Û Û Û 	Û 	Û Û 	Û Û Û Û Û Û Ý ã Ý Ý  Ý 'Ý 'Ý $Ý %Ý 'Ý #Ý  Ý -Ý *Ý 'Ý #Ý #Ý Ý &Ý )Ý $Ý Ý 0çÝ+Ý2Ý4Ý+ð 
‡w�w‡��r—w‘w—‘ xÓ0Ó1€Ø€Ø€Ø€Ø€ßØ€Kò	
ò	
ò	
òò,FòDòCò(@ò@ð ×Ññó ðð( ×Ññó ðð( ‡�×Ñ˜”I lÐÓ3ô1B¨ó 1Bó 4ð1Bðh ‡�×Ñ˜”I lÐÓ3ô,D¨>ó ,Dó 4ð,Dð^ ‡�×Ñ˜”I lÐÓ3ôF- >ó F-ó 4ðF-ð\ ‡�×Ñ˜”I lÐÓ3ôP˜>ó Pó 4ðPðp ‡�×Ñ˜”I lÐÓ3ô.˜ó .ó 4ð.ð& ‡�×Ñ˜”I lÐÓ3ôF  ó F ó 4ðF ðR ‡�×Ñ˜”I lÐÓ3ô˜nó ó 4ðð@ ‡�×Ñ˜”I lÐÓ3ôW/˜^ó W/ó 4ðW/ðt ‡�×Ñ˜”I lÐÓ3ô6˜ó 6ó 4ð6ð ‡�×Ñ˜”I lÐÓ3ô	?�.ó 	?ó 4ð	?ð" ‡�×Ñ˜”I lÐÓ3ô?˜>ó ?ó 4ð?ðN ‡�×Ñ˜”I lÐÓ3ô37˜>ó 37ó 4ð37ðl ‡�×Ñ˜”I lÐÓ3ô0E˜nó 0Eó 4ð0Eðf ‡�×Ñ˜”I lÐÓ3ô˜~ó ó 4ðð: ‡�×Ñ˜”I lÐÓ3ô<)˜~ó <)ó 4ð<)ð~ ‡�×Ñ˜”I lÐÓ3ôD*˜~ó D*ó 4ðD*ðN ‡�×Ñ˜”I lÐÓ3ô<2˜^ó <2ó 4ð<2ðH ‡�×Ñ˜”I lÐÓ3ônˆ~ó nó 4ðnðl ‡�×Ñ˜”I lÐÓ3Ø‡�×Ñ˜”O¨LÐÓ9ôJ˜ó Jó :ó 4ðJðD ‡�×Ñ˜”I lÐÓ3ô ó ó 4ðð( ‡�×Ñ˜”I lÐÓ3ô?-˜nó ?-ó 4ð?-ðD ‡�×Ñ˜”I lÐÓ3ô+�nó +ó 4ð+ð6 ‡�×Ñ˜”I lÐÓ3ô}H�.ó }Hó 4ð}Hð@ ‡�×Ñ˜”I lÐÓ3ôJ˜~ó Jó 4ðJðd ‡�×Ñ˜”I lÐÓ3ô�ó ó 4òrp   