[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@3.140.185.250: ~ $


Cs[���@s�dZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
mZddl
mZddl
m
Z
ddlmZddlmZddlmZdd	lmZdd
lmZddlmZddlmZdd
lmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlm 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.dd$lm/Z/dd%lm0Z0dd&lm1Z1dd'lm2Z2dd(lm3Z3dd)lm4Z4dd*lm5Z5dd+lm6Z6dd,lm7Z7dd-lm8Z8dd.lm9Z9dd/lm:Z:dd0lm;Z;dd1lm<Z<dd2lm=Z=ddl
Z
ddlZ
Gd3d4�d4e9j>�Z?ej@d5d6�ZAGd7d8�d8e9j>�ZBe9jCe7d9�e9jCe8o�ejDjEe3�d:�Gd;d<�d<e9j>���ZFGd=d>�d>e9j>�ZGGd?d@�d@e9j>�ZHGdAdB�dBe9j>�ZIGdCdD�dDe9j>�ZJGdEdF�dFe9j>�ZKGdGdH�dHe9j>�ZLeMdIkr�e0eN�dS)Jz
Miscellaneous tests.
�N)�LINUX)�POSIX)�WINDOWS)�memoize)�memoize_when_activated)�
supports_ipv6)�wrap_numbers)�PY3)�APPVEYOR)�bind_socket)�bind_unix_socket)�
call_until)�chdir)�create_proc_children_pair)�create_sockets)�create_zombie_proc)�DEVNULL)�
get_free_port)�get_test_subprocess)�HAS_BATTERY)�HAS_CONNECTIONS_UNIX)�HAS_MEMORY_FULL_INFO)�HAS_MEMORY_MAPS)�HAS_SENSORS_BATTERY)�HAS_SENSORS_FANS)�HAS_SENSORS_TEMPERATURES)�import_module_by_path)�
is_namedtuple)�mock)�
PYTHON_EXE)�
reap_children)�
reload_module)�retry)�ROOT_DIR)�run_test_module_by_name)�
safe_mkdir)�safe_rmpath)�SCRIPTS_DIR)�sh)�tcp_socketpair)�TESTFN)�TOX)�TRAVIS)�unittest)�unix_socket_path)�unix_socketpair)�
wait_for_file)�wait_for_pidc@seZdZedd�Zdd�Zedd�Zedd�Zed	d
�Zedd�Z	d
d�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)S)*�TestMisccCs�tj�}||�}|jd|�|jd|j|�|jd|�|j|j�|�tjjtjddtjt	j
����Ttj�}||�}|jd|j|�|jd|�|jd|�WdQRXtjjtjddtjt	j
����Ttj�}||�}|jd|j|�|jd|�|jd|�WdQRXtjjtjddtj
t	j
����Dtj�}||�}|jd|j|�|jd|�WdQRXdS)Nzpsutil.Processzpid=%szname=�name�side_effectZzombieZ
terminated)�psutil�Process�assertIn�pidr3r�patch�object�
ZombieProcess�os�getpid�assertNotIn�
NoSuchProcess�AccessDenied)�self�func�p�r�rE�
/test_misc.py�test_process__repr__Qs4zTestMisc.test_process__repr__cCs|jdt�dS)NrB)rG�str)rArErErF�test_process__str__mszTestMisc.test_process__str__cCsm|jttjd��d�|jttjddd��d�|jttjddd��d�dS)NiAz7psutil.NoSuchProcess process no longer exists (pid=321)r3�foozCpsutil.NoSuchProcess process no longer exists (pid=321, name='foo')�msgzpsutil.NoSuchProcess foo)�assertEqual�reprr5r?)rArBrErErF�test_no_such_process__repr__psz%TestMisc.test_no_such_process__repr__cCs�|jttjd��d�|jttjddd��d�|jttjddddd��d�|jttjdd	d��d
�dS)NiAzEpsutil.ZombieProcess process still exists but it's a zombie (pid=321)r3rJzQpsutil.ZombieProcess process still exists but it's a zombie (pid=321, name='foo')�ppid�zYpsutil.ZombieProcess process still exists but it's a zombie (pid=321, name='foo', ppid=1)rKzpsutil.ZombieProcess foo)rLrMr5r;)rArBrErErF�test_zombie_process__repr__|sz$TestMisc.test_zombie_process__repr__cCsm|jttjd��d�|jttjddd��d�|jttjddd��d�dS)NiAzpsutil.AccessDenied (pid=321)r3rJz)psutil.AccessDenied (pid=321, name='foo')rKzpsutil.AccessDenied foo)rLrMr5r@)rArBrErErF�test_access_denied__repr__�sz#TestMisc.test_access_denied__repr__cCss|jttjd��d�|jttjddd��d�|jttjddddd��d�dS)	NiAz/psutil.TimeoutExpired timeout after 321 secondsr8�oz9psutil.TimeoutExpired timeout after 321 seconds (pid=111)r3rJzEpsutil.TimeoutExpired timeout after 321 seconds (pid=111, name='foo'))rLrMr5�TimeoutExpired)rArBrErErF�test_timeout_expired__repr__�sz%TestMisc.test_timeout_expired__repr__cCsUtj�}tj�}|j||�d|_|j||�|j|d�dS)NrrJ)rr)r5r6rL�_ident�assertNotEqual)rA�p1�p2rErErF�test_process__eq__�s	zTestMisc.test_process__eq__cCs8ttj�tj�g�}|jt|�d�dS)NrP)�setr5r6rL�len)rA�srErErF�test_process__hash__�szTestMisc.test_process__hash__cCs�tt�}x�|D]�}|d
kr(q|jd
�syt|�Wqtk
r�|tjkr�tt|�}|dkr�w|jdk	r�d|jj�kr�|j	d|�YqXqWx!tjD]}|j
||�q�WdS)N�callable�error�
namedtuple�tests�long�test�NUM_CPUS�	BOOT_TIME�TOTAL_PHYMEM�_Z
deprecatedz%r not in psutil.__all__)	r_r`rarbrcrdrerfrg)�dirr5�
startswith�
__import__�ImportError�__all__�getattr�__doc__�lower�failr7)rAZ
dir_psutilr3ZfunrErErF�test__all__�s&
	
zTestMisc.test__all__cCs0|jdjdd�tjD��tj�dS)N�.cSsg|]}t|��qSrE)rH)�.0�xrErErF�
<listcomp>�s	z)TestMisc.test_version.<locals>.<listcomp>)rL�joinr5�version_info�__version__)rArErErF�test_version�s"zTestMisc.test_versioncCs/tj�}d|_|jd|j��dS)N�1rJ)r5r6rJr>�as_dict)rArCrErErF�!test_process_as_dict_no_new_names�s	z*TestMisc.test_process_as_dict_no_new_namescs�t�fdd��}g�xOtd�D]A}|�}fif}|j||�|jt��d�q+WxRtd�D]D}|d�}d	if}|j||�|jt��d�q}Wx^td�D]P}|ddd�}d
ddif}|j||�|jt��d�q�W|j�|�}fif}|j||�|jt��d�|j|jd�dS)Ncs�jd�||fS)z
foo docstringN)�append)�args�kwargs)�callsrErFrJ�s
z"TestMisc.test_memoize.<locals>.foo�rPZbar��z
foo docstring)rP)rP)r�rangerLr\�cache_clearro)rArJru�retZexpectedrE)r�rF�test_memoize�s.	
	zTestMisc.test_memoizecs�G�fdd�d�}|�}g�|j�|j�|jt��d�g�|jj�|j�|j�|jt��d�g�|jj�|j�|j�|jt��d�dS)Ncs(eZdZe�fdd��ZdS)z1TestMisc.test_memoize_when_activated.<locals>.Foocs�jd�dS)N)r~)rA)r�rErFrJ�sz5TestMisc.test_memoize_when_activated.<locals>.Foo.fooN)�__name__�
__module__�__qualname__rrJrE)r�rErF�Foo�sr�r�rP)rJrLr\Zcache_activateZcache_deactivate)rAr��frE)r�rF�test_memoize_when_activated�s 	







z$TestMisc.test_memoize_when_activatedcCs2ddlm}dd�}|j|d�|d�di�|j|d�|d�d|d	�d
i�|j|d�|d�d|d	�di�|j|d
�|d�d|d	�d
i�|j|d�|d�di�|j|d�|d�di�|j|d�|d�di�dS)Nr)�parse_environ_blockcSstr|j�S|S)N)r�upper)r]rErErF�ksz,TestMisc.test_parse_environ_block.<locals>.kza=1�ar{z	a=1b=2�b�2za=1b=�z
a=1b=2c=3zxxxa=1z	a=1=b=2za=1b=2)�psutil._commonr�rL)rAr�r�rErErF�test_parse_environ_blocks""z!TestMisc.test_parse_environ_blockcCs�|jtj�t�rMtjd��*}d|_tj�t�sNt�WdQRXtj�tjddtj��&}t�s�t�|j	s�t�WdQRXtj�tjddtj
��0}t�s�t�tj�|j	s�t�WdQRXtj�tjddtj
��0}t�s*t�tj�|j	sCt�WdQRXn<|jt��*tjtj
tj�}|jd�WdQRXdS)	Nzpsutil._common.socketFzpsutil._common.socket.socketr4z!psutil._common.socket.socket.bind�::1r)r�r)�
addCleanuprr�rr9�has_ipv6�AssertionError�socketr`�called�gaierror�assertRaises�	Exception�AF_INET6�SOCK_STREAM�bind)rAr]�sockrErErF�test_supports_ipv6's4		





