HOME


sh-3ll 1.0
DIR:/usr/local/lib64/python3.6/site-packages/psutil/tests/__pycache__/
Upload File :
Current File : //usr/local/lib64/python3.6/site-packages/psutil/tests/__pycache__/test_testutils.cpython-36.pyc
3

�[g�H�@s�dZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddlm
Z
ddlmZddlmZddlmZddlmZddlmZdd	lmZdd
lmZddlmZddlmZdd
lmZddlmZddlmZddlmZddlmZddlmZddlmZddlm Z ddlm!Z!ddlm"Z"ddlm#Z#ddlm$Z$ddlm%Z%ddlm&Z&ddlm'Z'ddlm(Z(ddlm)Z)ddlm*Z*ddlm+Z+dd lm,Z,dd!lm-Z-dd"lm.Z.dd#lm/Z/dd$lm0Z0dd%lm1Z1dd&lm2Z2dd'lm3Z3dd(lm4Z4Gd)d*�d*e�Z5Gd+d,�d,e�Z6Gd-d.�d.e�Z7Gd/d0�d0e�Z8Gd1d2�d2e�Z9e)j:j;d3d4�Gd5d6�d6e��Z<Gd7d8�d8e�Z=Gd9d:�d:e�Z>Gd;d<�d<e�Z?dS)=z1Tests for testing utils (psutil.tests namespace).�N)�FREEBSD)�NETBSD)�POSIX)�open_binary)�	open_text)�
supports_ipv6)�PY3)�
CI_TESTING)�COVERAGE)�HAS_NET_CONNECTIONS_UNIX)�HERE)�
PYTHON_EXE)�PYTHON_EXE_ENV)�PsutilTestCase)�TestMemoryLeak)�bind_socket)�bind_unix_socket)�
call_until)�chdir)�create_sockets)�fake_pytest)�filter_proc_net_connections)�
get_free_port)�
is_namedtuple)�mock)�process_namespace)�pytest)�
reap_children)�retry)�retry_on_failure)�
safe_mkdir)�safe_rmpath)�system_namespace)�tcp_socketpair)�	terminate)�unix_socketpair)�
wait_for_file)�wait_for_pidc@sxeZdZejd�dd��Zejd�dd��Zejd�dd��Zejd�dd	��Zejd�d
d��Z	ejd�dd
��Z
dS)�TestRetryDecoratorz
time.sleepcsFtdddd��fdd��}ttd���|�dks4t�|jdksBt�dS)N��)�retries�interval�logfuncsx�r�j�ddqWdS)Nr*r)�pop�)�queuer/�G/usr/local/lib64/python3.6/site-packages/psutil/tests/test_testutils.py�fooIsz2TestRetryDecorator.test_retry_success.<locals>.foo�)r�list�range�AssertionError�
call_count)�self�sleepr2r/)r0r1�test_retry_successEsz%TestRetryDecorator.test_retry_successc	sTtdddd��fdd��}ttd���tjt��|�WdQRX|jdksPt�dS)Nr)r*)r+r,r-csx�r�j�ddqWdS)Nr*r)r.r/)r0r/r1r2Wsz2TestRetryDecorator.test_retry_failure.<locals>.foo�)rr4r5r�raises�ZeroDivisionErrorr7r6)r8r9r2r/)r0r1�test_retry_failureTs
z%TestRetryDecorator.test_retry_failurec	CsBttdd�dd��}tjt��|�WdQRX|jdks>t�dS)Nr*)�	exceptionr,cSst�dS)N)�	TypeErrorr/r/r/r1r2esz2TestRetryDecorator.test_exception_arg.<locals>.foor)r�
ValueErrorrr<r@r7r6)r8r9r2r/r/r1�test_exception_argcsz%TestRetryDecorator.test_exception_argc	CsDtdddd�dd��}tjt��|�WdQRX|jdks@t�dS)Nr))r+r,r-cSsdddS)Nr*rr/r/r/r/r1r2qsz4TestRetryDecorator.test_no_interval_arg.<locals>.foor)rrr<r=r7r6)r8r9r2r/r/r1�test_no_interval_argmsz'TestRetryDecorator.test_no_interval_argc	CsDtdddd�dd��}tjt��|�WdQRX|jdks@t�dS)Nr)r*)r+r,r-cSsdddS)Nr*rr/r/r/r/r1r2{sz0TestRetryDecorator.test_retries_arg.<locals>.foo)rrr<r=r7r6)r8r9r2r/r/r1�test_retries_argysz#TestRetryDecorator.test_retries_argcCs&tjt��tddd�WdQRXdS)Nr)r*)r+�timeout)rr<rAr)r8r9r/r/r1�test_retries_and_timeout_args�sz0TestRetryDecorator.test_retries_and_timeout_argsN)�__name__�
__module__�__qualname__r�patchr:r>rBrCrDrFr/r/r/r1r(Ds

r(c@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�TestSyncTestUtilscCs`ttj��ttj��d}tjdtdg�d��&t	j
tj��t|�WdQRXWdQRXdS)Ni��zpsutil.tests.retry.__iter__r)�return_value)r'�os�getpid�max�psutilZpidsrrJ�iterrr<�
NoSuchProcess)r8Znopidr/r/r1�test_wait_for_pid�s
z#TestSyncTestUtils.test_wait_for_pidc	CsF|j�}t|d��}|jd�WdQRXt|�tjj|�sBt�dS)N�wr2)�
get_testfn�open�writer&rM�path�existsr6)r8�testfn�fr/r/r1�test_wait_for_file�s
z$TestSyncTestUtils.test_wait_for_filecCs@|j�}t|d��WdQRXt|dd�tjj|�s<t�dS)NrTT)�empty)rUrVr&rMrXrYr6)r8rZr/r/r1�test_wait_for_file_empty�s

z*TestSyncTestUtils.test_wait_for_file_emptycCsJ|j�}tjdtdg�d��$tjt��t|�WdQRXWdQRXdS)Nzpsutil.tests.retry.__iter__r)rL)rUrrJrQrr<�IOErrorr&)r8rZr/r/r1�test_wait_for_file_no_file�sz,TestSyncTestUtils.test_wait_for_file_no_filecCsH|j�}t|d��}|jd�WdQRXt|dd�tjj|�sDt�dS)NrTr2F)�delete)rUrVrWr&rMrXrYr6)r8rZr[r/r/r1�test_wait_for_file_no_delete�s
z.TestSyncTestUtils.test_wait_for_file_no_deletecCstdd��dS)NcSsdS)Nr*r/r/r/r/r1�<lambda>�sz3TestSyncTestUtils.test_call_until.<locals>.<lambda>)r)r8r/r/r1�test_call_until�sz!TestSyncTestUtils.test_call_untilN)	rGrHrIrSr\r^r`rbrdr/r/r/r1rK�srKc@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�TestFSTestUtilsc	Cs&tt��}|jdkst�WdQRXdS)N�r)r�__file__�moder6)r8r[r/r/r1�test_open_text�s
zTestFSTestUtils.test_open_textc	Cs&tt��}|jdkst�WdQRXdS)N�rb)rrgrhr6)r8r[r/r/r1�test_open_binary�s
z TestFSTestUtils.test_open_binarycCs<|j�}t|�tjj|�s t�t|�tjj|�s8t�dS)N)rUr rMrX�isdirr6)r8rZr/r/r1�test_safe_mkdir�s
zTestFSTestUtils.test_safe_mkdircCs�|j�}t|d�j�t|�tjj|�s0t�t|�tj|�t|�tjj|�s\t�t	j
dttj
d�d��.}tjt��t|�WdQRX|js�t�WdQRXdS)NrTzpsutil.tests.os.stat�)Zside_effect)rUrV�closer!rMrXrYr6�mkdirrrJ�OSError�errno�EINVALrr<�called)r8rZ�mr/r/r1�test_safe_rmpath�s
z TestFSTestUtils.test_safe_rmpathcCs\|j�}tj�}tj|�t|�� tj�tjj||�ks>t�WdQRXtj�|ksXt�dS)N)rUrM�getcwdrprrX�joinr6)r8rZ�baser/r/r1�
test_chdir�s

