
    /h-                     (   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          L/var/www/html/venv/lib/python3.11/site-packages/psutil/tests/test_scripts.pyassert_stdoutz TestExampleScripts.assert_stdout1   s    %000gll;,,3 	 	CJJsOOOO	S##F##))++CC 	 	 	S))3xx		
 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    gll;,,#''' 	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## RW--d33A66eCC))GGLL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3D<"'$--*EE G"ii4(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,    =#bikk*:*:;;;;;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,    9c")++&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@0E0E0G0GHH29;;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## ?gll#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    GGII 	 	DdV,,,  vvxx                             IdOOOO	 	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    GGII 	 	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]:&& 	 	LLNNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	!!##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??#	
 
 
 vvxx1}}}}5????8FBBBBBBrC   N)
r   r   r   r   rn   r   r   r   r   r   r   rC   r*   r   r      sr        : : : [FL%%%.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<<*-- 2rw~~k222*   ~) ~) ~) ~) ~) ~) ~)	 ~)L ;rw~~&:;;;3       .  	 6 /rw~~h///8M   C C C C Cn C C C C CrC   