zTestMisc.test_supports_ipv6cCs;ddlm}tjjt�}||�s4t�|tjj|��sSt�tj	ddt
tjd���|j
t
||�WdQRXtj	ddt
tjd���|j
t
||�WdQRXtj	ddt
tjd���||�st�WdQRXtj	ddd��||�s0t�WdQRXdS)	Nr)�
isfile_strictzpsutil._common.os.statr4rJzpsutil._common.stat.S_ISREG�return_valueF)r�r�r<�path�abspath�__file__r��dirnamerr9�OSError�errno�EPERMr�ZEACCES�EINVAL)rAr�Z	this_filerErErF�test_isfile_strictGszTestMisc.test_isfile_strictcs��fdd�}|tj�j��|tj��|tj��|tj��|tjdd��|tj��tr�t	j
jd�r�nts�|tj
��|tj��|tjt	j���|tj��dS)NcsTtdk	r"tjtj|��tj|�}tj|�}�j||�dS)N)�json�loads�dumps�picklerL)r�r�r�)rArErF�checkYs
z*TestMisc.test_serialization.<locals>.check�intervalrz/proc/diskstats)r5r6r|Zvirtual_memoryZswap_memoryZ	cpu_timesZcpu_times_percent�net_io_countersrr<r��existsr
�disk_io_countersZdisk_partitions�
disk_usage�getcwd�users)rAr�rE)rArF�test_serializationXszTestMisc.test_serializationcCswtjjtd�}tr;tjj|�r;|jd�St|�}|jt	|j
�|j|j�t
j�dS)Nzsetup.pyzcan't find setup.py)r<r�rwr#r,r�ZskipTestrr��
SystemExitZsetuprLZget_versionr5ry)rAZsetup_py�modulerErErF�test_setup_scriptos
zTestMisc.test_setup_scriptcCs�tjjtjddtj�� }tj�|js=t�WdQRXtjjtjddtjd��� }tj�|js�t�WdQRXtjjtjddt	��7}|j
t	��tj�WdQRX|js�t�WdQRXdS)NZcreate_timer4rP)rr9r:r5r6r@r�r�r;�
ValueErrorr�)rA�methrErErF�test_ad_on_process_creationws

