+
    VN÷hAG  ã                   ó¬  € 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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    ]'       * ;'       d    ]'       * tR t ! R R]4      t  ! R R]4      t!R# )zeIterate over all process PIDs and for each one of them invoke and
test all psutil.Process() methods.
N)ÚAIX)ÚBSD)ÚFREEBSD)ÚLINUX)ÚMACOS)ÚNETBSD)ÚOPENBSD)ÚOSX)ÚPOSIX)ÚWINDOWS)Ú
CI_TESTING)ÚPYTEST_PARALLEL)ÚVALID_PROC_STATUSES)ÚPsutilTestCase)Úcheck_connection_ntuple)Úcreate_sockets)Úis_namedtuple)Úis_win_secure_system_proc)Úprocess_namespace)Úpytestc                 óv  a aa	a
aa€ \        4       oV V3R  loVV	V V
V3R lp \        P                  ! S 4      o SP                  RR.4      pTR,          TR,          uo	o
RSP                  /p\        S4      pTP                  TP                  RR7       F  w  rV T! 4       Y6&   K  	  T! 4        T#   \        P                   d    SP	                  S 4       / u # i ; i  \        P                   d   pS! TSS	S
4        Rp?Kp  Rp?ii ; i  \        P                   d    SP                  S4        R# i ; i)c                 óÊ  <€ V P                   S8X  g   Q hV P                  e   V P                  V8X  g   Q h\        V \        P                  4      '       dG   SP                  V4       V P                  e'   V P                  ^ 8¼  g   Q hV P                  V8X  g   Q hM1\        V \        P                  4      '       d   SP                  V4       \        V 4       \        V 4       R # ©N)ÚpidÚnameÚ
isinstanceÚpsutilÚZombieProcessÚassert_proc_zombieÚppidÚNoSuchProcessÚassert_proc_goneÚstrÚrepr)ÚexcÚprocr   r   r   Útcases   &&&&€€Ú?/usr/lib/python3/dist-packages/psutil/tests/test_process_all.pyÚcheck_exceptionÚ"proc_info.<locals>.check_exception1   s¬   ø€ Ø�w‰w˜#Œ~Ðˆ~Ø�8‰8ÒØ—8‘8˜tÔ#Ð#Ð#Ü�cœ6×/Ñ/×0Ò0Ø×$Ñ$ TÔ*Ø�x‰xÒ#Ø—x‘x 1”}Ð$�}Ø—x‘x 4Ô'Ð'Ð'øÜ˜œV×1Ñ1×2Ò2Ø×"Ñ" 4Ô(ÜˆCŒÜˆSŽ	ó    c                  óš   <€ S^ 8w  d    SP                  ^ 4       R# R#   \        P                   d   p S! T SSS4        Rp ? R# Rp ? ii ; i©é    N)Úwaitr   ÚError)r$   r(   r   r   r   r%   s    €€€€€r'   Údo_waitÚproc_info.<locals>.do_wait?   sF   ø€ Ø�!Œ8ð7Ø—	‘	˜!–ñ øô —<‘<ô 7Ù  T¨4°×6Ò6ûð7ús   Š ŸA
´AÁA
r   r   r   F)Úclear_cacheN)r   r   ÚProcessr    Úassert_pid_goneÚas_dictr   r   ÚiterÚgettersr/   r!   )r   r0   ÚdÚinfoÚnsÚfunÚfun_namer$   r(   r   r   r%   r&   s   f       @@@@@r'   Ú	proc_infor=   .   s   ý€ ÜÓ€Eö÷7ñ 7ðÜ�~Š~˜cÓ"ˆðØ�L‰L˜& &Ð)Ó*ˆð �v•Y  &¥	ˆ
ˆˆdØ�t—x‘xÐ ˆÜ˜tÓ$ˆð  ŸW™W R§Z¡Z¸U˜WÖC‰MˆCðÙ!$£�“ñ Dñ 	Œ	Øˆøô) ×Ñô Ø×Ñ˜cÔ"ØŠ	ðûô  —<‘<ô Ù  T¨4°Ô6Ýûðûô ×Ñô %Ø×Ñ˜t×$ð%ús:   £B2 ºD Â	C Â2(CÃCÃ DÃ5DÄDÄ&D8Ä7D8c                   ó  a € ] tR t^_t o 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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!R t"R  t#R! t$R" t%R# t&R$ t'R% t(R& t)R't*V t+R(# ))ÚTestFetchAllProcessesz«Test which iterates over all running processes and performs
some sanity checks against Process API's returned values.
Uses a process pool to get info about all processes.
c                ó‚   € \         P                  ! R 4       \        '       d   \        P                  ! 4       V n        R# R# ©FN)r   Ú
_set_debugÚUSE_PROC_POOLÚmultiprocessingÚPoolÚpool©Úselfs   &r'   ÚsetUpÚTestFetchAllProcesses.setUpe   s,   € Ü×Ò˜%Ô ÷ ‹=Ü'×,Ò,Ó.ˆDŽIñ r*   c                ó¶   € \         P                  ! R 4       \        '       d7   V P                  P	                  4        V P                  P                  4        R# R# ©TN)r   rB   rC   rF   Ú	terminateÚjoinrG   s   &r'   ÚtearDownÚTestFetchAllProcesses.tearDownl   s8   € Ü×Ò˜$Ôß‹=Ø�I‰I×ÑÔ!Ø�I‰I�N‰NÖñ r*   c                óä   € ^ RI Hp \        '       d0   V P                  P	                  V\
        P                  ! 4       4      # \
        P                  ! 4        Uu. uF
  q!! V4      NK  	  ppV# u upi )r-   )r=   )Úpsutil.tests.test_process_allr=   rC   rF   Úimap_unorderedr   Úpids)rH   r=   r   Úlss   &   r'   Úiter_proc_infoÚ$TestFetchAllProcesses.iter_proc_infor   sQ   € õ 	<ç‹=Ø—9‘9×+Ñ+¨I´v·{²{³}ÓEÐEä,2¯KªK¬MÓ:©M S�)˜C–.©MˆBÐ:ØˆIùò ;s   ÁA-c                ót  € . pV P                  4        FN  pVP                  4        F7  w  r4\        W4      p V! WB4       V^ R. RR/ 39  d   V'       g   Q V4       hK7  K9  	  KP  	  V'       d&   \        P                  ! RP                  V4      4      hR#   \         d™    RpTRP	                  TTR,          \        T4      T4      ,          pTR	,          pTR\        P                  ! 4        2,          pRP                  R TP                  4        4       4      R,           pTP                  T4        EK  i ; i)
