§
    ±Ûg-  ã                   ó(  — d Z ddlZddlZddlZddlZddlZddlZddlmZ ddlm	Z	 ddl
mZ ddl
mZ ddl
mZ ddl
mZ dd	l
mZ dd
l
mZ ddl
mZ ddl
mZ ddl
mZ ddl
mZ ddl
mZ ddl
mZ ddl
mZ ddl
mZ ej                             ed¦  «        Zej                             ed¦  «        Zej                             eoej                             e¦  «         d¬¦  «         G d„ de¦  «        ¦   «         Zej                             eoej                             e¦  «         d¬¦  «         G d„ de¦  «        ¦   «         Z ej                             eoej                             e¦  «         d¬¦  «         G d„ de¦  «        ¦   «         Z!dS )zTest various scripts.é    N)ÚPOSIX)ÚWINDOWS)Ú
CI_TESTING)ÚHAS_BATTERY)ÚHAS_MEMORY_MAPS)ÚHAS_SENSORS_BATTERY)ÚHAS_SENSORS_FANS)ÚHAS_SENSORS_TEMPERATURES)Ú
PYTHON_EXE)ÚPYTHON_EXE_ENV)ÚROOT_DIR)ÚSCRIPTS_DIR)ÚPsutilTestCase)Úimport_module_by_path)Úpsutil)ÚshÚinternalzsetup.pyzcan't find scripts/ directory©Úreasonc                   ó¤  — e Zd Zed„ ¦   «         Zed„ ¦   «         Zd„ Zej         	                    e
 d¬¦  «        d„ ¦   «         Zd„ Zd„ Zd	„ Zd
„ Zej         	                    eo ej        ¦   «          d¬¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zej         	                    e d¬¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej         	                    e  d¬¦  «        d„ ¦   «         Z!d„ Z"ej         	                    e# d¬¦  «        d„ ¦   «         Z$ej         	                    e% d¬¦  «        d„ ¦   «         Z&ej         	                    e' d¬¦  «        ej         	                    e( d¬¦  «        d„ ¦   «         ¦   «         Z)ej         	                    e' d¬¦  «        ej         	                    e( d¬¦  «        d „ ¦   «         ¦   «         Z*d!S )"ÚTestExampleScriptsc                 ó–  — |                      dt          ¦  «         t          j                             t
          | ¦  «        } t          | g}|D ]}|                     |¦  «         Œ	 t          |fi |¤Ž 	                    ¦   «         }n8# t          $ r+}dt          |¦  «        v rt          |¦  «        cY d }~S ‚ d }~ww xY w|s
J |¦   «         ‚|S )NÚenvÚAccessDenied)Ú
setdefaultr   ÚosÚpathÚjoinr   r   Úappendr   ÚstripÚRuntimeErrorÚstr)ÚexeÚargsÚkwargsÚcmdÚargÚoutÚerrs          úO/granary/edev/quantum/lib/python3.11/site-packages/psutil/tests/test_scripts.pyÚassert_stdoutz TestExampleScripts.assert_stdout1   sÝ   € à×Ò˜%¥Ñ0Ô0Ð0ÝŒg�lŠl�;¨Ñ,Ô,ˆÝ˜3ÐˆØð 	ð 	ˆCØ�JŠJ�s‰OŒOˆOˆOð	Ý�SÐ#Ð#˜FÐ#Ð#×)Ò)Ñ+Ô+ˆCˆCøÝð 	ð 	ð 	Ø¥ S¡¤Ð)Ð)Ý˜3‘x”x������àøøøøð		øøøð
 ˆˆ�C‰ŒˆØˆ