$zTestFSTestUtils.test_chdirN)rGrHrIrirkrmrvrzr/r/r/r1re�s
rec@s>eZdZdd�Zdd�Zejjedd�dd��Z	d	d
�Z
dS)�TestProcessUtilscCsT|j�}tj|j�}|j�s t�t�|j�s4t�tjjsBt�tjj	sPt�dS)N)
�spawn_testprocrP�Process�pid�
is_runningr6r�testsZ
_pids_startedZ_subprocesses_started)r8�subp�pr/r/r1�test_reap_children�sz#TestProcessUtils.test_reap_childrencCs�|j�\}}|j|jkst�|j�s(t�|j�s4t�tj�j�}||gksNt�tj�jdd�}t|�dksnt�||kszt�||ks�t�|j�t	j
�ks�t�|j�|jks�t�t|�|j�s�t�|j�s�t�t|�|j�s�t�dS)NT)�	recursive�)Zspawn_children_pairr~r6rrPr}�children�len�ppidrMrNr$)r8�childZ
grandchildr�r/r/r1�test_spawn_children_pair�s"z)TestProcessUtils.test_spawn_children_pairz
POSIX only)�reasoncCs"|j�\}}|j�tjkst�dS)N)�spawn_zombie�statusrP�
STATUS_ZOMBIEr6)r8Z_parent�zombier/r/r1�test_spawn_zombie�sz"TestProcessUtils.test_spawn_zombiecCs�|j�}t|�|j|j�t|�tj|j�j�}t|�|j|j�t|�tddg}tj|tj	tj	t
d�}t|�|j|j�t|�|j�j}t|�|j|j�t|�tr�|j�\}}t|�t|�|j|j�|j|j�dS)Nz-cz3import time; [time.sleep(0.1) for x in range(100)];)�stdout�stderr�env)
r|r$Z
assertPidGoner~rPr}r
�Popen�
subprocess�PIPErrr�)r8r��cmdr~�parentr�r/r/r1�test_terminates:
zTestProcessUtils.test_terminateN)rGrHrIr�r�r�mark�skipifrr�r�r/r/r/r1r{�s	r{c@sleZdZdd�Zejjedd�dd��Zdd�Z	ejjedd�ejje
pNed	d�d
d���Zdd
�Z
dS)�TestNetUtilsc	Cs>t�}tjtd|fd���}|j�d|ks0t�WdQRXdS)Nrn)�addrr*)r�
contextlib�closingr�getsocknamer6)r8�port�sr/r/r1r+szTestNetUtils.bind_socketz
POSIX only)r�cCs�|j�}t|�}tj|��\|jtjks,t�|jtj	ks<t�|j
�|ksLt�tjj
|�s\t�tjtj|�j�srt�WdQRX|j�}t|tjd�}tj|��|jtjks�t�WdQRXdS)N)�type)rUrr�r��family�socket�AF_UNIXr6r��SOCK_STREAMr�rMrXrY�stat�S_ISSOCK�st_mode�
SOCK_DGRAM)r8�name�sockr/r/r1�test_bind_unix_socket0s z"TestNetUtils.test_bind_unix_socketcCs|dt�f}ttj|d�\}}tj|��Ltj|��6|j�|ksDt�|j�|ksTt�|j�|ksdt�WdQRXWdQRXdS)Nz	127.0.0.1)r�)	rr#r��AF_INETr�r�r�r6�getpeername)r8r��server�clientr/r/r1�tcp_tcp_socketpair@s
zTestNetUtils.tcp_tcp_socketpairz*/var/run/log UNIX socket opened by defaultcCs�tj�}|j�}t|jdd��gks(t�|j�}t|�\}}zztj	j
|�sNt�tjtj|�j
�sdt�|j�|dksxt�tt|jdd���dks�t�|j�|ks�t�|j�|ks�t�Wd|j�|j�XdS)N�unix)�kindr�)rPr}�num_fdsrZnet_connectionsr6rUr%rMrXrYr�r�r�r�r�r�ro)r8r�r�r�r�r�r/r/r1�test_unix_socketpairKs 
z!TestNetUtils.test_unix_socketpaircCs�t���}tjt�}tjt�}x:|D]2}||jd7<||jtjtj�d7<q"W|tj	dksjt
�t�r�|tjdks�t
�t
r�tr�|tjdks�t
�|tjdks�t
�|tjdks�t
�WdQRXdS)Nr*r�)r�collections�defaultdict�intr��
getsockoptr��
SOL_SOCKET�SO_TYPEr�r6r�AF_INET6rrr�r�r�)r8ZsocksZfams�typesr�r/r/r1�test_create_socketsgs


 z TestNetUtils.test_create_socketsN)rGrHrIrrr�r�rr�r�rrr�r�r/r/r/r1r�*sr��serial)r�c@sheZdZe�dd��Zdd�Ze�ejje	dd�ejje