r-   ç        NÚ Ú
z+FAIL: name=test_{}, pid={}, ret={}
info={}
r   c              3   ó4   "  € T F  pRV,           x € K  	  R# 5i)Ú Nz    © )Ú.0Úis   & r'   Ú	<genexpr>Ú1TestFetchAllProcesses.test_all.<locals>.<genexpr>�   s   é € Ð!H¹°A 7¨a§-¢-»ùs   ‚zH
======================================================================
zF----------------------------------------------------------------------)rV   ÚitemsÚgetattrÚ	ExceptionÚformatr#   Ú	tracebackÚ
format_excrN   Ú
splitlinesÚappendr   Úfail)rH   Úfailuresr9   r   ÚvalueÚmethÚss   &      r'   Útest_allÚTestFetchAllProcesses.test_all}   s$  € ØˆØ×'Ñ'Ö)ˆDØ#Ÿz™zž|‘�Ü˜tÓ*�ð,Ù˜Ô%ð   Q¨¨R°°r¸2Ð$>Ô>ß$Ð+ eÓ+šuñ ?ó'  ,ñ *÷, Ü—+’+˜bŸg™g hÓ/Ó0Ð0ñ øô# !ô 'Ø.�AØØG×NÑNØ Ø  �KÜ  ›KØ ó	õ�Að ˜•M�AØ˜2œi×2Ò2Ó4Ð5Ð6Õ6�AØŸ	™	Ñ!H¸¿¹¼Ó!HÓHÈ4ÕO�AØ—O‘O A×&Ð&ð'ús   ·BÂBD7Ä6D7c                óx   € \        V\        4      '       g   Q hV F  p\        V\        4      '       d   K  Q h	  R # r   )r   Úlistr"   )rH   Úretr9   Úparts   &&& r'   ÚcmdlineÚTestFetchAllProcesses.cmdline˜   s2   € Ü˜#œt×$Ò$Ð$Ð$ÛˆDÜ˜d¤C×(Ô(Ð(Ð(ó r*   c                óÎ  € \        V\        4      '       g   Q hVP                  4       V8X  g   Q hV'       dç   \        '       d   VP	                  R 4      '       g   R# \
        P                  P                  V4      '       g   Q V4       h\        '       dˆ   \
        P                  P                  V4      '       da   \        \
        R4      '       dI   \        \
        R4      '       d1    \
        P                  ! V\
        P                  4      '       g   Q hR# R# R# R# R# R#   \         d:    \
        P                  P                  T4      '       d   \        '       g   h  R#  R# i ; i)z.exeNÚaccessÚX_OK)r   r"   Ústripr   ÚendswithÚosÚpathÚisabsr
   ÚisfileÚhasattrry   rz   ÚAssertionErrorÚexistsr   ©rH   rt   r9   s   &&&r'   ÚexeÚTestFetchAllProcesses.exe�   sû   € Ü˜#œs×#Ò#Ð#Ð#Ø�y‰y‹{˜cÔ!Ð!Ð!ßß‹w˜sŸ|™|¨F×3Ò3ÙÜ—7‘7—=‘= ×%Ò%Ð* sÓ*Ð%÷ ‹uœŸ™Ÿ™¨×,Ò,Üœ2˜x×(Ò(¬W´R¸×-@Ò-@ð"Ü!Ÿyšy¨¬b¯g©g×6Ò6Ð6Ò6ñ .AÑ(ñ -‰uñ øô *ô "ÜŸ7™7Ÿ>™>¨#×.Ò.·z³zØ!ò 8BÒ.ð"ús$   Ã'*D  ÄD  Ä /E$ÅE$ÅE$Å#E$c                óH   € \        V\        4      '       g   Q hV^ 8¼  g   Q hR# r,   ©r   Úintr„   s   &&&r'   r   ÚTestFetchAllProcesses.pid°   ó    € Ü˜#œs×#Ò#Ð#Ð#Ø�aŒxˆŠxr*   c                ó^   € \        V\        4      '       g   Q hV^ 8¼  g   Q h\        V4       R# r,   )r   r‰   r=   r„   s   &&&r'   r   ÚTestFetchAllProcesses.ppid´   s'   € Ü˜#œs×#Ò#Ð#Ð#Ø�aŒxˆˆxÜ�#Žr*   c                óÞ   € \        V\        4      '       g   Q h\        '       d#   V'       g   \        VR ,          4      '       d   R# \        '       g   V'       g   Q \        V4      4       hR# R# )r   N)r   r"   r   r   r   r#   r„   s   &&&r'   r   ÚTestFetchAllProcesses.name¹   sI   € Ü˜#œs×#Ò#Ð#Ð#ß‹7Ÿ3Ô#<¸TÀ%½[×#IÒ#Iáç‹sßÐ!œ˜S›	Ó!’3ñ r*   c                ó  € \        V\        4      '       g   Q h V^ 8¼  g   Q h \        P                  ! R\        P                  ! T4      4       R#   \         d-    \        '       d   TR,          \        P
                  8X  d    Lbh i ; i)r-   Ústatusz%Y %m %d %H:%M:%SN)	r   Úfloatr‚   r   r   ÚSTATUS_ZOMBIEÚtimeÚstrftimeÚ	localtimer„   s   &&&r'   Úcreate_timeÚ!TestFetchAllProcesses.create_timeÂ   sl   € Ü˜#œu×%Ò%Ð%Ð%ð	Ø˜!”8ˆO‘8ô 	�ŠÐ)¬4¯>ª>¸#Ó+>Ö?øô ô 	ç‹w˜4 �>¬V×-AÑ-AÔAÙàð	ús   š	A ÁBÁ(BÂBc                ó€   € \        V4      '       g   Q hV F$  p\        V\        4      '       g   Q hV^ 8¼  d   K$  Q h	  R# r,   ©r   r   r‰   )rH   rt   r9   Úuids   &&& r'   ÚuidsÚTestFetchAllProcesses.uidsÒ   s;   € Ü˜S×!Ò!Ð!Ð!ÛˆCÜ˜c¤3×'Ò'Ð'Ð'Ø˜!–8ˆO�8ó r*   c                ó¸   € \        V4      '       g   Q hV F@  p\        V\        4      '       g   Q h\        '       d   K)  \        '       d   K7  V^ 8¼  d   K@  Q h	  R# r,   )r   r   r‰   r   r   )rH   rt   r9   Úgids   &&& r'   ÚgidsÚTestFetchAllProcesses.gidsØ   sF   € Ü˜S×!Ò!Ð!Ð!ó ˆCÜ˜c¤3×'Ò'Ð'Ð'ß•5§¥Ø˜a–x��xó r*   c                ó”   € \        V\        4      '       g   Q hVP                  4       V8X  g   Q hVP                  4       '       g   Q hR # r   )r   r"   r{   r„   s   &&&r'   ÚusernameÚTestFetchAllProcesses.usernameá   s9   € Ü˜#œs×#Ò#Ð#Ð#Ø�y‰y‹{˜cÔ!Ð!Ð!Ø�y‰y�{Š{ÐŠ{r*   c                ó€   € \        V\        4      '       g   Q hV'       g   Q V4       hVR 8w  g   Q hV\        9   g   Q hR# )Ú?N)r   r"   r   r„   s   &&&r'   r‘   ÚTestFetchAllProcesses.statusæ   s;   € Ü˜#œs×#Ò#Ð#Ð#ßˆ�C‹ˆsØ�cŒzÐˆzØÔ)Ô)Ð)Ò)r*   c                ó’   € \        V4      '       g   Q hV F-  p\        V\        4      '       g   Q hVR8w  g   K$  V^ 8¼  d   K-  Q h	  R# ©é   Néÿÿÿÿrš   )rH   rt   r9   Úfields   &&& r'   Úio_countersÚ!TestFetchAllProcesses.io_countersì   sC   € Ü˜S×!Ò!Ð!Ð!ÛˆEÜ˜e¤S×)Ò)Ð)Ð)Ø˜Ž{Ø –zÐ!�zó r*   c                óÄ  € \         '       dm   \        VP                  \        4      '       g   Q h\        VP                  \        4      '       g   Q hVP                  ^ 8¼  g   Q hVP                  ^ 8¼  g   Q hR# \
        P                  \
        P                  \
        P                  \
        P                  .p\        V\        4      '       g   Q hV^ 8¼  g   Q hW9   g   Q hR# r,   )