z$TestMisc.test_ad_on_process_creationcCsctjddd��G|jt��}tt�WdQRX|jdt|j�j	��WdQRXdS)Nzpsutil._psplatform.cext.versionr�z0.0.0zversion conflict)
rr9r�rlr!r5r7rH�	exceptionrp)rA�cmrErErF�test_sanity_version_check�s
z"TestMisc.test_sanity_version_checkN)r�r�r�rMrGrIrNrQrRrUrZr^rrrzr}r�r�r�r�r�r�r�r�r�rErErErFr2Os(# r2rJza b cc@s�eZdZdd�ZeZdd�Zdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zejej�p�ej�d�dd��ZdS)�TestWrapNumberscCstj�dS)N)rr�)rArErErF�setUp�szTestWrapNumbers.setUpcCs5dtddd�i}|jt|d�|�dS)N�disk1��disk_io)�ntrLr)rA�inputrErErF�test_first_call�szTestWrapNumbers.test_first_callcCsNdtddd�i}|jt|d�|�|jt|d�|�dS)Nr�r�r�)r�rLr)rAr�rErErF�test_input_hasnt_changed�sz(TestWrapNumbers.test_input_hasnt_changedcCs�dtddd�i}|jt|d�|�dtddd�i}|jt|d�|�dtddd�i}|jt|d�|�dtddd�i}|jt|d�|�dS)	Nr�r�r��
����)r�rLr)rAr�rErErF�test_increase_but_no_wrap�sz)TestWrapNumbers.test_increase_but_no_wrapcCsMdtddd�i}|jt|d�|�dtddd�i}|jt|d�dtddd�i�dtddd�i}|jt|d�dtddd�i�dtddd�i}|jt|d�dtddd�i�dtddd�i}|jt|d�dtddd	�i�dtddd�i}|jt|d�dtddd	�i�dtd
dd�i}|jt|d�dtddd	�i�dtddd�i}|jt|d�dtddd	�i�dtddd�i}|jt|d�dtddd	�i�dS)
Nr��dr�r��n�Z�r����2��()r�rLr)rAr�rErErF�	test_wrap�s4zTestWrapNumbers.test_wrapcCs�dtddd�i}|jt|d�|�dtddd�dtddd�i}|jt|d�|�dtddd�i}|jt|d�|�dS)Nr�r�r��disk2��)r�rLr)rAr�rErErF�test_changing_keys�sz"TestWrapNumbers.test_changing_keysc	Cs�dtddd�dtddd�i}|jt|d�|�dtddd�dtddd�i}|jt|d�dtddd�dtddd�i�dtddd�i}|jt|d�|�dtddd�dtddd�i}|jt|d�|�dtddd�dtddd�i}|jt|d�|�dtddd�dtddd�i}|jt|d�dtddd�dtddd�i�dS)Nr�r�r�r�r�r�r�)r�rLr)rAr�rErErF�test_changing_keys_w_wrap�s*z)TestWrapNumbers.test_changing_keys_w_wrapcCs�dd)dd*dd+dd,i}|jt|d&�|�|jt|d&�|�dd-dd.dd/dd0i}t|d&�}|j|ddd(�dS)1NZnvme0n1�,���#�R������ȷZ	nvme0n1p1�r��tU��rr�Z	nvme0n1p2�6��$��Nr��r���Z	nvme0n1p3�U	��"r����4����\r�r�i�)	r�r�r�r�r�r�r�r�r�)	r�r�r�r�r�rrrr�)	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�r�r�r�rrrr�)	r�r�r�r�r�r�r�r�r�)	r�r�r�r�r�r�r�r�r�)rLr)rA�d�outrErErF�test_real_dataszTestWrapNumbers.test_real_datacCs�dtddd�i}t|d�tj�}|j|dd|i�|j|ddii�|j|ddii�dS)Nr�r�r�rrPr�)r�r�
cache_inforL)rAr��cacherErErF�test_cache_first_calls
z%TestWrapNumbers.test_cache_first_callc	Cs�dtddd�i}t|d�dtddd�i}t|d�tj�}|j|dd|i�|j|ddddd	dd
dii�|j|ddii�dS)Nr�r�r�r�rrPr�)r�r)r�rP)r�r�)r�rrrL)rAr�rrErErF�test_cache_call_twices

