§ x<ˆjelãóÞ—dZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl m Z ddl m Z ddl mZddl mZddl mZddl mZdd l mZdd l mZdd l mZdd l mZdd l mZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlm Z ddlm!Z!ddlm"Z"ddlm#Z#ddlm$Z$ddlm%Z%ddlm&Z&ddlm'Z'ddlm(Z(ddlm)Z)ddlm*Z*dd lm+Z+dd!lm,Z,dd"lm-Z-dd#lm.Z.Gd$„d%e'¦«Z/Gd&„d'e'¦«Z0Gd(„d)e'¦«Z1Gd*„d+e'¦«Z2Gd,„d-e'¦«Z3d.„Z4e.Gd/„d0e'¦«¦«Z5e6d1krdd2l7m8Z8e8e9¦«dSdS)3z°Contracts tests. These tests mainly check API sanity in terms of returned types and APIs availability. Some of these are duplicates of tests test_system.py and test_process.py éN)ÚAIX)ÚBSD)ÚFREEBSD)ÚLINUX)ÚMACOS)ÚNETBSD)ÚOPENBSD)ÚOSX)ÚPOSIX)ÚSUNOS)ÚWINDOWS)ÚFileNotFoundError)Úlong)Úrange)Úunicode)ÚAPPVEYOR)Ú CI_TESTING)ÚGITHUB_ACTIONS)Ú HAS_CPU_FREQ)ÚHAS_NET_IO_COUNTERS)ÚHAS_SENSORS_FANS)ÚHAS_SENSORS_TEMPERATURES)ÚPYPY)Ú SKIP_SYSCONS)ÚVALID_PROC_STATUSES)ÚPsutilTestCase)Úcheck_connection_ntuple)Úcreate_sockets)Úenum)Ú is_namedtuple)Úkernel_version)Úprocess_namespace)Ú serialruncó^—eZdZd„Zd„Zd„Zd„Zeje oe d¦«d„¦«Z dS)ÚTestAvailConstantsAPIscó~—| ttd¦«tp tpt ¦«dS)NÚ PROCFS_PATH)Ú assertEqualÚhasattrÚpsutilrr r©Úselfs úo/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib64/python3.11/site-packages/psutil/tests/test_contracts.pyÚtest_PROCFS_PATHz'TestAvailConstantsAPIs.test_PROCFS_PATHDs=€Ø ×Ò�¥¨Ñ7Ô7ÝÐ.¥%Ð.­3ñ 0ô 0ð 0ð 0ð 0ócóÄ—|j}|ttd¦«t¦«|ttd¦«t¦«|ttd¦«t¦«|ttd¦«t¦«|ttd¦«t¦«|ttd¦«t¦«dS)NÚABOVE_NORMAL_PRIORITY_CLASSÚBELOW_NORMAL_PRIORITY_CLASSÚHIGH_PRIORITY_CLASSÚIDLE_PRIORITY_CLASSÚNORMAL_PRIORITY_CLASSÚREALTIME_PRIORITY_CLASS©r(r)r*r ©r,Úaes r-Útest_win_priorityz(TestAvailConstantsAPIs.test_win_priorityHs¾€Ø Ô ˆØ ˆ�7•6Ð8Ñ 9Ô 9½7ÑCÔCÐCØ ˆ�7•6Ð8Ñ 9Ô 9½7ÑCÔCÐCØ ˆ�7•6Ð0Ñ 1Ô 1µ7Ñ;Ô;Ð;Ø ˆ�7•6Ð0Ñ 1Ô 1µ7Ñ;Ô;Ð;Ø ˆ�7•6Ð2Ñ 3Ô 3µWÑ=Ô=Ð=Ø ˆ�7•6Ð4Ñ 5Ô 5µwÑ?Ô?Ð?Ð?Ð?r/có4—|j}|ttd¦«t¦«|ttd¦«t¦«|ttd¦«t¦«|ttd¦«t¦«dS)NÚIOPRIO_CLASS_NONEÚIOPRIO_CLASS_RTÚIOPRIO_CLASS_BEÚIOPRIO_CLASS_IDLE©r(r)r*rr8s r-Útest_linux_ioprio_linuxz.TestAvailConstantsAPIs.test_linux_ioprio_linuxQs„€Ø Ô ˆØ ˆ�7•6Ð.Ñ /Ô /µÑ7Ô7Ð7Ø ˆ�7•6Ð,Ñ -Ô -­uÑ5Ô5Ð5Ø ˆ�7•6Ð,Ñ -Ô -­uÑ5Ô5Ð5Ø ˆ�7•6Ð.Ñ /Ô /µÑ7Ô7Ð7Ð7Ð7r/có4—|j}|ttd¦«t¦«|ttd¦«t¦«|ttd¦«t¦«|ttd¦«t¦«dS)NÚ IOPRIO_HIGHÚ IOPRIO_NORMALÚ IOPRIO_LOWÚIOPRIO_VERYLOWr7r8s r-Útest_linux_ioprio_windowsz0TestAvailConstantsAPIs.test_linux_ioprio_windowsXs�€Ø Ô ˆØ ˆ�7•6˜=Ñ )Ô )­7Ñ3Ô3Ð3Ø ˆ�7•6˜?Ñ +Ô +­WÑ5Ô5Ð5Ø ˆ�7•6˜<Ñ (Ô (­'Ñ2Ô2Ð2Ø ˆ�7•6Ð+Ñ ,Ô ,­gÑ6Ô6Ð6Ð6Ð6r/ú%unsupported on GITHUB_ACTIONS + LINUXcó—|j}|ttd¦«tpt¦«|ttd¦«tpt¦«|ttd¦«tpt¦«|ttd¦«tpt¦«|ttd¦«tpt¦«|ttd¦«tpt¦«|ttd¦«tpt¦«|ttd¦«tpt¦«|ttd ¦«tpt¦«|ttd ¦«tpt¦«|ttd ¦«tpt¦«|ttd ¦«t¦«t �rt ¦«d kr$|ttd¦«t¦«t ¦«dkr$|ttd¦«t¦«t ¦«dkr$|ttd¦«t¦«t ¦«dkr$|ttd¦«t¦«t ¦«d kr$|ttd¦«t¦«|ttd¦«t¦«|ttd¦«t¦«|ttd¦«t¦«dS)NÚ RLIM_INFINITYÚ RLIMIT_ASÚ RLIMIT_COREÚ RLIMIT_CPUÚ RLIMIT_DATAÚ RLIMIT_FSIZEÚRLIMIT_MEMLOCKÚ RLIMIT_NOFILEÚ RLIMIT_NPROCÚ RLIMIT_RSSÚ RLIMIT_STACKÚ RLIMIT_LOCKS)éééÚRLIMIT_MSGQUEUE)rVrWé Ú RLIMIT_NICEÚ RLIMIT_RTPRIO)rVrWéÚ RLIMIT_RTTIMEÚRLIMIT_SIGPENDINGÚ RLIMIT_SWAPÚ RLIMIT_SBSIZEÚ RLIMIT_NPTS)r(r)r*rrr r!r8s r-Ú test_rlimitz"TestAvailConstantsAPIs.test_rlimit_sÚ€ðÔ ˆØ ˆ�7•6˜?Ñ +Ô +­UÐ-=µgÑ>Ô>Ð>Ø ˆ�7•6˜;Ñ 'Ô '­Ð)9µ'Ñ:Ô:Ð:Ø ˆ�7•6˜=Ñ )Ô )­5Ð+;µGÑ<Ô<Ð<Ø ˆ�7•6˜<Ñ (Ô (­%Ð*:µ7Ñ;Ô;Ð;Ø ˆ�7•6˜=Ñ )Ô )­5Ð+;µGÑ<Ô<Ð<Ø ˆ�7•6˜>Ñ *Ô *­EÐ,<µWÑ=Ô=Ð=Ø ˆ�7•6Ð+Ñ ,Ô ,­eÐ.>µwÑ?Ô?Ð?Ø ˆ�7•6˜?Ñ +Ô +­UÐ-=µgÑ>Ô>Ð>Ø ˆ�7•6˜>Ñ *Ô *­EÐ,<µWÑ=Ô=Ð=Ø ˆ�7•6˜<Ñ (Ô (­%Ð*:µ7Ñ;Ô;Ð;Ø ˆ�7•6˜>Ñ *Ô *­EÐ,<µWÑ=Ô=Ð=à ˆ�7•6˜>Ñ *Ô *­EÑ2Ô2Ð2Ý ñ @ÝÑÔ 9Ò,Ð,Ø�•7�6Ð#4Ñ5Ô5µuÑ=Ô=Ð=ÝÑÔ :Ò-Ð-Ø�•7�6 =Ñ1Ô1µ5Ñ9Ô9Ð9ÝÑÔ :Ò-Ð-Ø�•7�6 ?Ñ3Ô3µUÑ;Ô;Ð;ÝÑÔ :Ò-Ð-Ø�•7�6 ?Ñ3Ô3µUÑ;Ô;Ð;ÝÑÔ 9Ò,Ð,Ø�•7�6Ð#6Ñ7Ô7½Ñ?Ô?Ð?à ˆ�7•6˜=Ñ )Ô )­7Ñ3Ô3Ð3Ø ˆ�7•6˜?Ñ +Ô +­WÑ5Ô5Ð5Ø ˆ�7•6˜=Ñ )Ô )­7Ñ3Ô3Ð3Ð3Ð3r/N) Ú__name__Ú __module__Ú __qualname__r.r:rArGÚunittestÚskipIfrrrc©r/r-r%r%Bs‰€€€€€ð0ð0ð0ð@ð@ð@ð8ð8ð8ð7ð7ð7ð€X„_�^Ð-¨Ø<ñ>ô>ð4ð4ñ>ô>ð4ð4ð4r/r%có2—eZdZd„Zd„Zd„Zd„Zd„Zd„ZdS)ÚTestAvailSystemAPIscób—| ttd¦«t¦«dS)NÚwin_service_iterr7r+s r-Útest_win_service_iterz)TestAvailSystemAPIs.test_win_service_iterƒs)€Ø ×Ò�¥Ð);Ñ<Ô<½gÑFÔFÐFÐFÐFr/cób—| ttd¦«t¦«dS)NÚwin_service_getr7r+s r-Útest_win_service_getz(TestAvailSystemAPIs.test_win_service_get†s)€Ø ×Ò�¥Ð):Ñ;Ô;½WÑEÔEÐEÐEÐEr/cóš—| ttd¦«tptpt p t pt¦«dS)NÚcpu_freq)r(r)r*rrr rr r+s r-Ú test_cpu_freqz!TestAvailSystemAPIs.test_cpu_freq‰sL€Ø ×Ò�¥¨Ñ4Ô4ÝÐH¥%ÐH­7ÐHµgÐHÅñ Jô Jð Jð Jð Jr/cóp—| ttd¦«tpt¦«dS)NÚsensors_temperatures)r(r)r*rrr+s r-Útest_sensors_temperaturesz-TestAvailSystemAPIs.test_sensors_temperatures�s>€Ø ×ÒÝ •FÐ2Ñ 3Ô 3µUÐ5E½gñ Gô Gð Gð Gð Gr/cób—| ttd¦«t¦«dS)NÚ sensors_fansr@r+s r-Útest_sensors_fansz%TestAvailSystemAPIs.test_sensors_fans‘s(€Ø ×Ò�¥¨Ñ8Ô8½%Ñ@Ô@Ð@Ð@Ð@r/cóŒ—| ttd¦«tptp t pt ¦«dS)NÚsensors_battery)r(r)r*rr rrr+s r-Ú test_batteryz TestAvailSystemAPIs.test_battery”sC€Ø ×Ò�¥Ð):Ñ;Ô;ÝÐ=¥'Ð=­WÐ=½ñ ?ô ?ð ?ð ?ð ?r/N) rdrerfrnrqrtrwrzr}rir/r-rkrk�s}€€€€€ðGðGðGðFðFðFðJðJðJðGðGðGðAðAðAð?ð?ð?ð?ð?r/rkcóˆ—eZdZd„Zd„Zd„Zd„Zd„Zej e oe d¦«d„¦«Z d„Z d „Zd „Zd „Zd „Zd „ZdS)ÚTestAvailProcessAPIscóΗ| ttjd¦«tp0t p)t p"tptptp tpt¦«dS)NÚenviron) r(r)r*ÚProcessrrr rr rr rr+s r-Ú test_environz!TestAvailProcessAPIs.test_environ›si€Ø ×Ò�¥¤°Ñ;Ô;Ýð6¥%ð6­7ð6µcð6½Uð6Ý ð6Ý$+ð6Ý/5ñ 7ô 7ð 7ð 7ð 7r/cól—| ttjd¦«t¦«dS©NÚuids©r(r)r*r‚r r+s r-Ú test_uidszTestAvailProcessAPIs.test_uids ó*€Ø ×Ò�¥¤°Ñ8Ô8½%Ñ@Ô@Ð@Ð@Ð@r/cól—| ttjd¦«t¦«dSr…r‡r+s r-Ú test_gidszTestAvailProcessAPIs.test_gids£r‰r/cól—| ttjd¦«t¦«dS)NÚterminalr‡r+s r-Ú test_terminalz"TestAvailProcessAPIs.test_terminal¦s*€Ø ×Ò�¥¤°Ñ<Ô<½eÑDÔDÐDÐDÐDr/cóz—| ttjd¦«tpt ¦«dS)NÚionice)r(r)r*r‚rr r+s r-Ú test_ionicez TestAvailProcessAPIs.test_ionice©s/€Ø ×Ò�¥¤°Ñ:Ô:½EÐô>ðNðNñ>ô>ðNð6ð6ð6ðDðDðDðJðJðJð6ð6ð6ð4ð4ð4ðIðIðIðIðIr/rcóЗeZdZdZed„¦«Zedfd„Zd„Zd„Z d„Z d„Z e j eoej¦«d kd ¦«e j e d ¦«d „¦«¦«Zd „Zd„Ze j ed¦«d„¦«Zd„Zd„Ze j e d ¦«d„¦«Ze j e d ¦«d„¦«Ze j e d ¦«d„¦«Zd„Zd„Z dS)ÚTestSystemAPITypesz¬Check the return types of system related APIs. Mainly we want to test we never return unicode on Python 2, see: https://github.com/giampaolo/psutil/issues/1039 có6—tj¦«|_dS©N)r*r‚Úproc)Úclss r-Ú setUpClasszTestSystemAPITypes.setUpClassÔs€å”>Ñ#Ô#ˆŒˆˆr/TcóŽ—t|¦«sJ‚|D]0}| ||¦«|r| |d¦«Œ1dS©Nr)r ÚassertIsInstanceÚassertGreaterEqual)r,ÚntÚtype_ÚgezeroÚns r-Úassert_ntuple_of_numsz(TestSystemAPITypes.assert_ntuple_of_numsØsd€Ý˜RÑ Ô Ð Ð Ð Øð .ð .ˆAØ × !Ò ! ! UÑ +Ô +Ð +Øð .Ø×'Ò'¨¨1Ñ-Ô-Ð-øð .ð .r/có¬—| tj¦«¦«tjd¬¦«D]}| |¦«ŒdS)NT)Úpercpu)r·r*Ú cpu_times)r,r³s r-Útest_cpu_timesz!TestSystemAPITypes.test_cpu_timesßs]€Ø ×"Ò"¥6Ô#3Ñ#5Ô#5Ñ6Ô6Ð6ÝÔ"¨$Ð/Ñ/Ô/ð +ð +ˆBØ × &Ò & rÑ *Ô *Ð *Ð *ð +ð +r/có¾—| tjd¬¦«t¦«| tjd¬¦«t¦«dS)N©Úintervalgñh㈵øä>)r±r*Ú cpu_percentÚfloatr+s r-Útest_cpu_percentz#TestSystemAPITypes.test_cpu_percentäsP€Ø ×Ò�fÔ0¸$Ð?Ñ?Ô?ÅÑGÔGÐGØ ×Ò�fÔ0¸'ÐBÑBÔBÅEÑJÔJÐJÐJÐJr/có¦—| tjd¬¦«¦«| tjd¬¦«¦«dS)Nr½g-Cëâ6?)r·r*Úcpu_times_percentr+s r-Útest_cpu_times_percentz)TestSystemAPITypes.test_cpu_times_percentèsL€Ø ×"Ò"¥6Ô#;ÀTÐ#JÑ#JÔ#JÑKÔKÐKØ ×"Ò"¥6Ô#;ÀVÐ#LÑ#LÔ#LÑMÔMÐMÐMÐMr/có^—| tj¦«t¦«dSr«)r±r*Ú cpu_countÚintr+s r-Útest_cpu_countz!TestSystemAPITypes.test_cpu_countìs'€Ø ×Ò�fÔ.Ñ0Ô0µ#Ñ6Ô6Ð6Ð6Ð6r/Úarm64zskipped due to #1892z not supportedcóÊ—tj¦«€| d¦«‚| tj¦«tt t f¬¦«dS)Nzcpu_freq() returns None©r´)r*rsÚskipTestr·rÀrÇrr+s r-rtz TestSystemAPITypes.test_cpu_freqðsS€õ Œ?Ñ Ô Ð $Ø—-’-Ð 9Ñ:Ô:Ð :Ø ×"Ò"¥6¤?Ñ#4Ô#4½UÅCÍÐÒ>Ñ@Ô@ð Oð O‰KˆD�%Ø × !Ò ! $­Ñ ,Ô ,Ð ,Øð Oð O�Ø×%Ò% d¤jµ#Ñ6Ô6Ð6Ø×%Ò% d¤lµU½CÅÀdÁÄÐ4LÑMÔMÐMØ×%Ò% d¤iµ%½½dÀ4¹j¼jÐ1IÑJÔJÐJØ×%Ò% d¤mµe½SÅ$ÀtÁ*Ä*Ð5MÑNÔNÐNÐNð  Oð Oð Or/có^—| tj¦«t¦«dSr«)r±r*Ú boot_timerÀr+s r-Útest_boot_timez!TestSystemAPITypes.test_boot_timeCs'€à ×Ò�fÔ.Ñ0Ô0µ%Ñ8Ô8Ð8Ð8Ð8r/cóŒ—tj¦«D]¯}| |jt¦«| |jtt d¦«f¦«| |jtt d¦«f¦«| |jtt d¦«f¦«Œ°dSr«) r*Úusersr±rrÑr�rÜÚhostÚpidrÇ)r,Úusers r-Ú test_userszTestSystemAPITypes.test_usersGs¥€å”L‘N”Nð ?ð ?ˆDØ × !Ò ! $¤)­SÑ 1Ô 1Ð 1Ø × !Ò ! $¤-µ#µt¸D±z´zÐ1BÑ CÔ CÐ CØ × !Ò ! $¤)­cµ4¸±:´:Ð->Ñ ?Ô ?Ð ?Ø × !Ò ! $¤(­Sµ$°t±*´*Ð,=Ñ >Ô >Ð >Ð >ð  ?ð ?r/N)!rdrerfÚ__doc__Ú classmethodr®rÀr·r»rÁrÄrÈrgrhrÚplatformÚmachinerrtrÔrßrrçròrûrrrrzrrwr rrir/r-r©r©Îs€€€€€ððð ð$ð$ñ„[ð$ð/4¸Dð.ð.ð.ð.ð+ð+ð+ð KðKðKðNðNðNð7ð7ð7ð€X„_�UÐ<Ð/˜xÔ/Ñ1Ô1°WÒ<Ø+ñ-ô-à€X„_˜Ð% Ñ7Ô7ðPðPñ8Ô7ñ-ô-ðPð =ð=ð=ð CðCðCð€X„_�\ ?Ñ3Ô3ð+ð+ñ4Ô3ð+ð Ið Ið Ið 1ð 1ð 1ð€X„_Ð,Ð,¨oÑ>Ô>ð/ð/ñ?Ô>ð/ð €X„_Ð)Ð)¨?Ñ;Ô;ðNðNñ<Ô;ðNð€X„_Ð1Ð1°?ÑCÔCðOðOñDÔCðOð9ð9ð9ð?ð?ð?ð?ð?r/r©cóD—eZdZeje d¦«d„¦«ZdS)ÚTestProcessWaitTypez not POSIXcóv—tj| ¦«j¦«}| ¦«| ¦«}| |tj ¦«t�"|  |tj ¦«dS|  |t¦«dSr«) r*r‚Úspawn_testprocrÚ terminateÚwaitr(ÚsignalÚSIGTERMrr±rërÇ)r,ÚpÚcodes r-Útest_negative_signalz(TestProcessWaitType.test_negative_signalRs”€å ŒN˜4×.Ò.Ñ0Ô0Ô4Ñ 5Ô 5ˆØ � Š ‰ Œ ˆ Ø�vŠv‰xŒxˆØ ×Ò˜¥¤˜Ñ/Ô/Ð/Ý Ð Ø × !Ò ! $­¬ Ñ 5Ô 5Ð 5Ð 5Ð 5à × !Ò ! $­Ñ ,Ô ,Ð ,Ð ,Ð ,r/N)rdrerfrgrhr r"rir/r-rrPs>€€€€€à€X„_˜�Y  Ñ,Ô,ð-ð-ñ-Ô,ð-ð-ð-r/rcó‡ ‡ ‡ ‡ —t¦«Š ˆˆ fd„Šˆˆ ˆˆ ˆ fd„} tj‰¦«Š ‰  ddg¦«}n#tj$ricYSwxYw|d|dcŠ Š d‰ ji}t ‰ ¦«}| |jd¬¦«D]=\}} |¦«||<Œ#tj $r}‰|‰ ‰ ‰ ¦«Yd}~Œ6d}~wwxYw|¦«|S)Ncó •—‰ |j‰¦«‰ |j|¦«t|tj¦«r>|j�6‰ |jd¦«‰ |j|¦«n/t|tj¦«r‰  |¦«t|¦«dSr°) r(rrÚ isinstancer*Ú ZombieProcessÚppidr²Ú NoSuchProcessÚassertProcessGonerÑ)Úexcr¬rr'rÚtcases €€r-Úcheck_exceptionz"proc_info..check_exceptionfs¹ø€Ø ×Ò˜#œ' 3Ñ'Ô'Ð'Ø ×Ò˜#œ( DÑ)Ô)Ð)Ý �c�6Ô/Ñ 0Ô 0ð *ØŒxÐ#Ø×(Ò(¨¬°1Ñ5Ô5Ð5Ø×!Ò! #¤(¨DÑ1Ô1Ð1øÝ ˜�VÔ1Ñ 2Ô 2ð *Ø × #Ò # DÑ )Ô )Ð )Ý ˆC‰Œˆˆˆr/cóš•—‰dkrC ‰ d¦«dS#tj$r}‰|‰‰‰¦«Yd}~dSd}~wwxYwdSr°)rr*ÚError)r*r,rrr'r¬s €€€€€r-Údo_waitzproc_info..do_waitqstø€Ø �!Š8ˆ8ð 7Ø— ’ ˜!‘ ” � � � øÝ”<ð 7ð 7ð 7Ø�  T¨4°Ñ6Ô6Ð6Ð6Ð6Ð6Ð6Ð6Ð6øøøøð 7øøøð ˆ8s‰  A¯AÁAr'rrF)Ú clear_cache) rr*r‚Úas_dictr(rr"ÚiterÚgettersr.) rr/ÚdrúÚnsÚfunÚfun_namer*r,rr'r¬r+s ` @@@@@r-Ú proc_infor8cspøøøøøø€Ý Ñ Ô €Eð ð ð ð ð ð ð7ð7ð7ð7ð7ð7ð7ð7ð7ðÝŒ~˜cÑ"Ô"ˆØ �LŠL˜& &Ð)Ñ *Ô *ˆˆøÝ Ô ðððØˆ ˆ ˆ ðøøøð�6”˜A˜fœI€J€Dˆ$Ø �4”8Ð €DÝ ˜4Ñ Ô €B🚠¤¸˜Ñ?Ô?ðð‰ ˆˆXð Ø ˜S™UœUˆD�‰NˆNøÝŒ|ð ð ð Ø ˆO˜C  t¨TÑ 2Ô 2Ð 2Ø ˆHˆHˆHˆHøøøøð øøøð €G�I„I€IØ €Ks)¥+AÁA%Á$A%Â3 CÃC(ÃC#Ã#C(cóð—eZdZdZd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z!d „Z"d!„Z#d"„Z$d#„Z%d$„Z&d%„Z'd&„Z(d'S)(Ú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óH—tstj¦«|_dSdSr«)rÚmultiprocessingÚPoolÚpoolr+s r-ÚsetUpzTestFetchAllProcesses.setUp”s*€õð /Ý'Ô,Ñ.Ô.ˆDŒIˆIˆIð /ð /r/có|—ts4|j ¦«|j ¦«dSdSr«)rr>rÚjoinr+s r-ÚtearDownzTestFetchAllProcesses.tearDownšs@€Ýð Ø ŒI× Ò Ñ !Ô !Ð !Ø ŒI�NŠNÑ Ô Ð Ð Ð ð ð r/cóä—ddlm}ts,|j |t j¦«¦«Sg}t j¦«D] }| ||¦«¦«Œ!|S)Nr)r8)Úpsutil.tests.test_contractsr8rr>Úimap_unorderedr*ÚpidsÚappend)r,r8Úlsrs r-Úiter_proc_infoz$TestFetchAllProcesses.iter_proc_infoŸsx€ð :Ð9Ð9Ð9Ð9Ð9åð Ø”9×+Ò+¨Iµv´{±}´}ÑEÔEÐ EàˆBÝ”{‘}”}ð *ð *�Ø— ’ ˜)˜) C™.œ.Ñ)Ô)Ð)Ð)؈Ir/c ó\—g}| ¦«D]ê}| ¦«D]Ó\}}t||¦«} |||¦«|ddgddifvr |s J|¦«‚Œ9#t$rŽd}|d|›d|d›dt |¦«›d �z }|d z }|d t j¦«zz }d  d „| ¦«D¦«¦«d z}|  |¦«YŒÐwxYwŒë|r(|  d |¦«¦«‚dS) NrçÚzH ====================================================================== z FAIL: test_z pid=rz, ret=ú zF----------------------------------------------------------------------z %sc3ó K—|] }d|zV—Œ dS)z Nri)Ú.0Úis r-ú z1TestFetchAllProcesses.test_all..¹s&èè€Ð!HÐ!H°A 7¨a¡-Ð!HÐ!HÐ!HÐ!HÐ!HÐ!Hr/) rIrÐÚgetattrÚAssertionErrorÚreprÚ tracebackÚ format_excrAÚ splitlinesrGÚfail)r,ÚfailuresrúrÚvalueÚmethÚss r-Útest_allzTestFetchAllProcesses.test_all¬s~€ØˆØ×'Ò'Ñ)Ô)ð ,ð ,ˆDØ#Ÿzšz™|œ|ð ,ð ,‘ ��eݘt TÑ*Ô*�ð ,Ø�D˜ Ñ%Ô%Ð%ð Q¨¨R°°r¸2Ð$>Ð>Ð>Ø$Ð+Ð+ eÑ+Ô+˜uøøõ&ð'ð'ð'Ø.�AØ�Aؘ˜˜d 5œk˜k˜k­4°©;¬;¨;¨;ð8ñ8�Aà˜‘M�Aؘ¥)Ô"6Ñ"8Ô"8Ñ8Ñ8�AØŸ š Ð!HÐ!H¸¿º¹¼Ð!HÑ!HÔ!HÑHÔHÈ4ÑO�AØ—O’O AÑ&Ô&Ð&Ð&Ð&ð'øøøð  ,ð ð /Ø—)’)˜BŸGšG HÑ-Ô-Ñ.Ô.Ð .ð /ð /sÁ A&Á&BC>Ã=C>có|—| |t¦«|D]}| |t¦«ŒdSr«)r±ÚlistrÑ)r,rårúÚparts r-ÚcmdlinezTestFetchAllProcesses.cmdlineÁsJ€Ø ×Ò˜c¥4Ñ(Ô(Ð(Øð -ð -ˆDØ × !Ò ! $­Ñ ,Ô ,Ð ,Ð ,ð -ð -r/cóš—| |ttf¦«| | ¦«|¦«|röt r| d¦«sdStj  |¦«s J|¦«‚trªtj  |¦«r�ttd¦«rzttd¦«rg tj |tj¦«sJ‚dS#t$r.tj |¦«rt"s‚YdSYdSwxYwdSdSdSdSdS)Nz.exeÚaccessÚX_OK)r±rÑrr(Ústripr ÚendswithÚosÚpathÚisabsr Úisfiler)rcrdrSÚexistsr©r,rårús r-ÚexezTestFetchAllProcesses.exeÆsv€Ø ×Ò˜c¥C­ >Ñ2Ô2Ð2Ø ×Ò˜Ÿš™œ cÑ*Ô*Ð*Ø ð "Ýð ˜sŸ|š|¨FÑ3Ô3ð Ø�Ý”7—=’= Ñ%Ô%Ð *Ð * sÑ *Ô *Ð%õð "�œŸš¨Ñ,Ô,ð "Ý�2˜xÑ(Ô(ð"­WµR¸Ñ-@Ô-@ð"ð"Ý!œy¨­b¬gÑ6Ô6Ð6Ð6Ð6Ð6Ð6øÝ)ð"ð"ð"Ýœ7Ÿ>š>¨#Ñ.Ô.ð"µzð"Ø!ð"ð"ð"ð"ð"ð"ð"øøøð "ð "ð "ð "ð "ð "ð"ð"ð"ð"sÃ%!DÄ1EÄ?Ecóh—| |t¦«| |d¦«dSr°©r±rÇr²rls r-rzTestFetchAllProcesses.pidÙó4€Ø ×Ò˜c¥3Ñ'Ô'Ð'Ø ×Ò  QÑ'Ô'Ð'Ð'Ð'r/cóv—| |ttf¦«| |d¦«dSr°)r±rÇrr²rls r-r'zTestFetchAllProcesses.ppidÝs8€Ø ×Ò˜c¥C­ ;Ñ/Ô/Ð/Ø ×Ò  QÑ'Ô'Ð'Ð'Ð'r/có’—| |ttf¦«tr|s|ddkrdSts|sJ‚dSdS)NÚstatusÚstopped)r±rÑrrrrls r-rzTestFetchAllProcesses.nameás^€Ø ×Ò˜c¥C­ >Ñ2Ô2Ð2Ý ð ˜Cð  D¨¤N°iÒ$?Ð$?Ø ˆFåð ØˆJˆJ�3ð ð Ø ˆJr/có—| |t¦« | |d¦«n/#t$r"tr|dt jkrn‚YnwxYwtjdtj |¦«¦«dS)Nrrsz%Y %m %d %H:%M:%S) r±rÀr²rSr r*Ú STATUS_ZOMBIEÚtimeÚstrftimeÚ localtimerls r-Ú create_timez!TestFetchAllProcesses.create_timeésœ€Ø ×Ò˜c¥5Ñ)Ô)Ð)ð Ø × #Ò # C¨Ñ +Ô +Ð +Ð +øÝð ð ð åð ˜4 œ>­VÔ-AÒAÐAØàð�ð øøøõ Œ Ð)­4¬>¸#Ñ+>Ô+>Ñ?Ô?Ð?Ð?Ð?s�4´)A ÁA có”—t|¦«sJ‚|D]3}| |t¦«| |d¦«Œ4dSr°)r r±rÇr²)r,rårúÚuids r-r†zTestFetchAllProcesses.uidsùs^€Ý˜SÑ!Ô!Ð!Ð!Ð!Øð ,ð ,ˆCØ × !Ò ! #¥sÑ +Ô +Ð +Ø × #Ò # C¨Ñ +Ô +Ð +Ð +ð ,ð ,r/có°—t|¦«sJ‚|D]A}| |t¦«tsts| |d¦«ŒBdSr°)r r±rÇrrr²)r,rårúÚgids r-ÚgidszTestFetchAllProcesses.gidsÿsm€Ý˜SÑ!Ô!Ð!Ð!Ð!ðð 0ð 0ˆCØ × !Ò ! #¥sÑ +Ô +Ð +Ýð 0¥ð 0Ø×'Ò'¨¨QÑ/Ô/Ð/øð 0ð 0r/có¸—| |t¦«| | ¦«|¦«| ¦«sJ‚dSr«)r±rÑr(rerls r-ÚusernamezTestFetchAllProcesses.usernamesO€Ø ×Ò˜c¥3Ñ'Ô'Ð'Ø ×Ò˜Ÿš™œ cÑ*Ô*Ð*Ø�yŠy‰{Œ{ÐЈ{ÐÐr/có¦—| |t¦«|sJ‚| |d¦«| |t¦«dS)Nú?)r±rÑÚassertNotEqualÚassertInrrls r-rszTestFetchAllProcesses.status sR€Ø ×Ò˜c¥3Ñ'Ô'Ð'؈ ˆ ˆsØ ×Ò˜C Ñ%Ô%Ð%Ø � Š �cÕ.Ñ/Ô/Ð/Ð/Ð/r/có®—t|¦«sJ‚|D]@}| |ttf¦«|dkr| |d¦«ŒAdS)Néÿÿÿÿr©r r±rÇrr²)r,rårúÚfields r-r•z!TestFetchAllProcesses.io_counterssi€Ý˜SÑ!Ô!Ð!Ð!Ð!Øð 2ð 2ˆEØ × !Ò ! %­#­t¨Ñ 5Ô 5Ð 5ؘŠ{ˆ{Ø×'Ò'¨¨qÑ1Ô1Ð1øð 2ð 2r/cóî—trx| |jt¦«| |jt¦«| |jd¦«| |jd¦«dSt jt jt j t j g}| |t¦«| |d¦«|  ||¦«dSr°) rr±ÚioclassrÇrZr²r*rFrErDrCr…)r,rårúÚchoicess r-r�zTestFetchAllProcesses.ionicesÙ€Ý ð (Ø × !Ò ! #¤+­sÑ 3Ô 3Ð 3Ø × !Ò ! #¤)­SÑ 1Ô 1Ð 1Ø × #Ò # C¤K°Ñ 3Ô 3Ð 3Ø × #Ò # C¤I¨qÑ 1Ô 1Ð 1Ð 1Ð 1õÔ%ÝÔ!ÝÔ$ÝÔ"ð $ˆGð × !Ò ! #¥sÑ +Ô +Ð +Ø × #Ò # C¨Ñ +Ô +Ð +Ø �MŠM˜#˜wÑ 'Ô 'Ð 'Ð 'Ð 'r/có–—| |t¦«tr|s|ddkrdS| |d¦«dS)Nrsrté)r±rÇrr²rls r-Ú num_threadsz!TestFetchAllProcesses.num_threads*sV€Ø ×Ò˜c¥3Ñ'Ô'Ð'Ý ð ˜Cð  D¨¤N°iÒ$?Ð$?Ø ˆFØ ×Ò  QÑ'Ô'Ð'Ð'Ð'r/cóX—| |t¦«|D]‹}t|¦«sJ‚| |jd¦«| |jd¦«| |jd¦«|D]$}| |ttf¦«Œ%ŒŒdSr°) r±r_r r²ÚidÚ user_timeÚ system_timerÇrÀ)r,rårúÚtr‰s r-ÚthreadszTestFetchAllProcesses.threads0s¾€Ø ×Ò˜c¥4Ñ(Ô(Ð(Øð ;ð ;ˆAÝ  Ñ#Ô#Ð #Ð #Ð#Ø × #Ò # A¤D¨!Ñ ,Ô ,Ð ,Ø × #Ò # A¤K°Ñ 3Ô 3Ð 3Ø × #Ò # A¤M°1Ñ 5Ô 5Ð 5Øð ;ð ;�Ø×%Ò% e­cµ5¨\Ñ:Ô:Ð:Ð:ð ;ð  ;ð ;r/có”—t|¦«sJ‚|D]3}| |t¦«| |d¦«Œ4dSr°)r r±rÀr²)r,rårúr¶s r-rºzTestFetchAllProcesses.cpu_times:s^€Ý˜SÑ!Ô!Ð!Ð!Ð!Øð *ð *ˆAØ × !Ò ! !¥UÑ +Ô +Ð +Ø × #Ò # A qÑ )Ô )Ð )Ð )ð *ð *r/cón—| |t¦«d|cxkrdks nJ|¦«‚dS)NrKgY@©r±rÀrls r-r¿z!TestFetchAllProcesses.cpu_percentAsK€Ø ×Ò˜c¥5Ñ)Ô)Ð)Ø�cÐ"Ð"Ò"Ð"˜UÒ"Ð"Ð"Ð"Ð" CÑ"Ô"Ð"Ð"Ð"r/c ób—| |t¦«tr|dkrdS| |d¦«t j¦«dkr| |d¦«| |ttt j¦«¦«¦«¦«dS)Nr‡rrŽ) r±rÇrr²r*rÆr(r…r_rrls r-r£zTestFetchAllProcesses.cpu_numEs €Ø ×Ò˜c¥3Ñ'Ô'Ð'Ý ð �s˜b’y�yØ ˆFØ ×Ò  QÑ'Ô'Ð'Ý Ô Ñ Ô  Ò "Ð "Ø × Ò ˜S !Ñ $Ô $Ð $Ø � Š �c�4¥¥fÔ&6Ñ&8Ô&8Ñ 9Ô 9Ñ:Ô:Ñ;Ô;Ð;Ð;Ð;r/có´—t|¦«sJ‚|D]:}| |ttf¦«| |d¦«Œ;t r‚| |j|j¦«| |j|j ¦«| |j |j ¦«| |j |j ¦«dSdSr°)r r±rÇrr²r Ú peak_wsetÚwsetÚpeak_paged_poolÚ paged_poolÚpeak_nonpaged_poolÚ nonpaged_poolÚ peak_pagefileÚpagefile©r,rårúrZs r-Ú memory_infoz!TestFetchAllProcesses.memory_infoNs߀ݘSÑ!Ô!Ð!Ð!Ð!Øð .ð .ˆEØ × !Ò ! %­#­t¨Ñ 5Ô 5Ð 5Ø × #Ò # E¨1Ñ -Ô -Ð -Ð -Ý ð EØ × #Ò # C¤M°3´8Ñ <Ô <Ð <Ø × #Ò # CÔ$7¸¼Ñ HÔ HÐ HØ × #Ò # CÔ$:¸CÔÑ2Ô2Ð2Ø ×Ò˜Ÿš™œ cÑ*Ô*Ð*Ø ð 0Ý”7—=’= Ñ%Ô%Ð *Ð * sÑ *Ô *Ð%ð 0Ý”W˜S‘\”\�õ”| B¤JÑ/Ô/Ð/Ð/Ð/Ð/Ð/øõð ð ð Ýð˜sœyÝÔ*Ô<ð =ð =àà”Y¥%¤,Ò.Ð.Øð/Ð.Ð.Ð.Ð.Ð.ð�D�D�D�D�Døøøøð øøøð 0ð 0sÁ7B(Â( C9Â26C4Ã4C9cón—| |t¦«d|cxkrdks nJ|¦«‚dS)Nrédr˜rls r-Úmemory_percentz$TestFetchAllProcesses.memory_percentŸs=€Ø ×Ò˜c¥5Ñ)Ô)Ð)Ø�CˆˆŠˆ˜3Šˆˆˆˆ ‰Œˆˆˆr/có<—| |t¦«dSr«)r±rörls r-Ú is_runningz TestFetchAllProcesses.is_running£s€Ø ×Ò˜c¥4Ñ(Ô(Ð(Ð(Ð(r/có"—| |t¦«|gks J|¦«‚tttj¦«¦«¦«}|D]3}| |t ¦«| ||¦«Œ4dSr«)r±r_rr*rÆrÇr…)r,rårúÚcpusr¶s r-r z"TestFetchAllProcesses.cpu_affinity¦s�€Ø ×Ò˜c¥4Ñ(Ô(Ð(Ø�bŠyˆyˆy˜#‰yŒyˆyÝ•E�&Ô*Ñ,Ô,Ñ-Ô-Ñ.Ô.ˆØð #ð #ˆAØ × !Ò ! !¥SÑ )Ô )Ð )Ø �MŠM˜!˜TÑ "Ô "Ð "Ð "ð #ð #r/có—| |ttd¦«f¦«|�Rtj |¦«s J|¦«‚tj |¦«s J|¦«‚dSdSr«)r±rÑrÜrgrhrirkrls r-r�zTestFetchAllProcesses.terminal®sy€Ø ×Ò˜c¥C­¨d©¬Ð#4Ñ5Ô5Ð5Ø ˆ?Ý”7—=’= Ñ%Ô%Ð *Ð * sÑ *Ô *Ð%Ý”7—>’> #Ñ&Ô&Ð +Ð +¨Ñ +Ô +Ð&ð ˆ?à +Ð +r/có¤—|D�]K}| |jt¦«| |jt¦«| |jt¦«|jD]à}t ||¦«}|dkrI| d¦«s3tj  |j¦«sJ|j¦«‚Œa|dkr|sJt|¦«¦«‚Œ�|dkr!ts|sJt|¦«¦«‚Œ¨| |ttf¦«| |d¦«Œá�ŒMdS)Nrh)ú[z anon_inode:rñÚpermsr)r±rñrÑrÕrhr«rRÚ startswithrgrirTr rÇrr²)r,rårúr³ÚfnamerZs r-r¦z!TestFetchAllProcesses.memory_maps´sV€Øð 6ñ 6ˆBØ × !Ò ! "¤'­3Ñ /Ô /Ð /Ø × !Ò ! "¤(­CÑ 0Ô 0Ð 0Ø × !Ò ! "¤'­3Ñ /Ô /Ð /Øœð 6ð 6�Ý  EÑ*Ô*�ؘF’?�?Ø ×+Ò+Ð,@ÑAÔAð?Ý!œwŸ}š}¨R¬WÑ5Ô5Ð>Ð>°r´wÑ>Ô>Ð5øð˜f’_�_Ø Ð-Ð-¥$ u¡+¤+Ñ-Ô-˜5Ð-ؘgÒ%Ð%Ý"ð2Ø$Ð1Ð1¥d¨5¡k¤kÑ1Ô1˜uøà×)Ò)¨%µ#µt°Ñ=Ô=Ð=Ø×+Ò+¨E°1Ñ5Ô5Ð5Ð5ñ 6ð  6ð 6r/cóh—| |t¦«| |d¦«dSr°rorls r-r�z!TestFetchAllProcesses.num_handlesÊrpr/có‚—| |t¦«trd|cxkrdks nJ|¦«‚dSd„tt¦«D¦«}| ||¦«t jdkr"| |tj ¦«dS| |t¦«dS)Niìÿÿÿécób—g|],}| d¦«¯tt|¦«‘Œ-S)Ú_PRIORITY_CLASS)rfrRr*)rOÚxs r-ú z.TestFetchAllProcesses.nice..ÓsC€ð<ð<ð<°ØŸZšZÐ(9Ñ:Ô:ð<�'¥&¨!Ñ,Ô,ð<ð<ðròs=ðððð  € € € ØÐÐÐØ € € € Ø€€€Ø € € € Ø € € € Ø € € € Ø € € € ØÐÐÐØ€€€à € € € ØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØ,Ð,Ð,Ð,Ð,Ð,ØÐÐÐÐÐØ Ð Ð Ð Ð Ð Ø"Ð"Ð"Ð"Ð"Ð"Ø!Ð!Ð!Ð!Ð!Ð!Ø#Ð#Ð#Ð#Ð#Ð#Ø'Ð'Ð'Ð'Ð'Ð'Ø%Ð%Ð%Ð%Ð%Ð%Ø,Ð,Ð,Ð,Ð,Ð,Ø)Ð)Ð)Ð)Ð)Ð)Ø1Ð1Ð1Ð1Ð1Ð1ØÐÐÐÐÐØ%Ð%Ð%Ð%Ð%Ð%Ø,Ð,Ð,Ð,Ð,Ð,Ø'Ð'Ð'Ð'Ð'Ð'Ø0Ð0Ð0Ð0Ð0Ð0Ø'Ð'Ð'Ð'Ð'Ð'ØÐÐÐÐÐØ&Ð&Ð&Ð&Ð&Ð&Ø'Ð'Ð'Ð'Ð'Ð'Ø*Ð*Ð*Ð*Ð*Ð*Ø"Ð"Ð"Ð"Ð"Ð"ð<4ð<4ð<4ð<4ð<4˜^ñ<4ô<4ð<4ð~?ð?ð?ð?ð?˜.ñ?ô?ð?ð0-Ið-Ið-Ið-Ið-I˜>ñ-Iô-Ið-Iðj?ð?ð?ð?ð?˜ñ?ô?ð?ðD -ð -ð -ð -ð -˜.ñ -ô -ð -ð&'ð'ð'ðT ð]*ð]*ð]*ð]*ð]*˜Nñ]*ô]*ñ „ð]*ð@  ˆzÒÐØ1Ð1Ð1Ð1Ð1Ð1Ø€M�(ÑÔÐÐÐðÐr/