r   r   Úioclassr‰   rm   r   ÚIOPRIO_VERYLOWÚ
IOPRIO_LOWÚIOPRIO_NORMALÚIOPRIO_HIGH)rH   rt   r9   Úchoicess   &&& r'   ÚioniceÚTestFetchAllProcesses.ioniceó   s®   € ß‹5Ü˜cŸk™k¬3×/Ò/Ð/Ð/Ü˜cŸi™i¬×-Ò-Ð-Ð-Ø—;‘; !Ô#Ð#Ð#Ø—9‘9 ”>Ð!’>ô ×%Ñ%Ü×!Ñ!Ü×$Ñ$Ü×"Ñ"ð	ˆGô ˜c¤3×'Ò'Ð'Ð'Ø˜!”8ˆO�8Ø”>Ð!’>r*   c                ó¢   € \        V\        4      '       g   Q h\        '       d"   V^ 8X  d   \        VR,          4      '       d   R# V^8¼  g   Q hR# )r-   r   N)r   r‰   r   r   r„   s   &&&r'   Únum_threadsÚ!TestFetchAllProcesses.num_threads  s=   € Ü˜#œs×#Ò#Ð#Ð#ß‹7�s˜a”xÔ$=¸dÀ5½k×$JÒ$JáØ�aŒxˆŠxr*   c                ó.  € \        V\        4      '       g   Q hV Fv  p\        V4      '       g   Q hVP                  ^ 8¼  g   Q hVP                  ^ 8¼  g   Q hVP
                  ^ 8¼  g   Q hV F!  p\        V\        \        34      '       d   K!  Q h	  Kx  	  R# r,   )r   rs   r   ÚidÚ	user_timeÚsystem_timer‰   r’   )rH   rt   r9   Útr¬   s   &&&  r'   ÚthreadsÚTestFetchAllProcesses.threads  s…   € Ü˜#œt×$Ò$Ð$Ð$ÛˆAÜ  ×#Ò#Ð#Ð#Ø—4‘4˜1”9Ð�9Ø—;‘; !Ô#Ð#Ð#Ø—=‘= AÔ%Ð%Ð%Û�Ü! %¬#¬u¨×6Ô6Ð6Ð6ó ó r*   c                ó€   € \        V4      '       g   Q hV F$  p\        V\        4      '       g   Q hV^ 8¼  d   K$  Q h	  R# r,   )r   r   r’   )rH   rt   r9   Úns   &&& r'   Ú	cpu_timesÚTestFetchAllProcesses.cpu_times  s;   € Ü˜S×!Ò!Ð!Ð!ÛˆAÜ˜a¤×'Ò'Ð'Ð'Ø˜–6ˆM�6ó r*   c                ór   € \        V\        4      '       g   Q hR Tu;8:  d   R8:  g   Q V4       h Q V4       hR# )rY   g      Y@N©r   r’   r„   s   &&&r'   Úcpu_percentÚ!TestFetchAllProcesses.cpu_percent  s8   € Ü˜#œu×%Ò%Ð%Ð%Ø�cÖ"˜UÔ"Ð' CÓ'Ñ"Ð' CÓ'Ò"r*   c                ó  € \        V\        4      '       g   Q h\        '       d
   VR8X  d   R# V^ 8¼  g   Q h\        P                  ! 4       ^8X  d
   V^ 8X  g   Q hV\        \        \        P                  ! 4       4      4      9   g   Q hR# r©   )r   r‰   r   r   Ú	cpu_countrs   Úranger„   s   &&&r'   Úcpu_numÚTestFetchAllProcesses.cpu_num   sk   € Ü˜#œs×#Ò#Ð#Ð#ß‹7�s˜b”yÙØ�aŒxˆˆxÜ×ÒÓ Ô"Ø˜!”8ˆO�8Ø”dœ5¤×!1Ò!1Ó!3Ó4Ó5Ô5Ð5Ò5r*   c                ó„  € \        V4      '       g   Q hV F$  p\        V\        4      '       g   Q hV^ 8¼  d   K$  Q h	  \        '       dw   VP                  VP
                  8¼  g   Q hVP                  VP                  8¼  g   Q hVP                  VP                  8¼  g   Q hVP                  VP                  8¼  g   Q hR# R# r,   )r   r   r‰   r   Ú	peak_wsetÚwsetÚpeak_paged_poolÚ