z%TestWrapNumbers.test_cache_call_twicec	sdtddd�i}t|d�dtddd�i}t|d�tj�}�j|dd|i��j|ddd
dddddii��j|dddtdg�ii��fdd	�}dtddd�i}t|d�tj�}�j|dd|i�|�dtddd
�i}t|d�tj�}�j|dd|i�|�dtddd�i}t|d�tj�}�j|dd|i��j|ddddddddii��j|dddtdg�ii�dS)Nr�r�r�r�rrPr�c	setj�}�j|ddddddd	dii��j|dddtd
g�ii�dS)NrPr�r�rr�r�)r�r)r�rP)r�r�)r�r�)rrrLr[)r)rArErF�assert_6s
z0TestWrapNumbers.test_cache_wrap.<locals>.assert_r�r�r�)r�r)r�rP)r�r�)r�r�)r�r)r�rP)r�r�)r�r�)r�rrrLr[)rAr�rrrE)rArF�test_cache_wrap's:

)



zTestWrapNumbers.test_cache_wrapc	Cs�dtddd�i}t|d�dtddd�dtddd�i}t|d�tj�}|j|dd|i�|j|ddd	dd
dddii�|j|ddii�dS)Nr�r�r�r�r�rrPr�)r�r)r�rP)r�r�)r�rrrL)rAr�rrErErF�test_cache_changing_keysWs

z(TestWrapNumbers.test_cache_changing_keyscCs|dtddd�i}t|d�t|d�tjd�|jtj�iiif�tjd�tjd�dS)Nr�r�r�z?!?)r�rr�rLr)rAr�rErErF�test_cache_cleards