dd�dd	����Zd
d�Zdd
�Z
dd�ZdS)�TestMemLeakClasscs8�fdd�}ddi�|j|ddd��ddks4t�dS)	Ncs�dd7<dS)N�cntr*r/r/)r�r/r1�fun|sz(TestMemLeakClass.test_times.<locals>.funr�r�
�)�times�warmup_times�)�executer6)r8r�r/)r�r1�
test_timeszszTestMemLeakClass.test_timesc'Cs�tjt��|jdd�dd�WdQRXtjt��|jdd�d
d�WdQRXtjt��|jdd�dd�WdQRXtjt��|jd	d�dd
�WdQRXtjt��|jdd�dd�WdQRXdS)NcSsdS)Nrr/r/r/r/r1rc�sz1TestMemLeakClass.test_param_err.<locals>.<lambda>r)r�cSsdS)Nrr/r/r/r/r1rc�sr*cSsdS)Nrr/r/r/r/r1rc�s)r�cSsdS)Nrr/r/r/r/r1rc�s)�	tolerancecSsdS)Nrr/r/r/r/r1rc�s)r+���r�r�r�)rr<rAr�)r8r/r/r1�test_param_err�szTestMemLeakClass.test_param_errz
skipped on CI)r�zskipped during test coveragecCsFg}|fdd�}z,tjtdd��|j|dd�WdQRXWd~XdS)NcSs|jddd�dS)N�x�i)�append)�lsr/r/r1r��sz+TestMemLeakClass.test_leak_mem.<locals>.funz	extra-mem)�match�d)r�)rr<r6r�)r8r�r�r/r/r1�
test_leak_mem�szTestMemLeakClass.test_leak_memc	sJ��fdd�}g�trdnd}tjtd|d���j|�WdQRXdS)Ncs"tt�}�j|j��j|�dS)N)rVrgZ
addCleanupror�)r[)�boxr8r/r1r��sz1TestMemLeakClass.test_unclosed_files.<locals>.fun�fd�handlez	unclosed )r�)rrr<r6r�)r8r�r�r/)r�r8r1�test_unclosed_files�s
z$TestMemLeakClass.test_unclosed_filescs>�fdd�}g�d}|j||dd
d�t��|dks:t�dS)Ncs�jddd�dS)Nr��i)r�r/)r�r/r1r��sz,TestMemLeakClass.test_tolerance.<locals>.funr�r��i)r�r�r�r*i i�)r�r�r6)r8r�r�r/)r�r1�test_tolerance�szTestMemLeakClass.test_tolerancecCsddd�}|jt|�tjt��|jt|�WdQRXdd�}tjt��|jt|�WdQRXdS)NcSsdddS)Nr*rr/r/r/r/r1�fun_1�sz2TestMemLeakClass.test_execute_w_exc.<locals>.fun_1cSsdS)Nr/r/r/r/r1�fun_2�sz2TestMemLeakClass.test_execute_w_exc.<locals>.fun_2)Z
execute_w_excr=rr<rqr6)r8r�r�r/r/r1�test_execute_w_exc�sz#TestMemLeakClass.test_execute_w_excN)rGrHrIrr�r�rr�r�r	r
r�r�r�r�r/r/r/r1r�xs	r�c@sVeZdZdd�Zdd�Zdd�Zdd�Zejj	e
d	d
�dd��Zd
d�Zdd�Z
dS)�TestFakePytestcCs(tj�}|j|�tj�}|j|�}|S)N)�unittestZ	TestSuiteZaddTestZTextTestRunner�run)r8�klass�suiteZrunner�resultr/r/r1�run_test_class�s