paged_poolÚpeak_nonpaged_poolÚnonpaged_poolÚpeak_pagefileÚpagefile©rH   rt   r9   rm   s   &&& r'   Úmemory_infoÚ!TestFetchAllProcesses.memory_info)  s¨   € Ü˜S×!Ò!Ð!Ð!ÛˆEÜ˜e¤S×)Ò)Ð)Ð)Ø˜A–:Ð�:ñ ÷ ‹7Ø—=‘= C§H¡HÔ,Ð,Ð,Ø×&Ñ&¨#¯.©.Ô8Ð8Ð8Ø×)Ñ)¨S×->Ñ->Ô>Ð>Ð>Ø×$Ñ$¨¯©Ô4Ð4Ò4ñ	 r*   c                óš  € \        V4      '       g   Q h\        P                  ! 4       P                  pVP                   F]  p\        W4      p\        V\        4      '       g   Q hV^ 8¼  g   Q h\        '       g   \        '       d
   VR9   d   KP  WS8:  d   KX  Q V4       h	  \        '       d    VP                  VP                  8¼  g   Q hR# R# )r-   N>   ÚvmsÚdata)r   r   Úvirtual_memoryÚtotalÚ_fieldsrd   r   r‰   r   r	   ÚpssÚuss)rH   rt   r9   rß   r   rm   s   &&&   r'   Úmemory_full_infoÚ&TestFetchAllProcesses.memory_full_info4  s¤   € Ü˜S×!Ò!Ð!Ð!Ü×%Ò%Ó'×-Ñ-ˆØ—K”KˆDÜ˜CÓ&ˆEÜ˜e¤S×)Ò)Ð)Ð)Ø˜A”:Ð�:ß‹uŸ› ¨Ô!8ñ Ø–>Ð' 4Ó'�>ñ  ÷ ‹5Ø—7‘7˜cŸg™gÔ%Ð%Ò%ñ r*   c                ó2  € \        V\        4      '       g   Q hV EFä  p\        VP                  \        4      '       g   Q h\        VP                  \
        4      '       g   Q hVP                  P                  4       VP                  8X  g   Q h\        '       d   VP                  R8X  g   Q hMÍ\        '       d¡   \        VP                  \        4      '       g   Q h\        VP                  \
        4      '       g   Q h\        VP                  \        4      '       g   Q hVP                  ^ 8¼  g   Q hVP                  R9   g   Q hVP                  ^ 8”  g   Q hM!\        '       d   VP                  '       g   EK`  \        P                  P                  VP                  4      '       g   Q V4       h \        P                  ! VP                  4      p\        P                   ! VP"                  4      '       g   Q V4       hEKç  	  R#   \$         d     EKú  i ; i)rª   Nr«   >   ÚaÚrÚwúa+úr+)r   rs   Úfdr‰   r~   r"   r{   r   r   ÚpositionÚmodeÚflagsr   r}   r   ÚstatÚS_ISREGÚst_modeÚFileNotFoundError)rH   rt   r9   ÚfÚsts   &&&  r'   Ú