z TestWrapNumbers.test_cache_clearzno disks or NICs availablecCs�tj�tj�tj�}x.|D]&}|jd|�|jd|�q'Wtjj�tj�}x.|D]&}|jd|�|jd|�qqWtjj�tj�}|j|iiif�dS)Nzpsutil.disk_io_counterszpsutil.net_io_counters)	r5r�r�rrr7r�r>rL)rAZcachesrrErErF�test_cache_clear_public_apisms





z,TestWrapNumbers.test_cache_clear_public_apisN)r�r�r�r��tearDownr�r�r�r�r�r�rrrrrr	r-�skipIfr5r�r�r
rErErErFr��s"
%0
	r�zcan't test on TOXzcan't locate scripts directoryc@sPeZdZdZedd��Zeddd��Zdd�Zej	e
d	�d
d��Zdd
�Zdd�Z
dd�Zdd�Zej	ep�eo�ej�d�dd��Zdd�Zdd�Zdd�Zej	ed�dd��Zej	ed �d!d"��Zej	ed �d#d$��Zd%d&�Zd'd(�Zd)d*�Zd+d,�Z d-d.�Z!ej	e"d/�d0d1��Z#d2d3�Z$ej	e%d �ej	ed�d4d5���Z&ej	e'd �ej	ed�d6d7���Z(ej	e)d �ej	e*d8�d9d:���Z+d;d<�Z,dS)=�TestScriptsz-Tests for scripts in the "scripts" directory.cOs�dtjjt|�}t|g}x|D]}|j|�q,Wyt||�j�}WnDtk
r�}z$dt	|�kr�t	|�S�WYdd}~XnX|s�t
|��|S)Nz%sr@)r<r�rwr'rr~r(�strip�RuntimeErrorrHr�)�exerr��cmd�argr�errrErErF�
assert_stdout�s

zTestScripts.assert_stdoutNc	Csmtjjt|�}tr3t|ddd�}nt|d�}|�|j�}WdQRXtj|�dS)NZrt�encoding�utf8)	r<r�rwr'r	�open�read�ast�parse)rrr��srcrErErF�
assert_syntax�szTestScripts.assert_syntaxcCsyt|�}xftjt�D]U}|jd�rdtjj|�d|kr|jdtjjt|��qWdS)Nz.pyZtest_rzno test defined for %r script)	rir<�listdirr'�endswithr��splitextrqrw)rAZmethsr3rErErF�
test_coverage�s 	zTestScripts.test_coveragez
POSIX onlycCspxitjt�D]X}|jd�rtjjt|�}tjtj|�tj@s|j	d|�qWdS)Nz.pyz%r is not executable)
r<rr'rr�rw�stat�S_IXUSR�ST_MODErq)rAr3r�rErErF�test_executable�s
zTestScripts.test_executablecCs|jd�dS)Nz
disk_usage.py)r)rArErErF�test_disk_usage�szTestScripts.test_disk_usagecCs|jd�dS)Nzfree.py)r)rArErErF�	test_free�szTestScripts.test_freecCs|jd�dS)Nz
meminfo.py)r)rArErErF�test_meminfo�szTestScripts.test_meminfocCs |jdttj���dS)Nzprocinfo.py)rrHr<r=)rArErErF�
test_procinfo�szTestScripts.test_procinfoz unreliable on APPVEYOR or TRAVIScCs|jd�dS)Nzwho.py)r)rArErErF�test_who�szTestScripts.test_whocCs|jd�dS)Nzps.py)r)rArErErF�test_ps�szTestScripts.test_pscCs|jd�dS)Nz	pstree.py)r)rArErErF�test_pstree�szTestScripts.test_pstreecCs|jd�dS)Nz
netstat.py)r)rArErErF�test_netstat�szTestScripts.test_netstatzunreliable on TRAVIScCs|jd�dS)Nzifconfig.py)r)rArErErF�
test_ifconfig�szTestScripts.test_ifconfigz
not supportedcCs |jdttj���dS)Nzpmap.py)rrHr<r=)rArErErF�	test_pmap�szTestScripts.test_pmapcCs|jddt�dS)Nzprocsmem.py�stderr)rr)rArErErF�
test_procsmem�szTestScripts.test_procsmemcCs|jd�dS)Nz
killall.py)r)rArErErF�test_killall�szTestScripts.test_killallcCs|jd�dS)Nz	nettop.py)r)rArErErF�test_nettop�szTestScripts.test_nettopcCs|jd�dS)Nztop.py)r)rArErErF�test_top�szTestScripts.test_topcCs|jd�dS)Nziotop.py)r)rArErErF�
test_iotop�szTestScripts.test_iotopcCs>|jdtj�j��}|jttj��|�dS)Nzpidof.py)rr5r6r3r7rHr<r=)rA�outputrErErF�
test_pidof�szTestScripts.test_pidofzWINDOWS onlycCs|jd�dS)Nzwinservices.py)r)rArErErF�test_winservices�szTestScripts.test_winservicescCs|jd�dS)Nzcpu_distribution.py)r)rArErErF�test_cpu_distribution�sz!TestScripts.test_cpu_distributioncCs|jd�dS)Nztemperatures.py)r)rArErErF�test_temperatures�szTestScripts.test_temperaturescCs|jd�dS)Nzfans.py)r)rArErErF�	test_fansszTestScripts.test_fansz
no batterycCs|jd�dS)Nz
battery.py)r)rArErErF�test_batteryszTestScripts.test_batterycCs|jd�dS)Nz
sensors.py)r)rArErErF�test_sensors
szTestScripts.test_sensors)-r�r�r�ro�staticmethodrrr r-rrr$r%r&r'r(r
r,r5r�r)r*r+r,r-rr.rr0r1r2r3r4r6rr7r8rr9rr:rrr;r<rErErErFr
�s@

