
    Xh-                        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j0                  j3                  ed      Zej0                  j3                  ed      Zej8                  j;                  exr ej0                  j=                  e       d       G d de             Zej8                  j;                  exr ej0                  j=                  e       d       G d de             Z ej8                  j;                  exr ej0                  j=                  e       d       G d de             Z!y)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                   v   e Zd Zed        Zed        Zd Zej                  j                  e
 d      d        Zd Zd Zd	 Zd
 Zej                  j                  exr  ej$                          d      d        Zd Zd Zd Zd Zej                  j                  e d      d        Zd Zd Zd Zd Zd Zd Zej                  j                  e  d      d        Z!d Z"ej                  j                  e# d      d        Z$ej                  j                  e% d      d        Z&ej                  j                  e' d      ej                  j                  e( d      d               Z)ej                  j                  e' d      ej                  j                  e( d      d                Z*y!)"TestExampleScriptsc                 `   |j                  dt               t        j                  j	                  t
        |       } t        | g}|D ]  }|j                  |        	 t        |fi |j                         }|sJ |       |S # t        $ r#}dt        |      v rt        |      cY d }~S  d }~ww xY w)NenvAccessDenied)
setdefaultr   ospathjoinr   r   appendr   stripRuntimeErrorstr)exeargskwargscmdargouterrs          e/var/www/html/cjf29f/d23bf782/d32178f2/venv/lib/python3.12/site-packages/psutil/tests/test_scripts.pyassert_stdoutz TestExampleScripts.assert_stdout1   s    %0ggll;,3 	CJJsO		S#F#))+C Cs
  	S)3x		s$   B 	B-
B(!B-'B((B-c                     t         j                  j                  t        |       } t	        | d      5 }|j                         }d d d        t        j                         y # 1 sw Y   xY wNutf8)encoding)r   r   r   r   openreadastparse)r#   fsrcs      r*   assert_syntaxz TestExampleScripts.assert_syntaxB   sM    ggll;,#' 	1&&(C			#	 	s   A!!A*c                 6   t        |       }t        j                  t              D ]r  }|j	                  d      sdt        j
                  j                  |      d   z   |vs=| j                  dt        j
                  j                  t        |      d       y )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	JJ{+ 	D}}U#RWW--d3A66eC))GGLLd;>gG 		    z
POSIX onlyr   c                 P   t        j                  t              D ]  \  }}}|D ]  }|j                  d      st         j                  j                  ||      }t        j                  t        j                  |      t        j                     z  rm| j                  |d        y )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 	GD$ G=='77<<d3D<<"''$-*EE"ii4(2D(EFF	G	GrC   c                 &    | j                  d       y )Nzdisk_usage.pyr+   r?   s    r*   test_disk_usagez"TestExampleScripts.test_disk_usage^   s    ?+rC   c                 &    | j                  d       y )Nzfree.pyrO   rP   s    r*   	test_freezTestExampleScripts.test_freea   s    9%rC   c                 &    | j                  d       y )Nz
meminfo.pyrO   rP   s    r*   test_meminfozTestExampleScripts.test_meminfod       <(rC   c                 ^    | j                  dt        t        j                                      y )Nzprocinfo.pyr+   r"   r   getpidrP   s    r*   test_procinfoz TestExampleScripts.test_procinfog   s    =#biik*:;rC   zno usersc                 &    | j                  d       y )Nzwho.pyrO   rP   s    r*   test_whozTestExampleScripts.test_whoj   s    8$rC   c                 &    | j                  d       y )Nzps.pyrO   rP   s    r*   test_pszTestExampleScripts.test_psn   s    7#rC   c                 &    | j                  d       y )Nz	pstree.pyrO   rP   s    r*   test_pstreezTestExampleScripts.test_pstreeq       ;'rC   c                 &    | j                  d       y )Nz
netstat.pyrO   rP   s    r*   test_netstatzTestExampleScripts.test_netstatt   rV   rC   c                 &    | j                  d       y )Nzifconfig.pyrO   rP   s    r*   test_ifconfigz TestExampleScripts.test_ifconfigw   s    =)rC   not supportedc                 ^    | j                  dt        t        j                                      y )Nzpmap.pyrX   rP   s    r*   	test_pmapzTestExampleScripts.test_pmapz   s    9c"))+&67rC   c                     dt        j                         j                         j                  vrt	        j
                  d      | j                  d       y )Nussrf   zprocsmem.py)r   Processmemory_full_info_fieldspytestskipr+   rP   s    r*   test_procsmemz TestExampleScripts.test_procsmem~   s=    (99;CCC++o..=)rC   c                 &    | j                  d       y )Nz
killall.pyr6   rP   s    r*   test_killallzTestExampleScripts.test_killall   rV   rC   c                 &    | j                  d       y )Nz	nettop.pyrr   rP   s    r*   test_nettopzTestExampleScripts.test_nettop   ra   rC   c                 &    | j                  d       y )Nztop.pyrr   rP   s    r*   test_topzTestExampleScripts.test_top   s    8$rC   c                 &    | j                  d       y )Nziotop.pyrr   rP   s    r*   
test_iotopzTestExampleScripts.test_iotop   s    :&rC   c                     | j                  dt        j                         j                               }t	        t        j                               |v sJ y )Nzpidof.py)r+   r   rk   rA   r"   r   rY   )r?   outputs     r*   
test_pidofzTestExampleScripts.test_pidof   s=    ##J0@0E0E0GH299;6)))rC   zWINDOWS onlyc                 &    | j                  d       y )Nzwinservices.pyrO   rP   s    r*   test_winservicesz#TestExampleScripts.test_winservices   s    +,rC   c                 &    | j                  d       y )Nzcpu_distribution.pyrr   rP   s    r*   test_cpu_distributionz(TestExampleScripts.test_cpu_distribution   s    01rC   c                 x    t        j                         st        j                  d      | j	                  d       y )Nzno temperaturesztemperatures.py)r   sensors_temperaturesrn   ro   r+   rP   s    r*   test_temperaturesz$TestExampleScripts.test_temperatures   s-    **,++/00,-rC   c                 x    t        j                         st        j                  d      | j	                  d       y )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                 &    | j                  d       y )Nz
battery.pyrO   rP   s    r*   test_batteryzTestExampleScripts.test_battery        	<(rC   c                 &    | j                  d       y )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   ,   s%   
     
 [[E	,7G 8G,&)< [[
9<6<<>'9*M% N%$()* [[O+OD8 E8*
)(%'* [[GN;- <-2 [[44_M. N.
 [[,,_E& F&
 [[//H[[K=) > I) [[//H[[K=) > I)rC   r   z&can't find scripts/internal/ directoryc                   h    e Zd Zed        Zd Zej                  j                  e	d      d        Z
y)TestInternalScriptsc               #      K   t        j                  t              D ]:  } | j                  d      st         j                  j                  t        |        < y w)Nr8   )r   r;   INTERNAL_SCRIPTS_DIRr<   r   r   )rA   s    r*   lszTestInternalScripts.ls   sA     JJ34 	?D}}U#ggll#7>>	?s
   .A)Ac                     | j                         D ]=  }t        |d      5 }|j                         }d d d        t        j                         ? y # 1 sw Y   !xY wr-   )r   r0   r1   r2   r3   )r?   r   r4   datas       r*   test_syntax_allz#TestInternalScripts.test_syntax_all   sN    GGI 	DdV,  vvx IIdO	   s   AA	z	not on CIr   c                 d    | j                         D ]  }	 t        |        y # t        $ r Y w xY wN)r   r   
SystemExit)r?   r   s     r*   test_import_allz#TestInternalScripts.test_import_all   s8    GGI 	D%d+	  s   #	//N)r   r   r   r   r   r   rn   r   r   r   r   r   rC   r*   r   r      sC    
 ? ?
 [[
;7 8rC   r   zcan't find setup.pyc                   z    e Zd Zd Zej
                  j                   ej                  d       d      d        Z	y)TestSetupScriptc                     t        t              }t        j                  t              5  |j                          d d d        |j                         t        j                  k(  sJ y # 1 sw Y   -xY wr   )	r   SETUP_PYrn   raisesr   setupget_versionr   __version__)r?   modules     r*   test_invocationzTestSetupScript.test_invocation   sS    &x0]]:& 	LLN	!!#v'9'9999	 	s   A&&A/	python2.7zpython2.7 not installedr   c                    t        j                  t        j                  d      t        gt         j
                  t         j
                  d      }|j                         \  }}|j                         dk(  sJ |rJ d|v sJ d|v sJ y )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????#	
 vvx1}}z5???8FBBBrC   N)
r   r   r   r   rn   r   r   r   r   r   r   rC   r*   r   r      sE    : [[FLL%%.G  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 # ' ! $ ' .   ww||K< 77<<*- 2rww~~k22*  ~) ~)	~)L ;rww~~&:;;3  . 	6 /rww~~h//8M  Cn CCrC   