open_filesÚ TestFetchAllProcesses.open_filesD  sw  € Ü˜#œt×$Ò$Ð$Ð$ÜˆAÜ˜aŸd™d¤C×(Ò(Ð(Ð(Ü˜aŸf™f¤c×*Ò*Ð*Ð*Ø—6‘6—<‘<“> Q§V¡VÔ+Ð+Ð+ß‹wØ—t‘t˜r”zÐ!‘zß“Ü! !§*¡*¬c×2Ò2Ð2Ð2Ü! !§&¡&¬#×.Ò.Ð.Ð.Ü! !§'¡'¬3×/Ò/Ð/Ð/Ø—z‘z Q”Ð&�Ø—v‘vÐ!<Ô<Ð<Ð<Ø—w‘w ”{Ð"‘{ß“˜QŸVŸV˜VâÜ—7‘7—=‘= §¡×(Ò(Ð+¨!Ó+Ð(ð3Ü—W’W˜QŸV™V“_�ô —|’| B§J¡J×/Ò/Ð2°Ó2Ó/ó- øô& %ô Ûðús   Æ2 HÈHÈHc                óH   € \        V\        4      '       g   Q hV^ 8¼  g   Q hR# r,   rˆ   r„   s   &&&r'   Únum_fdsÚTestFetchAllProcesses.num_fds^  r‹   r*   c                óú   € \        4       ;_uu_ 4        \        V4      \        \        V4      4      8X  g   Q hV F!  p\        V4      '       g   Q h\	        V4       K#  	  R R R 4       R #   + '       g   i     R # ; ir   )r   ÚlenÚsetr   r   )rH   rt   r9   Úconns   &&& r'   Únet_connectionsÚ%TestFetchAllProcesses.net_connectionsb  sW   € Ü×ÕÜ�s“8œs¤3 s£8›}Ô,Ð,Ð,Û�Ü$ T×*Ò*Ð*Ð*Ü'¨Ö-ñ ÷ ××Òús   “AA)Á)A:	c                ó.  € \        V\        4      '       g   Q hVP                  4       V8X  g   Q hV'       dn   \        P                  P                  V4      '       g   Q V4       h \        P                  ! V4      p\        P                  ! VP                  4      '       g   Q hR # R #   \         dc   p\        '       d,   \        P                  P                  T4      '       d    R p?R # TP                  \        P                  8w  d   h  R p?R # R p?ii ; ir   )r   r"   r{   r}   r~   r   rï   ÚS_ISDIRrñ   ÚOSErrorr   r   Ú_psplatformÚis_permission_errÚerrnoÚENOENT)rH   rt   r9   rô   Úerrs   &&&  r'   ÚcwdÚTestFetchAllProcesses.cwdi  sÄ   € Ü˜#œs×#Ò#Ð#Ð#Ø�y‰y‹{˜cÔ!Ð!Ð!ßÜ—7‘7—=‘= ×%Ò%Ð* sÓ*Ð%ð	0Ü—W’W˜S“\�ô —|’| B§J¡J×/Ò/Ð/Ò/ñ øô ô ß“7œv×1Ñ1×CÑCÀC×HÒHÝà—Y‘Y¤%§,¡,Ô.Øõ /ûð	ús   Á%B' Â'DÂ20DÃ) DÄDc                ór   € \        V\        4      '       g   Q h^ Tu;8:  d   ^d8:  g   Q V4       h Q V4       hR# r,   rÇ   r„   s   &&&r'   Úmemory_percentÚ$TestFetchAllProcesses.memory_percenty  s4   € Ü˜#œu×%Ò%Ð%Ð%Ø�CŽ˜3ŒÐ# Ó#‰Ð# Ó#Šr*   c                ó6   € \        V\        4      '       g   Q hR # r   )r   Úboolr„   s   &&&r'   Ú
is_runningÚ TestFetchAllProcesses.is_running}  s   € Ü˜#œt×$Ò$Ð$Ò$r*   c                óè   € \        V\        4      '       g   Q hV. 8w  g   Q h\        \        \        P                  ! 4       4      4      pV F#  p\        V\
        4      '       g   Q hWC9   d   K#  Q h	  R # r   )r   rs   rÌ   r   rË   r‰   )rH   rt   r9   ÚcpusrÃ   s   &&&  r'   Úcpu_affinityÚ"TestFetchAllProcesses.cpu_affinity€  s`   € Ü˜#œt×$Ò$Ð$Ð$Ø�bŒyÐˆyÜ”Eœ&×*Ò*Ó,Ó-Ó.ˆÛˆAÜ˜a¤×%Ò%Ð%Ð%Ø–9Ð�9ó r*   c                ó  € \        V\        \        R 4      34      '       g   Q hVe[   \        P                  P                  V4      '       g   Q V4       h\        P                  P                  V4      '       g   Q V4       hR # R # r   )r   r"   Útyper}   r~   r   rƒ   r„   s   &&&r'   ÚterminalÚTestFetchAllProcesses.terminalˆ  sd   € Ü˜#¤¤T¨$£ZÐ0×1Ò1Ð1Ð1ØŠ?Ü—7‘7—=‘= ×%Ò%Ð* sÓ*Ð%Ü—7‘7—>‘> #×&Ò&Ð+¨Ó+Ò&ñ r*   c                óô  € V EFp  p\        VP                  \        4      '       g   Q h\        VP                  \        4      '       g   Q h\        VP                  \        4      '       g   Q hVP
                   Fö  p\        W44      pVR 8X  dq   VP                  R4      '       d   K.  \        '       d
   VR8X  d   KC  \        P                  P                  VP                  4      '       g   Q VP                  4       hK…  VR8X  d   V'       g   Q \        V4      4       hK¦  VR8X  d)   \        '       g   V'       g   Q \        V4      4       hKÓ  KÕ  \        V\        4      '       g   Q hV^ 8¼  d   Kö  Q h	  EKs  	  R# )r~   ÚpvclockÚaddrÚpermsN)Ú[zanon_inode:)r   r  r"   r  r~   rà   rd   Ú