!!"r
c@s�eZdZejd�dd��Zejd�dd��Zejd�dd��Zejd�dd	��Zejd�d
d��Z	ejd�dd
��Z
dS)�TestRetryDecoratorz
time.sleepcsitdddddd��fdd��}ttd���|j|�d�|j|jd�dS)	N�retriesr�r�rP�logfuncs#x�r�j�ddqWdS)NrPr)�poprE)�queuerErFrJs	
z2TestRetryDecorator.test_retry_success.<locals>.foor�)r"�listr�rL�
call_count)rA�sleeprJrE)rBrF�test_retry_successs-z%TestRetryDecorator.test_retry_successcsftdddddd��fdd��}ttd���|jt|�|j|jd�dS)	Nr?r�r�rPr@cs#x�r�j�ddqWdS)NrPr)rArE)rBrErFrJ(s	
z2TestRetryDecorator.test_retry_failure.<locals>.foo�)r"rCr�r��ZeroDivisionErrorrLrD)rArErJrE)rBrF�test_retry_failure$s-z%TestRetryDecorator.test_retry_failurecCsHtdtdd�dd��}|jt|�|j|jd�dS)Nr�r�rPcSs
t�dS)N)�	TypeErrorrErErErFrJ5sz2TestRetryDecorator.test_exception_arg.<locals>.foor)r"r�r�rJrLrD)rArErJrErErF�test_exception_arg3s!z%TestRetryDecorator.test_exception_argcCsNtdddddd�dd��}|jt|�|j|jd�dS)Nr?r�r�r@cSsdddS)NrPrrErErErErFrJ@sz4TestRetryDecorator.test_no_interval_arg.<locals>.foor)r"r�rHrLrD)rArErJrErErF�test_no_interval_arg<s'z'TestRetryDecorator.test_no_interval_argcCsNtdddddd�dd��}|jt|�|j|jd�dS)Nr?r�r�rPr@cSsdddS)NrPrrErErErErFrJJsz0TestRetryDecorator.test_retries_arg.<locals>.foo)r"r�rHrLrD)rArErJrErErF�test_retries_argGs'z#TestRetryDecorator.test_retries_argcCs |jttdddd�dS)Nr?r��timeoutrP)r�r�r")rArErErErF�test_retries_and_timeout_argsQsz0TestRetryDecorator.test_retries_and_timeout_argsN)r�r�r�rr9rFrIrKrLrMrOrErErErFr>s	
r>c@sdeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�TestSyncTestUtilscCstt�dS)N)r&r*)rArErErFrXszTestSyncTestUtils.tearDowncCsfttj��ttj��d}tjddtdg���|j	tj
t|�WdQRXdS)Ni��zpsutil.tests.retry.__iter__r�r)r1r<r=�maxr5Zpidsrr9�iterr�r?)rAZnopidrErErF�test_wait_for_pid[sz#TestSyncTestUtils.test_wait_for_pidc	CsMttd��}|jd�WdQRXtt�tjjt�sIt�dS)N�wrJ)rr*�writer0r<r�r�r�)rAr�rErErF�test_wait_for_fileas
z$TestSyncTestUtils.test_wait_for_filecCsDttd��WdQRXttdd�tjjt�s@t�dS)NrT�emptyT)rr*r0r<r�r�r�)rArErErF�test_wait_for_file_emptygsz*TestSyncTestUtils.test_wait_for_file_emptycCs=tjddtdg���|jttt�WdQRXdS)Nzpsutil.tests.retry.__iter__r�r)rr9rRr��IOErrorr0r*)rArErErF�test_wait_for_file_no_filemsz,TestSyncTestUtils.test_wait_for_file_no_filecCsRttd��}|jd�WdQRXttdd�tjjt�sNt�dS)NrTrJ�deleteF)rr*rUr0r<r�r�r�)rAr�rErErF�test_wait_for_file_no_deleteqsz.TestSyncTestUtils.test_wait_for_file_no_deletecCs)tdd�d�}|j|d�dS)NcSsdS)NrPrErErErErF�<lambda>xsz3TestSyncTestUtils.test_call_until.<locals>.<lambda>zret == 1rP)r
rL)rAr�rErErF�test_call_untilwsz!TestSyncTestUtils.test_call_untilN)
r�r�r�rrSrVrXrZr\r^rErErErFrPVsrPc@sFeZdZdd�ZeZdd�Zdd�Zdd�Zd	S)
�TestFSTestUtilscCstt�dS)N)r&r*)rArErErFr�~szTestFSTestUtils.setUpcCsHtt�tjjt�s"t�tt�tjjt�sDt�dS)N)r%r*r<r��isdirr�)rArErErF�test_safe_mkdir�s