zTestFakePytest.run_test_classcCs�tjt��}ddWdQRXt|jt�s.t�tjtdd��}td��WdQRXy&tjtdd��}td��WdQRXWn2tk
r�}zt|�dks�t�WYdd}~XnX|jd��dS)Nr*rr2)r��barz"foo" does not match "bar"zexception not raised)	rr<r=�
isinstance�valuer6rA�str�fail)r8�cm�errr/r/r1�test_raises�s"zTestFakePytest.test_raisescCsVtjjdd�dd��}|�dks$t�tjjdd�Gdd�d��}|�j�dksRt�dS)Nr�)r�cSsdS)Nr*r/r/r/r/r1r2�sz%TestFakePytest.test_mark.<locals>.foor*c@seZdZdd�ZdS)z%TestFakePytest.test_mark.<locals>.FoocSsdS)Nr*r/)r8r/r/r1r��sz)TestFakePytest.test_mark.<locals>.Foo.barN)rGrHrIr�r/r/r/r1�Foo�sr�)rr��xdist_groupr6r�)r8r2r�r/r/r1�	test_mark�szTestFakePytest.test_markcCs�Gdd�dtj�}|j|d��}|j�s,t�t|j�dks>t�|jdddksTt�Gdd�dtj�}|j|d��}|j�s�t�t|j�dks�t�dS)Nc@s$eZdZejjddd�dd��ZdS)z,TestFakePytest.test_skipif.<locals>.TestCaseTr�)r�cSsddkst�dS)Nr*)r6)r8r/r/r1r2�sz0TestFakePytest.test_skipif.<locals>.TestCase.fooN)rGrHrIrr�r�r2r/r/r/r1�TestCase�sr�r2r*rr�c@s$eZdZejjddd�dd��ZdS)z,TestFakePytest.test_skipif.<locals>.TestCaseFr�)r�cSsddkst�dS)Nr*)r6)r8r/r/r1r2�sz0TestFakePytest.test_skipif.<locals>.TestCase.fooN)rGrHrIrr�r�r2r/r/r/r1r��s)r�r�r��
wasSuccessfulr6r��skipped)r8r�r�r/r/r1�test_skipif�szTestFakePytest.test_skipifznot PY3)r�cCsXGdd�dtj�}|j|d��}|j�s,t�t|j�dks>t�|jdddksTt�dS)Nc@seZdZdd�ZdS)z*TestFakePytest.test_skip.<locals>.TestCasecSstjd�ddkst�dS)Nr�r*r)r�skipr6)r8r/r/r1r2s
z.TestFakePytest.test_skip.<locals>.TestCase.fooN)rGrHrIr2r/r/r/r1r�sr�r2r*rr�)r�r�r�r�r6r�r�)r8r�r�r/r/r1�	test_skip�s
zTestFakePytest.test_skipcCs�|jtd�}tj|�ttjj|d�d��WdQRXttjj|d�d��}|jtj	d�j
��WdQRXtjj
tjd|��6|jtd��tj�}|j�dks�t�WdQRXWdQRXdS)	N)�dirz__init__.pyrTztest_file.pyz�                import unittest

                class TestCase(unittest.TestCase):
                    def test_passed(self):
                        pass
                rzFake pytest module was usedr*)rUrrMrprVrXrxrW�textwrap�dedent�lstriprrJ�objectrPr�ZassertWarnsRegex�UserWarningr�mainZcountTestCasesr6)r8Ztmpdirr[r�r/r/r1�	test_main
s


zTestFakePytest.test_mainc-Cs�tjt��tjdtdd�WdQRXy*tjt��tjdtdd�WdQRXWntk
rdYnX|jd��tjtdd��tjdtdd�WdQRXy.tjtdd��tjdtdd�WdQRXWntk
r�YnX|jd��dS)Nr2r*)�
stacklevelzexception not raised)r�r�)rZwarnsr��warnings�warn�DeprecationWarningr6r�)r8r/r/r1�
test_warnss 
zTestFakePytest.test_warnsN)rGrHrIr�r�r�r�rr�r�rr�r�rr/r/r/r1r��sr�c@seZdZdd�Zdd�ZdS)�TestTestingUtilscCsLtj�}t|�}|j�dd�|j|j�D�dd}|�|j�ksHt�dS)NcSsg|]}|ddkr|�qS)r*r�r/)�.0r�r/r/r1�
<listcomp>?sz;TestTestingUtils.test_process_namespace.<locals>.<listcomp>r)rPr}r�testrQ�gettersr�r6)r8r��nsr�r/r/r1�test_process_namespace;s
z'TestTestingUtils.test_process_namespacecCs:t�}dd�|j|j�D�dd}|�tj�ks6t�dS)NcSsg|]}|ddkr|�qS)r*�net_if_addrsr/)rr�r/r/r1rDsz:TestTestingUtils.test_system_namespace.<locals>.<listcomp>r)r"rQr	rPrr6)r8r
r�r/r/r1�test_system_namespaceBsz&TestTestingUtils.test_system_namespaceN)rGrHrIrr
r/r/r/r1r:src@seZdZdd�ZdS)�TestOtherUtilscCs0ttjdd�ddd��st�tt��s,t�dS)Nr2za b cr*r�r3)rr��
namedtupler6�tuple)r8r/r/r1�test_is_namedtupleIsz!TestOtherUtils.test_is_namedtupleN)rGrHrIrr/r/r/r1rHsr)@�__doc__r�r�rrrMr�r�r�r�r�rrPZpsutil.testsrrrZpsutil._commonrrrZpsutil._compatrr	r
rrr
rrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(rKrer{r�r�r�r�r�rrr/r/r/r1�<module>sxE(-LNKv