startswithr   r}   r   r#   r   r‰   )rH   rt   r9   ÚntÚfnamerm   s   &&&   r'   Úmemory_mapsÚ!TestFetchAllProcesses.memory_mapsŽ  s  € ÜˆBÜ˜bŸg™g¤s×+Ò+Ð+Ð+Ü˜bŸh™h¬×,Ò,Ð,Ð,Ü˜bŸg™g¤s×+Ò+Ð+Ð+ØŸœ�Ü Ó*�Ø˜F”?Ø×'Ñ'Ð(<×=Ò=Ù ß“s˜u¨	Ô1Ù ÜŸ7™7Ÿ=™=¨¯©×1Ò1Ð:°2·7±7Ó:Ò1ð ˜f”_ß Ð-¤$ u£+Ó-š5Ø˜gÔ%ß"›7ß$Ð1¤d¨5£kÓ1šuñ #ô & e¬S×1Ò1Ð1Ð1Ø  Až:Ð%˜:ô% $ó	 r*   c                óH   € \        V\        4      '       g   Q hV^ 8¼  g   Q hR# r,   rˆ   r„   s   &&&r'   Únum_handlesÚ!TestFetchAllProcesses.num_handles§  r‹   r*   c                óv  € \        V\        4      '       g   Q h\        '       d!   RTu;8:  d   ^8:  g   Q V4       h Q V4       hR# \        \        4       Uu. uF,  pVP                  R4      '       g   K  \        \        V4      NK.  	  ppW9   g   Q h\        V\        P                  4      '       g   Q hR# u upi )é   Ú_PRIORITY_CLASSNiìÿÿÿ)	r   r‰   r
   Údirr   r|   rd   ÚenumÚIntEnum)rH   rt   r9   ÚxÚ