zTestFSTestUtils.test_safe_mkdircCs�ttd�j�tt�tjjt�s6t�tt�tjt�tt�tjjt�spt�t	j
ddttj
d���7}|jt��tt�WdQRX|js�t�WdQRXdS)NrTzpsutil.tests.os.statr4r�)rr*�closer&r<r�r�r��mkdirrr9r�r�r�r�r�)rA�mrErErF�test_safe_rmpath�s



z TestFSTestUtils.test_safe_rmpathcCsltj�}tjt�tt��*|jtj�tjj|t��WdQRX|jtj�|�dS)N)r<r�rcr*rrLr�rw)rA�baserErErF�
test_chdir�s


,zTestFSTestUtils.test_chdirN)r�r�r�r�rrarergrErErErFr_|s
r_c@sGeZdZdd�Zdd�Zejed�dd��ZdS)	�TestProcessUtilscCsqt�}tj|j�}|j�s-t�t�|j�sGt�tjjsZt�tjj	smt�dS)N)
rr5r6r8�
is_runningr�r rb�
_pids_started�_subprocesses_started)rAZsubprCrErErF�test_reap_children�s	z#TestProcessUtils.test_reap_childrencCs#t�\}}|j|j|j�|j�s7t�|j�sIt�tj�jdd�}|jt	|�d�|j
||�|j
||�|j|j�tj
��|j|j�|j�t�|j�s�t�|j�s�t�tjjst�tjjst�dS)N�	recursiveTr�)rrWr8rir�r5r6�childrenrLr\r7rOr<r=r rbrjrk)rArXrYrnrErErF�test_create_proc_children_pair�sz/TestProcessUtils.test_create_proc_children_pairz
POSIX onlycCsHt�}|jtdd�tj|�}|j|j�tj�dS)NrmT)rr�r r5r6rL�statusZ
STATUS_ZOMBIE)rAZzpidrCrErErF�test_create_zombie_proc�s	z(TestProcessUtils.test_create_zombie_procN)	r�r�r�rlror-rrrqrErErErFrh�s	rhc@sreZdZdd�Zejed�dd��Zdd�Zejed�dd	��Z	d
d�Z
dS)
�TestNetUtilsc
CsOt�}tjtdd|f���!}|j|j�d|�WdQRXdS)N�addrr�rP)r�
contextlib�closingrrL�getsockname)rA�portr]rErErFr�s	!zTestNetUtils.bind_socketz
POSIX onlycCs
t���}t|�}tj|���|j|jtj�|j|jtj	�|j|j
�|�tjj
|�s�t�tjtj|�j�s�t�WdQRXWdQRXt��I}t|dtj�}tj|��|j|jtj�WdQRXWdQRXdS)N�type)r.rrtrurL�familyr��AF_UNIXrxr�rvr<r�r�r�r!�S_ISSOCK�st_mode�
SOCK_DGRAM)rAr3r�rErErF�test_bind_unix_socket�s/z"TestNetUtils.test_bind_unix_socketcCs�dt�f}ttjd|�\}}tj|��^tj|��G|j|j�|�|j|j�|�|j	|j�|�WdQRXWdQRXdS)Nz	127.0.0.1rs)
rr)r��AF_INETrtrurLrv�getpeernamerW)rArs�server�clientrErErF�tcp_tcp_socketpair�szTestNetUtils.tcp_tcp_socketpaircCstj�}|j�}|jdd�s1t�t���}t|�\}}z�tjj	|�sjt�t
jtj
|�j�s�t�|j
|j�|d�|j
t|jdd��d�|j
|j�|�|j
|j�|�Wd|j�|j�XWdQRXdS)N�kindZunixr�)r5r6�num_fdsZconnectionsr�r.r/r<r�r�r!r{r|rLr\rvr�rb)rArCr�r3r�r�rErErF�test_unix_socketpair�s!"
z!TestNetUtils.test_unix_socketpaircCs�t���}tjt�}tjt�}x?|D]7}||jd7<||jtjtj�d7<q1W|j	|tj
d�t�r�|j	|tjd�t
r�tr�|j	|tjd�|j	|tjd�|j	|tjd�WdQRXdS)NrPr�)r�collections�defaultdict�intry�
getsockoptr��
SOL_SOCKET�SO_TYPEZassertGreaterEqualrrr�rrrzr�r})rAZsocksZfams�typesr]rErErF�test_create_sockets�s
$	z TestNetUtils.test_create_socketsN)r�r�r�rr-rrr~r�r�r�rErErErFrr�s
rrc@seZdZdd�ZdS)�TestOtherUtilscCsDttjdd�ddd��s*t�tt��s@t�dS)NrJza b crPr�r�)rr�rar��tuple)rArErErF�test_is_namedtuples*z!TestOtherUtils.test_is_namedtupleN)r�r�r�r�rErErErFr�sr��__main__)Ororr�rtr�r�r<r�r�r!r5rrrr�rrrrZpsutil._compatr	Zpsutil.testsr
rrr
rrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1ZTestCaser2rar�r�rr�r�r
r>rPr_rhrrr�r�r�rErErErF�<module>
s��H��C&'&E