s$   Á%B Â
B:ÂB5Â.B:Â4B5Â5B:c                 óò   — t           j                             t          | ¦  «        } t	          | d¬¦  «        5 }|                     ¦   «         }d d d ¦  «         n# 1 swxY w Y   t          j        |¦  «         d S ©NÚutf8)Úencoding)r   r   r   r   ÚopenÚreadÚastÚparse)r#   ÚfÚsrcs      r*   Úassert_syntaxz TestExampleScripts.assert_syntaxB   sš   € åŒg�lŠl�;¨Ñ,Ô,ˆÝ�# Ð'Ñ'Ô'ð 	¨1Ø—&’&‘(”(ˆCð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	åŒ	�#‰Œˆˆˆs   ·AÁAÁAc                 óR  — t          | ¦  «        }t          j        t          ¦  «        D ]}}|                     d¦  «        rfdt          j                             |¦  «        d         z   |vr<|                      dt          j                             t          |¦  «        ›d�¦  «        ‚Œ~d S )Nú.pyÚtest_r   zno test defined for z script)	Údirr   Úlistdirr   Úendswithr   ÚsplitextÚfailr   )ÚselfÚmethsÚnames      r*   Útest_coveragez TestExampleScripts.test_coverageI   s«   € å�D‘	”	ˆÝ”J�{Ñ+Ô+ð 	ð 	ˆDØ�}Š}˜UÑ#Ô#ð Ø�RœW×-Ò-¨dÑ3Ô3°AÔ6Ñ6¸eÐCÐCàŸ)š)ðGÝœGŸLšL­°dÑ;Ô;ðGð Gð Gñô ð øð		ð 	ó    z
POSIX onlyr   c                 óL  — t          j        t          ¦  «        D ]‰\  }}}|D ]€}|                     d¦  «        rit           j                             ||¦  «        }t          j        t          j        |¦  «        t          j                 z  s|  	                    |›d�¦  «        ‚Œ�ŒŠd S )Nr8   z is not executable)
r   Úwalkr   r<   r   r   ÚstatÚS_IXUSRÚST_MODEr>   )r?   ÚrootÚdirsÚfilesÚfiler   s         r*   Útest_executablez"TestExampleScripts.test_executableU   s¬   € å!#¤­Ñ!5Ô!5ð 	Gð 	GÑˆD�$˜Øð Gð G�Ø—=’= Ñ'Ô'ð GÝœ7Ÿ<š<¨¨dÑ3Ô3�DÝœ<­"¬'°$©-¬-½¼Ô*EÑEð GØ"Ÿiši¨4Ð(EÐ(EÐ(EÑFÔFÐFøð	Gð	Gð 	GrC   c                 ó0   — |                       d¦  «         d S )Nzdisk_usage.py©r+   ©r?   s    r*   Útest_disk_usagez"TestExampleScripts.test_disk_usage^   s   € Ø×Ò˜?Ñ+Ô+Ð+Ð+Ð+rC   c                 ó0   — |                       d¦  «         d S )Nzfree.pyrO   rP   s    r*   Ú	test_freezTestExampleScripts.test_freea   s   € Ø×Ò˜9Ñ%Ô%Ð%Ð%Ð%rC   c                 ó0   — |                       d¦  «         d S )Nz
meminfo.pyrO   rP   s    r*   Útest_meminfozTestExampleScripts.test_meminfod   ó   € Ø×Ò˜<Ñ(Ô(Ð(Ð(Ð(rC   c                 ón   — |                       dt          t          j        ¦   «         ¦  «        ¦  «         d S )Nzprocinfo.py©r+   r"   r   ÚgetpidrP   s    r*   Útest_procinfoz TestExampleScripts.test_procinfog   s,   € Ø×Ò˜=­#­b¬i©k¬kÑ*:Ô*:Ñ;Ô;Ð;Ð;Ð;rC   zno usersc                 ó0   — |                       d¦  «         d S )Nzwho.pyrO   rP   s    r*   Útest_whozTestExampleScripts.test_whoj   s   € à×Ò˜8Ñ$Ô$Ð$Ð$Ð$rC   c                 ó0   — |                       d¦  «         d S )Nzps.pyrO   rP   s    r*   Útest_pszTestExampleScripts.test_psn   s   € Ø×Ò˜7Ñ#Ô#Ð#Ð#Ð#rC   c                 ó0   — |                       d¦  «         d S )Nz	pstree.pyrO   rP   s    r*   Útest_pstreezTestExampleScripts.test_pstreeq   ó   € Ø×Ò˜;Ñ'Ô'Ð'Ð'Ð'rC   c                 ó0   — |                       d¦  «         d S )Nz
netstat.pyrO   rP   s    r*   Útest_netstatzTestExampleScripts.test_netstatt   rV   rC   c                 ó0   — |                       d¦  «         d S )Nzifconfig.pyrO   rP   s    r*   Útest_ifconfigz TestExampleScripts.test_ifconfigw   s   € Ø×Ò˜=Ñ)Ô)Ð)Ð)Ð)rC   únot supportedc                 ón   — |                       dt          t          j        ¦   «         ¦  «        ¦  «         d S )Nzpmap.pyrX   rP   s    r*   Ú	test_pmapzTestExampleScripts.test_pmapz   s,   € à×Ò˜9¥c­"¬)©+¬+Ñ&6Ô&6Ñ7Ô7Ð7Ð7Ð7rC   c                 ó°   — dt          j        ¦   «                              ¦   «         j        vrt	          j        d¦  «        ‚|                      d¦  «         d S )NÚussrf   zprocsmem.py)r   ÚProcessÚmemory_full_infoÚ_fieldsÚpytestÚskipr+   rP   s    r*   Útest_procsmemz TestExampleScripts.test_procsmem~   sN   € Ø�œÑ(Ô(×9Ò9Ñ;Ô;ÔCÐCÐCÝ”+˜oÑ.Ô.Ð.Ø×Ò˜=Ñ)Ô)Ð)Ð)Ð)rC   c                 ó0   — |                       d¦  «         d S )Nz
killall.py©r6   rP   s    r*   Útest_killallzTestExampleScripts.test_killallƒ   rV   rC   c                 ó0   — |                       d¦  «         d S )Nz	nettop.pyrr   rP   s    r*   Útest_nettopzTestExampleScripts.test_nettop†   ra   rC   c                 ó0   — |                       d¦  «         d S )Nztop.pyrr   rP   s    r*   Útest_topzTestExampleScripts.test_top‰   s   € Ø×Ò˜8Ñ$Ô$Ð$Ð$Ð$rC   c                 ó0   — |                       d¦  «         d S )Nziotop.pyrr   rP   s    r*   Ú
test_iotopzTestExampleScripts.test_iotopŒ   s   € Ø×Ò˜:Ñ&Ô&Ð&Ð&Ð&rC   c                 óÀ   — |                       dt          j        ¦   «                              ¦   «         ¦  «        }t	          t          j        ¦   «         ¦  «        |v sJ ‚d S )Nzpidof.py)r+   r   rk   rA   r"   r   rY   )r?   Úoutputs     r*   Ú
test_pidofzTestExampleScripts.test_pidof�   sP   € Ø×#Ò# Jµ´Ñ0@Ô0@×0EÒ0EÑ0GÔ0GÑHÔHˆÝ•2”9‘;”;ÑÔ 6Ð)Ð)Ð)Ð)Ð)Ð)rC   zWINDOWS onlyc                 ó0   — |                       d¦  «         d S )Nzwinservices.pyrO   rP   s    r*   Útest_winservicesz#TestExampleScripts.test_winservices“   s   € à×ÒÐ+Ñ,Ô,Ð,Ð,Ð,rC   c                 ó0   — |                       d¦  «         d S )Nzcpu_distribution.pyrr   rP   s    r*   Útest_cpu_distributionz(TestExampleScripts.test_cpu_distribution—   s   € Ø×ÒÐ0Ñ1Ô1Ð1Ð1Ð1rC   c                 ó~   — t          j        ¦   «         st          j        d¦  «        ‚|                      d¦  «         d S )Nzno temperaturesztemperatures.py)r   Úsensors_temperaturesrn   ro   r+   rP   s    r*   Útest_temperaturesz$TestExampleScripts.test_temperaturesš   s?   € åÔ*Ñ,Ô,ð 	1Ý”+Ð/Ñ0Ô0Ð0Ø×ÒÐ,Ñ-Ô-Ð-Ð-Ð-rC   c                 ó~   — t          j        ¦   «         st          j        d¦  «        ‚|                      d¦  «         d S )Nzno fanszfans.py)r   Úsensors_fansrn   ro   r+   rP   s    r*   Ú	test_fanszTestExampleScripts.test_fans    s=   € åÔ"Ñ$Ô$ð 	)Ý”+˜iÑ(Ô(Ð(Ø×Ò˜9Ñ%Ô%Ð%Ð%Ð%rC   z
no batteryc                 ó0   — |                       d¦  «         d S )Nz
battery.pyrO   rP   s    r*   Útest_batteryzTestExampleScripts.test_battery¦   ó   € ð 	×Ò˜<Ñ(Ô(Ð(Ð(Ð(rC   c                 ó0   — |                       d¦  «         d S )Nz
sensors.pyrO   rP   s    r*   Útest_sensorszTestExampleScripts.test_sensors«   r‰   rC   N)+Ú__name__Ú
__module__Ú__qualname__Ústaticmethodr+   r6   rB   rn   ÚmarkÚskipifr   rM   rQ   rS   rU   rZ   r   r   Úusersr\   r^   r`   rc   re   r   rh   rp   rs   ru   rw   ry   r|   r   r~   r€   r
   rƒ   r	   r†   r   r   rˆ   r‹   © rC   r*   r   r   ,   s6  € € € € € ð
 ðð ñ „\ðð  ðð ñ „\ðð
ð 
ð 
ð „[×Ò˜E˜	¨,ÐÑ7Ô7ðGð Gñ 8Ô7ðGð,ð ,ð ,ð&ð &ð &ð)ð )ð )ð<ð <ð <ð „[×Ò˜
Ð9¨<¨6¬<©>¬>Ð'9À*ÐÑMÔMð%ð %ñ NÔMð%ð$ð $ð $ð(ð (ð (ð)ð )ð )ð*ð *ð *ð „[×Ò˜OÐ+°OÐÑDÔDð8ð 8ñ EÔDð8ð*ð *ð *ð
)ð )ð )ð(ð (ð (ð%ð %ð %ð'ð 'ð 'ð*ð *ð *ð „[×Ò˜G˜¨NÐÑ;Ô;ð-ð -ñ <Ô;ð-ð2ð 2ð 2ð „[×ÒÐ4Ð4¸_ÐÑMÔMð.ð .ñ NÔMð.ð
 „[×ÒÐ,Ð,°_ÐÑEÔEð&ð &ñ FÔEð&ð
 „[×ÒÐ/Ð/¸ÐÑHÔHØ„[×Ò˜K˜°ÐÑ=Ô=ð)ð )ñ >Ô=ñ IÔHð)ð „[×ÒÐ/Ð/¸ÐÑHÔHØ„[×Ò˜K˜°ÐÑ=Ô=ð)ð )ñ >Ô=ñ IÔHð)ð )ð )rC   r   z&can't find scripts/internal/ directoryc                   ót   — e Zd Zed„ ¦   «         Zd„ Zej                             e	d¬¦  «        d„ ¦   «         Z
dS )ÚTestInternalScriptsc               #   óº   K  — t          j        t          ¦  «        D ]>} |                      d¦  «        r't           j                             t          | ¦  «        V — Œ?d S )Nr8   )r   r;   ÚINTERNAL_SCRIPTS_DIRr<   r   r   )rA   s    r*   ÚlszTestInternalScripts.ls»   s\   è è € å”JÕ3Ñ4Ô4ð 	?ð 	?ˆDØ�}Š}˜UÑ#Ô#ð ?Ý”g—l’lÕ#7¸Ñ>Ô>Ð>Ð>Ð>øð	?ð 	?rC   c                 óÖ   — |                       ¦   «         D ]S}t          |d¬¦  «        5 }|                     ¦   «         }d d d ¦  «         n# 1 swxY w Y   t          j        |¦  «         ŒTd S r-   )r˜   r0   r1   r2   r3   )r?   r   r4   Údatas       r*   Útest_syntax_allz#TestInternalScripts.test_syntax_allÁ   s¤   € Ø—G’G‘I”Ið 	ð 	ˆDÝ�d VÐ,Ñ,Ô,ð  °Ø—v’v‘x”x�ð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  åŒI�d‰OŒOˆOˆOð	ð 	s   ¨A	Á	A	ÁA	z	not on CIr   c                 ót   — |                       ¦   «         D ]"}	 t          |¦  «         Œ# t          $ r Y Œw xY wd S ©N)r˜   r   Ú
SystemExit)r?   r   s     r*   Útest_import_allz#TestInternalScripts.test_import_allÇ   sY   € à—G’G‘I”Ið 	ð 	ˆDðÝ% dÑ+Ô+Ð+Ð+øÝð ð ð Ø�ðøøøð	ð 	s   ˜(¨
5´5N)rŒ   r�   rŽ   r�   r˜   r›   rn   r�   r‘   r   rŸ   r“   rC   r*   r•   r•   ¶   so   € € € € € ð
 ð?ð ?ñ „\ð?ð
ð ð ð „[×Ò˜
¨;ÐÑ7Ô7ðð ñ 8Ô7ðð ð rC   r•   zcan't find setup.pyc                   ó|   — e Zd Zd„ Zej                              ej        d¦  «         d¬¦  «        d„ ¦   «         Z	dS )ÚTestSetupScriptc                 ó   — t          t          ¦  «        }t          j        t          ¦  «        5  |                     ¦   «          d d d ¦  «         n# 1 swxY w Y   |                     ¦   «         t          j        k    sJ ‚d S r�   )	r   ÚSETUP_PYrn   Úraisesrž   ÚsetupÚget_versionr   Ú__version__)r?   Úmodules     r*   Útest_invocationzTestSetupScript.test_invocationÙ   s§   € Ý&¥xÑ0Ô0ˆÝŒ]�:Ñ&Ô&ð 	ð 	Ø�LŠL‰NŒNˆNð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à×!Ò!Ñ#Ô#¥vÔ'9Ò9Ð9Ð9Ð9Ð9Ð9s   ®AÁAÁAú	python2.7zpython2.7 not installedr   c                 ó  — t          j        t          j        d¦  «        t          gt           j        t           j        d¬¦  «        }|                     ¦   «         \  }}|                     ¦   «         dk    sJ ‚|rJ ‚d|v sJ ‚d|v sJ ‚d S )Nrª   T)ÚstdoutÚstderrÚuniversal_newlinesé   z$psutil no longer supports Python 2.7z'Latest version supporting Python 2.7 is)Ú
subprocessÚPopenÚshutilÚwhichr£   ÚPIPEÚcommunicateÚwait)r?   Úpr¬   r­   s       r*   Útest_python2zTestSetupScript.test_python2ß   s–   € õ ÔÝŒ\˜+Ñ&Ô&­Ð1Ý”?Ý”?Ø#ð	
ñ 
ô 
ˆð Ÿš™œ‰ˆ�Ø�vŠv‰xŒx˜1Š}ˆ}ˆ}ˆ}ØÐÐÐØ5¸Ð?Ð?Ð?Ð?Ø8¸FÐBÐBÐBÐBÐBÐBrC   N)
rŒ   r�   rŽ   r©   rn   r�   r‘   r²   r³   r¸   r“   rC   r*   r¡   r¡   Õ   sr   € € € € € ð:ð :ð :ð „[×ÒØˆFŒL˜Ñ%Ô%Ð%Ð.Gð ñ ô ðCð Cñô ðCð Cð CrC   r¡   )"Ú__doc__r2   r   r²   rF   r°   rn   r   r   r   Úpsutil.testsr   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r—   r£   r�   r‘   Úexistsr   r•   r¡   r“   rC   r*   ú<module>r¼      sõ  ðð Ð à 
€
€
€
Ø 	€	€	€	Ø €€€Ø €€€Ø Ð Ð Ð à €€€à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø #Ð #Ð #Ð #Ð #Ð #Ø $Ð $Ð $Ð $Ð $Ð $Ø (Ð (Ð (Ð (Ð (Ð (Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø )Ð )Ð )Ð )Ð )Ð )Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø #Ð #Ð #Ð #Ð #Ð #Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø !Ð !Ð !Ð !Ð !Ð !Ø $Ð $Ð $Ð $Ð $Ð $Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø .Ð .Ð .Ð .Ð .Ð .Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ð ”w—|’| K°Ñ<Ô<Ð ØŒ7�<Š<˜ *Ñ-Ô-€ð „×ÒØÐ2�r”w—~’~ kÑ2Ô2Ð2Ø*ð ñ ô ð~)ð ~)ð ~)ð ~)ð ~)˜ñ ~)ô ~)ñ	ô ð~)ðL „×ÒØÐ;�r”w—~’~Ð&:Ñ;Ô;Ð;Ø3ð ñ ô ðð ð ð ð ˜.ñ ô ñ	ô ðð6 „×ÒØÐ/�r”w—~’~ hÑ/Ô/Ð/Ð8Mð ñ ô ðCð Cð Cð Cð C�nñ Cô Cñô ðCð Cð CrC   