prioritiess   &&&  r'   ÚniceÚTestFetchAllProcesses.nice«  s£   € Ü˜#œs×#Ò#Ð#Ð#ß‹5Ø˜#Ö# Ô#Ð( SÓ(Ñ#Ð( SÓ(Ò#ô œVœóá$�AØ—:‘:Ð/×0ô #”œ Ö"Ù$ð ð ð
 Ô$Ð$Ð$Ü˜c¤4§<¡<×0Ò0Ð0Ò0ùòs   ÁB6Á4B6c                ó€   € \        V4      '       g   Q hV F$  p\        V\        4      '       g   Q hV^ 8¼  d   K$  Q h	  R# r,   rš   rØ   s   &&& r'   Únum_ctx_switchesÚ&TestFetchAllProcesses.num_ctx_switches¸  s<   € Ü˜S×!Ò!Ð!Ð!ÛˆEÜ˜e¤S×)Ò)Ð)Ð)Ø˜A–:Ð�:ó r*   c                óš   € \        V\        4      '       g   Q h\        V4      ^8X  g   Q hV^ ,          R8¼  g   Q hV^,          R8¼  g   Q hR# )é   Nr«   )r   Útuplerû   r„   s   &&&r'   ÚrlimitÚTestFetchAllProcesses.rlimit¾  sE   € Ü˜#œu×%Ò%Ð%Ð%Ü�3‹x˜1Œ}Ðˆ}Ø�1�v˜Œ|Ðˆ|Ø�1�v˜Œ|ÐŠ|r*   c                óÈ   € \        V\        4      '       g   Q hVP                  4        F5  w  r4\        V\        4      '       g   Q h\        V\        4      '       d   K5  Q h	  R # r   )r   Údictrc   r"   )rH   rt   r9   ÚkÚvs   &&&  r'   ÚenvironÚTestFetchAllProcesses.environÄ  sM   € Ü˜#œt×$Ò$Ð$Ð$Ø—I‘I–K‰DˆAÜ˜a¤×%Ò%Ð%Ð%Ü˜a¤×%Ô%Ð%Ð%ó  r*   )rF   N),Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__rI   rO   rV   rp   rv   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.  r1  r6  r<  Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r'   r?   r?   _   sÉ   ø‡ € ñò
/òò	ò1ò6)ò
"ò&òò
"ò@ò ò òò
*ò"ò"ò"ò7òò(ò6ò	5ò&ò 3ò4ò.ò0ò $ò%òò,ò&ò2ò1òò÷&ð &r*   r?   c                   ó6   a € ] tR tRt o RtR tR tR tRtV t	R# )ÚTestPidsRangeiË  a  Given pid_exists() return value for a range of PIDs which may or
may not exist, make sure that psutil.Process() and psutil.pids()
agree with pid_exists(). This guarantees that the 3 APIs are all
consistent with each other. See:
https://github.com/giampaolo/psutil/issues/2359