Filemanager

Name Type Size Permission Actions
__init__.cpython-35.opt-1.pyc File 31.72 KB 0644
__init__.cpython-35.pyc File 33.22 KB 0644
__main__.cpython-35.opt-1.pyc File 2.66 KB 0644
__main__.cpython-35.pyc File 2.66 KB 0644
test_aix.cpython-35.opt-1.pyc File 3.48 KB 0644
test_aix.cpython-35.pyc File 3.48 KB 0644
test_bsd.cpython-35.opt-1.pyc File 20.06 KB 0644
test_bsd.cpython-35.pyc File 20.06 KB 0644
test_connections.cpython-35.opt-1.pyc File 15.7 KB 0644
test_connections.cpython-35.pyc File 16.1 KB 0644
test_contracts.cpython-35.opt-1.pyc File 23.32 KB 0644
test_contracts.cpython-35.pyc File 24.36 KB 0644
test_linux.cpython-35.opt-1.pyc File 69.39 KB 0644
test_linux.cpython-35.pyc File 70.81 KB 0644
test_memory_leaks.cpython-35.opt-1.pyc File 22.99 KB 0644
test_memory_leaks.cpython-35.pyc File 22.99 KB 0644
test_misc.cpython-35.opt-1.pyc File 35.69 KB 0644
test_misc.cpython-35.pyc File 36.91 KB 0644
test_osx.cpython-35.opt-1.pyc File 11.44 KB 0644
test_osx.cpython-35.pyc File 11.44 KB 0644
test_posix.cpython-35.opt-1.pyc File 14.02 KB 0644
test_posix.cpython-35.pyc File 14.18 KB 0644
test_process.cpython-35.opt-1.pyc File 43.88 KB 0644
test_process.cpython-35.pyc File 44.94 KB 0644
test_sunos.cpython-35.opt-1.pyc File 1.53 KB 0644
test_sunos.cpython-35.pyc File 1.53 KB 0644
test_system.cpython-35.opt-1.pyc File 27.54 KB 0644
test_system.cpython-35.pyc File 29.27 KB 0644
test_unicode.cpython-35.opt-1.pyc File 11.7 KB 0644
test_unicode.cpython-35.pyc File 11.76 KB 0644
test_windows.cpython-35.opt-1.pyc File 31.05 KB 0644
test_windows.cpython-35.pyc File 31.31 KB 0644