XXX - Note about Windows: it turns out there are some "hidden" PIDs
which are not returned by psutil.pids() and are also not revealed
by taskmgr.exe and ProcessHacker, still they can be instantiated by
psutil.Process() and queried. One of such PIDs is "conhost.exe".
Running as_dict() for it reveals that some Process() APIs
erroneously raise NoSuchProcess, so we know we have problem there.
Let's ignore this for now, since it's quite a corner case (who even
imagined hidden PIDs existed on Windows?).
c                ó2   € \         P                  ! R 4       R# rA   ©r   rB   rG   s   &r'   rI   ÚTestPidsRange.setUpÜ  s   € Ü×Ò˜%Ö r*   c                ó2   € \         P                  ! R 4       R# rL   rJ  rG   s   &r'   rO   ÚTestPidsRange.tearDownß  s   € Ü×Ò˜$Ör*   c                ó€   € R  pR p\        ^R4       F'  p\        '       d   V! V4      '       d   K  V! V4       K)  	  R# )c                 ó<  €  \        R V  R2R4      pT;_uu_ 4        V FJ  pVP                  R4      '       g   K  \        VP                  4       ^,          4      pW08g  u uuRRR4       # 	  \	        R4      h  + '       g   i     R# ; i  \
         d     R# i ; i)z/proc/z/statusÚrbs   Tgid:Nz'Tgid' line not foundF)Úopenr  r‰   ÚsplitÚ
ValueErrorrò   )r   ró   ÚlineÚtgids   &   r'   Úis_linux_tidÚ+TestPidsRange.test_it.<locals>.is_linux_tidã  sŠ   € ð>Ü˜6 #  gÐ.°Ó5�÷ ’QÛ !˜ØŸ?™?¨8×4Ô4Ü#& t§z¡z£|°A¥Ó#7˜Dð $(¡;Ñ.÷ ’QÙ !ô %Ð%<Ó=Ð=÷ —Q�Qûô %ô Úðús'   ‚B œA8»%A8Á+A8Á8B		ÂBÂBc                 óV  € ^p \         P                  ! V 4      p V'       dA   \         P                  ! V 4       \        '       g   V \         P                  ! 4       9   g   Q hR# \
        '       gL   \        P                  ! \         P                  4      ;_uu_ 4        \         P                  ! V 4       RRR4       \        '       g   V \         P                  ! 4       9  g   Q hR#   + '       g   i     L:; i  \         P                  \        3 d    T^,          pT^ 8X  d   h  EK$  i ; i)é   N)r   Ú
pid_existsr3   r   rT   r   r   Úraisesr    r/   r‚   )r   r,  rƒ   s   &  r'   ÚcheckÚ$TestPidsRange.test_it.<locals>.checkò  sÕ   € ð
 ˆAØÜ×*Ò*¨3Ó/�ðßÜŸš sÔ+ß&›wØ#&¬&¯+ª+«-Ô#7Ð7Ð#7ñ ÷  '›wÜ!'§¢¬v×/CÑ/C×!DÕ!DÜ &§¢¨sÔ 3÷ "Eç&›wØ#&¬f¯kªk«mÔ#;Ð;Ð#;ñ ÷ "E×!Dûô Ÿ™¤nÐ5ô Ø˜•F�AØ˜A”vØó ðúsF   ›C7 £!C7 ÁC7 Á#C7 Á/,C7 ÂC$Â2C7 ÃC7 Ã$C4	Ã/C7 Ã7,D(Ä'D(i¸  N)rÌ   r   )rH   rV  r\  r   s   &   r'   Útest_itÚTestPidsRange.test_itâ  s9   € ò	>ò	ô: ˜˜D–>ˆCß‹u™ c×*Ò*ñ Ù�#ŽJó "r*   r^   N)
r>  r?  r@  rA  rB  rI   rO   r^  rC  rD  rE  s   @r'   rH  rH  Ë  s   ø‡ € ñò !ò ÷3ð 3r*   rH  )"rB  r*  r  rD   r}   rï   r”   rg   r   r   r   r   r   r   r   r   r	   r
   r   Úpsutil.testsr   r   r   r   r   r   r   r   r   r   rC   r=   r?   rH  r^   r*   r'   Ú<module>ra     sŸ   ðñó Û Û Û 	Û Û Û ã Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý #Ý (Ý ,Ý 'Ý 0Ý 'Ý &Ý 2Ý *Ý ð ×@Ð@˜jœ.×@Ð@°Ô-@€ò.ôbi&˜Nô i&ôXJ�Nö Jr*   