Viewing File: /opt/alt/python35/lib64/python3.5/site-packages/psutil/tests/__pycache__/test_misc.cpython-35.pyc



Cs[@sdZddlZddlZddlZddlZddlZddlZddlZddlZddl	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
Gd3d4d4e9j>Z?ej@d5d6ZAGd7d8d8e9j>ZBe9jCe7d9e9jCe8oejDjEe3d:Gd;d<d<e9j>ZFGd=d>d>e9j>ZGGd?d@d@e9j>ZHGdAdBdBe9j>ZIGdCdDdDe9j>ZJGdEdFdFe9j>ZKGdGdHdHe9j>ZLeMdIkre0eNdS)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@seZdZeddZddZeddZeddZed	d
ZeddZ	d
dZ
ddZddZddZ
ddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)S)*TestMisccCstj}||}|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=nameside_effectZzombieZ
terminated)psutilProcessassertInpidr3rpatchobject
ZombieProcessosgetpidassertNotIn
NoSuchProcessAccessDenied)selffuncprrE
/test_misc.pytest_process__repr__Qs4zTestMisc.test_process__repr__cCs|jdtdS)NrB)rGstr)rArErErFtest_process__str__mszTestMisc.test_process__str__cCsm|jttjdd|jttjdddd|jttjdddddS)NiAz7psutil.NoSuchProcess process no longer exists (pid=321)r3foozCpsutil.NoSuchProcess process no longer exists (pid=321, name='foo')msgzpsutil.NoSuchProcess foo)assertEqualreprr5r?)rArBrErErFtest_no_such_process__repr__psz%TestMisc.test_no_such_process__repr__cCs|jttjdd|jttjdddd|jttjdddddd|jttjdd	dd
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')ppidzYpsutil.ZombieProcess process still exists but it's a zombie (pid=321, name='foo', ppid=1)rKzpsutil.ZombieProcess foo)rLrMr5r;)rArBrErErFtest_zombie_process__repr__|sz$TestMisc.test_zombie_process__repr__cCsm|jttjdd|jttjdddd|jttjdddddS)NiAzpsutil.AccessDenied (pid=321)r3rJz)psutil.AccessDenied (pid=321, name='foo')rKzpsutil.AccessDenied foo)rLrMr5r@)rArBrErErFtest_access_denied__repr__sz#TestMisc.test_access_denied__repr__cCss|jttjdd|jttjdddd|jttjdddddddS)	NiAz/psutil.TimeoutExpired timeout after 321 secondsr8oz9psutil.TimeoutExpired timeout after 321 seconds (pid=111)r3rJzEpsutil.TimeoutExpired timeout after 321 seconds (pid=111, name='foo'))rLrMr5TimeoutExpired)rArBrErErFtest_timeout_expired__repr__sz%TestMisc.test_timeout_expired__repr__cCsUtj}tj}|j||d|_|j|||j|ddS)NrrJ)rr)r5r6rL_identassertNotEqual)rAp1p2rErErFtest_process__eq__s	zTestMisc.test_process__eq__cCs8ttjtjg}|jt|ddS)NrP)setr5r6rLlen)rAsrErErFtest_process__hash__szTestMisc.test_process__hash__cCstt}x|D]}|d
kr(q|jd
syt|Wqtk
r|tjkrtt|}|dkrw|jdk	rd|jjkr|j	d|YqXqWx!tjD]}|j
||qWdS)Ncallableerror
namedtupletestslongtestNUM_CPUS	BOOT_TIMETOTAL_PHYMEM_Z
deprecatedz%r not in psutil.__all__)	r_r`rarbrcrdrerfrg)dirr5
startswith
__import__ImportError__all__getattr__doc__lowerfailr7)rAZ
dir_psutilr3ZfunrErErFtest__all__s&
	
zTestMisc.test__all__cCs0|jdjddtjDtjdS)N.cSsg|]}t|qSrE)rH).0xrErErF
<listcomp>s	z)TestMisc.test_version.<locals>.<listcomp>)rLjoinr5version_info__version__)rArErErFtest_versions"zTestMisc.test_versioncCs/tj}d|_|jd|jdS)N1rJ)r5r6rJr>as_dict)rArCrErErF!test_process_as_dict_no_new_namess	z*TestMisc.test_process_as_dict_no_new_namescstfdd}gxOtdD]A}|}fif}|j|||jtdq+WxRtdD]D}|d}d	if}|j|||jtdq}Wx^tdD]P}|ddd}d
ddif}|j|||jtdqW|j|}fif}|j|||jtd|j|jddS)Ncsjd||fS)z
foo docstringN)append)argskwargs)callsrErFrJs
z"TestMisc.test_memoize.<locals>.foorPZbarz
foo docstring)rP)rP)rrangerLr\cache_clearro)rArJruretZexpectedrE)rrFtest_memoizes.	
	zTestMisc.test_memoizecsGfddd}|}g|j|j|jtdg|jj|j|j|jtdg|jj|j|j|jtddS)Ncs(eZdZefddZdS)z1TestMisc.test_memoize_when_activated.<locals>.FoocsjddS)N)r~)rA)rrErFrJsz5TestMisc.test_memoize_when_activated.<locals>.Foo.fooN)__name__
__module____qualname__rrJrE)rrErFFoosrrrP)rJrLr\Zcache_activateZcache_deactivate)rArfrE)rrFtest_memoize_when_activateds 	







z$TestMisc.test_memoize_when_activatedcCs2ddlm}dd}|j|d|ddi|j|d|dd|d	d
i|j|d|dd|d	di|j|d
|dd|d	d
i|j|d|ddi|j|d|ddi|j|d|ddidS)Nr)parse_environ_blockcSstr|jS|S)N)rupper)r]rErErFksz,TestMisc.test_parse_environ_block.<locals>.kza=1ar{z	a=1b=2b2za=1b=z
a=1b=2c=3zxxxa=1z	a=1=b=2za=1b=2)psutil._commonrrL)rArrrErErFtest_parse_environ_blocks""z!TestMisc.test_parse_environ_blockcCs|jtjtrMtjd*}d|_tjtsNtWdQRXtjtjddtj&}tst|j	stWdQRXtjtjddtj
0}tsttj|j	stWdQRXtjtjddtj
0}ts*ttj|j	sCtWdQRXn<|jt*tjtj
tj}|jdWdQRXdS)	Nzpsutil._common.socketFzpsutil._common.socket.socketr4z!psutil._common.socket.socket.bind::1r)rr)
addCleanuprrrr9has_ipv6AssertionErrorsocketr`calledgaierrorassertRaises	ExceptionAF_INET6SOCK_STREAMbind)rAr]sockrErErFtest_supports_ipv6's4		





zTestMisc.test_supports_ipv6cCs;ddlm}tjjt}||s4t|tjj|sSttj	ddt
tjd|j
t
||WdQRXtj	ddt
tjd|j
t
||WdQRXtj	ddt
tjd||stWdQRXtj	ddd||s0tWdQRXdS)	Nr)
isfile_strictzpsutil._common.os.statr4rJzpsutil._common.stat.S_ISREGreturn_valueF)rrr<pathabspath__file__rdirnamerr9OSErrorerrnoEPERMrZEACCESEINVAL)rArZ	this_filerErErFtest_isfile_strictGszTestMisc.test_isfile_strictcsfdd}|tjj|tj|tj|tj|tjdd|tjtrt	j
jdrnts|tj
|tj|tjt	j|tjdS)NcsTtdk	r"tjtj|tj|}tj|}j||dS)N)jsonloadsdumpspicklerL)rrr)rArErFcheckYs
z*TestMisc.test_serialization.<locals>.checkintervalrz/proc/diskstats)r5r6r|Zvirtual_memoryZswap_memoryZ	cpu_timesZcpu_times_percentnet_io_countersrr<rexistsr
disk_io_countersZdisk_partitions
disk_usagegetcwdusers)rArrE)rArFtest_serializationXszTestMisc.test_serializationcCswtjjtd}tr;tjj|r;|jdSt|}|jt	|j
|j|jt
jdS)Nzsetup.pyzcan't find setup.py)r<rrwr#r,rZskipTestrr
SystemExitZsetuprLZget_versionr5ry)rAZsetup_pymodulerErErFtest_setup_scriptos
zTestMisc.test_setup_scriptcCstjjtjddtj }tj|js=tWdQRXtjjtjddtjd }tj|jstWdQRXtjjtjddt	7}|j
t	tjWdQRX|jstWdQRXdS)NZcreate_timer4rP)rr9r:r5r6r@rrr;
ValueErrorr)rAmethrErErFtest_ad_on_process_creationws

z$TestMisc.test_ad_on_process_creationcCsctjdddG|jt}ttWdQRX|jdt|jj	WdQRXdS)Nzpsutil._psplatform.cext.versionrz0.0.0zversion conflict)
rr9rrlr!r5r7rH	exceptionrp)rAcmrErErFtest_sanity_version_checks
z"TestMisc.test_sanity_version_checkN)rrrrMrGrIrNrQrRrUrZr^rrrzr}rrrrrrrrrrErErErFr2Os(# r2rJza b cc@seZdZddZeZddZddZddZd	d
ZddZ	d
dZ
ddZddZddZ
ddZddZddZejejpejdddZdS)TestWrapNumberscCstjdS)N)rr)rArErErFsetUpszTestWrapNumbers.setUpcCs5dtdddi}|jt|d|dS)Ndisk1disk_io)ntrLr)rAinputrErErFtest_first_callszTestWrapNumbers.test_first_callcCsNdtdddi}|jt|d||jt|d|dS)Nrrr)rrLr)rArrErErFtest_input_hasnt_changedsz(TestWrapNumbers.test_input_hasnt_changedcCsdtdddi}|jt|d|dtdddi}|jt|d|dtdddi}|jt|d|dtdddi}|jt|d|dS)	Nrrr
)rrLr)rArrErErFtest_increase_but_no_wrapsz)TestWrapNumbers.test_increase_but_no_wrapcCsMdtdddi}|jt|d|dtdddi}|jt|ddtdddidtdddi}|jt|ddtdddidtdddi}|jt|ddtdddidtdddi}|jt|ddtddd	idtdddi}|jt|ddtddd	idtd
ddi}|jt|ddtddd	idtdddi}|jt|ddtddd	idtdddi}|jt|ddtddd	idS)
NrdrrnZr2()rrLr)rArrErErF	test_wraps4zTestWrapNumbers.test_wrapcCsdtdddi}|jt|d|dtddddtdddi}|jt|d|dtdddi}|jt|d|dS)Nrrrdisk2)rrLr)rArrErErFtest_changing_keyssz"TestWrapNumbers.test_changing_keysc	Csdtddddtdddi}|jt|d|dtddddtdddi}|jt|ddtddddtdddidtdddi}|jt|d|dtddddtdddi}|jt|d|dtddddtdddi}|jt|d|dtddddtdddi}|jt|ddtddddtdddidS)Nrrrrrrr)rrLr)rArrErErFtest_changing_keys_w_wraps*z)TestWrapNumbers.test_changing_keys_w_wrapcCsdd)dd*dd+dd,i}|jt|d&||jt|d&|dd-dd.dd/dd0i}t|d&}|j|ddd(dS)1NZnvme0n1,#RȷZ	nvme0n1p1rtUrrZ	nvme0n1p26$NrrZ	nvme0n1p3U	"r4\rri)	rrrrrrrrr)	rrrrrrrrr)	rrrrrrrrr)	rrrrrrrrr)	rrrrrrrrr)	rrrrrrrrr)	rrrrrrrrr)	rrrrrrrrr)rLr)rAdoutrErErFtest_real_dataszTestWrapNumbers.test_real_datacCsdtdddi}t|dtj}|j|dd|i|j|ddii|j|ddiidS)NrrrrrPr)rr
cache_inforL)rArcacherErErFtest_cache_first_calls
z%TestWrapNumbers.test_cache_first_callc	Csdtdddi}t|ddtdddi}t|dtj}|j|dd|i|j|ddddd	dd
dii|j|ddiidS)NrrrrrrPr)rr)rrP)rr)rrrrL)rArrrErErFtest_cache_call_twices

z%TestWrapNumbers.test_cache_call_twicec	sdtdddi}t|ddtdddi}t|dtj}j|dd|ij|ddd
dddddiij|dddtdgiifdd	}dtdddi}t|dtj}j|dd|i|dtddd
i}t|dtj}j|dd|i|dtdddi}t|dtj}j|dd|ij|ddddddddiij|dddtdgiidS)NrrrrrrPrc	setj}j|ddddddd	diij|dddtd
giidS)NrPrrrrr)rr)rrP)rr)rr)rrrLr[)r)rArErFassert_6s
z0TestWrapNumbers.test_cache_wrap.<locals>.assert_rrr)rr)rrP)rr)rr)rr)rrP)rr)rr)rrrrLr[)rArrrrE)rArFtest_cache_wrap's:

)



zTestWrapNumbers.test_cache_wrapc	Csdtdddi}t|ddtddddtdddi}t|dtj}|j|dd|i|j|ddd	dd
dddii|j|ddiidS)NrrrrrrrPr)rr)rrP)rr)rrrrL)rArrrErErFtest_cache_changing_keysWs

z(TestWrapNumbers.test_cache_changing_keyscCs|dtdddi}t|dt|dtjd|jtjiiiftjdtjddS)Nrrrz?!?)rrrrLr)rArrErErFtest_cache_cleards



z TestWrapNumbers.test_cache_clearzno disks or NICs availablecCstjtjtj}x.|D]&}|jd||jd|q'Wtjjtj}x.|D]&}|jd||jd|qqWtjjtj}|j|iiifdS)Nzpsutil.disk_io_counterszpsutil.net_io_counters)	r5rrrrr7rr>rL)rAZcachesrrErErFtest_cache_clear_public_apisms





z,TestWrapNumbers.test_cache_clear_public_apisN)rrrrtearDownrrrrrrrrrrrr	r-skipIfr5rrr
rErErErFrs"
%0
	rzcan't test on TOXzcan't locate scripts directoryc@sPeZdZdZeddZedddZddZej	e
d	d
dZdd
ZddZ
ddZddZej	epeoejdddZddZddZddZej	edddZej	ed d!d"Zej	ed d#d$Zd%d&Zd'd(Zd)d*Zd+d,Z d-d.Z!ej	e"d/d0d1Z#d2d3Z$ej	e%d ej	edd4d5Z&ej	e'd ej	edd6d7Z(ej	e)d ej	e*d8d9d:Z+d;d<Z,dS)=TestScriptsz-Tests for scripts in the "scripts" directory.cOsdtjjt|}t|g}x|D]}|j|q,Wyt||j}WnDtk
r}z$dt	|krt	|SWYdd}~XnX|st
||S)Nz%sr@)r<rrwr'rr~r(stripRuntimeErrorrHr)exerrcmdargrerrrErErF
assert_stdouts

zTestScripts.assert_stdoutNc	Csmtjjt|}tr3t|ddd}nt|d}||j}WdQRXtj|dS)NZrtencodingutf8)	r<rrwr'r	openreadastparse)rrrsrcrErErF
assert_syntaxszTestScripts.assert_syntaxcCsyt|}xftjtD]U}|jdrdtjj|d|kr|jdtjjt|qWdS)Nz.pyZtest_rzno test defined for %r script)	rir<listdirr'endswithrsplitextrqrw)rAZmethsr3rErErF
test_coverages 	zTestScripts.test_coveragez
POSIX onlycCspxitjtD]X}|jdrtjjt|}tjtj|tj@s|j	d|qWdS)Nz.pyz%r is not executable)
r<rr'rrrwstatS_IXUSRST_MODErq)rAr3rrErErFtest_executables
zTestScripts.test_executablecCs|jddS)Nz
disk_usage.py)r)rArErErFtest_disk_usageszTestScripts.test_disk_usagecCs|jddS)Nzfree.py)r)rArErErF	test_freeszTestScripts.test_freecCs|jddS)Nz
meminfo.py)r)rArErErFtest_meminfoszTestScripts.test_meminfocCs |jdttjdS)Nzprocinfo.py)rrHr<r=)rArErErF
test_procinfoszTestScripts.test_procinfoz unreliable on APPVEYOR or TRAVIScCs|jddS)Nzwho.py)r)rArErErFtest_whoszTestScripts.test_whocCs|jddS)Nzps.py)r)rArErErFtest_psszTestScripts.test_pscCs|jddS)Nz	pstree.py)r)rArErErFtest_pstreeszTestScripts.test_pstreecCs|jddS)Nz
netstat.py)r)rArErErFtest_netstatszTestScripts.test_netstatzunreliable on TRAVIScCs|jddS)Nzifconfig.py)r)rArErErF
test_ifconfigszTestScripts.test_ifconfigz
not supportedcCs |jdttjdS)Nzpmap.py)rrHr<r=)rArErErF	test_pmapszTestScripts.test_pmapcCs|jddtdS)Nzprocsmem.pystderr)rr)rArErErF
test_procsmemszTestScripts.test_procsmemcCs|jddS)Nz
killall.py)r)rArErErFtest_killallszTestScripts.test_killallcCs|jddS)Nz	nettop.py)r)rArErErFtest_nettopszTestScripts.test_nettopcCs|jddS)Nztop.py)r)rArErErFtest_topszTestScripts.test_topcCs|jddS)Nziotop.py)r)rArErErF
test_iotopszTestScripts.test_iotopcCs>|jdtjj}|jttj|dS)Nzpidof.py)rr5r6r3r7rHr<r=)rAoutputrErErF
test_pidofszTestScripts.test_pidofzWINDOWS onlycCs|jddS)Nzwinservices.py)r)rArErErFtest_winservicesszTestScripts.test_winservicescCs|jddS)Nzcpu_distribution.py)r)rArErErFtest_cpu_distributionsz!TestScripts.test_cpu_distributioncCs|jddS)Nztemperatures.py)r)rArErErFtest_temperaturesszTestScripts.test_temperaturescCs|jddS)Nzfans.py)r)rArErErF	test_fansszTestScripts.test_fansz
no batterycCs|jddS)Nz
battery.py)r)rArErErFtest_batteryszTestScripts.test_batterycCs|jddS)Nz
sensors.py)r)rArErErFtest_sensors
szTestScripts.test_sensors)-rrrrostaticmethodrrr r-rrr$r%r&r'r(r
r,r5rr)r*r+r,r-rr.rr0r1r2r3r4r6rr7r8rr9rr:rrr;r<rErErErFr
s@

!!"r
c@seZdZejdddZejdddZejdddZejddd	Zejdd
dZ	ejddd
Z
dS)TestRetryDecoratorz
time.sleepcsitddddddfdd}ttd|j|d|j|jddS)	NretriesrrrPlogfuncs#xrjddqWdS)NrPr)poprE)queuerErFrJs	
z2TestRetryDecorator.test_retry_success.<locals>.foor)r"listrrL
call_count)rAsleeprJrE)rBrFtest_retry_successs-z%TestRetryDecorator.test_retry_successcsftddddddfdd}ttd|jt||j|jddS)	Nr?rrrPr@cs#xrjddqWdS)NrPr)rArE)rBrErFrJ(s	
z2TestRetryDecorator.test_retry_failure.<locals>.foo)r"rCrrZeroDivisionErrorrLrD)rArErJrE)rBrFtest_retry_failure$s-z%TestRetryDecorator.test_retry_failurecCsHtdtdddd}|jt||j|jddS)NrrrPcSs
tdS)N)	TypeErrorrErErErFrJ5sz2TestRetryDecorator.test_exception_arg.<locals>.foor)r"rrrJrLrD)rArErJrErErFtest_exception_arg3s!z%TestRetryDecorator.test_exception_argcCsNtdddddddd}|jt||j|jddS)Nr?rrr@cSsdddS)NrPrrErErErErFrJ@sz4TestRetryDecorator.test_no_interval_arg.<locals>.foor)r"rrHrLrD)rArErJrErErFtest_no_interval_arg<s'z'TestRetryDecorator.test_no_interval_argcCsNtdddddddd}|jt||j|jddS)Nr?rrrPr@cSsdddS)NrPrrErErErErFrJJsz0TestRetryDecorator.test_retries_arg.<locals>.foo)r"rrHrLrD)rArErJrErErFtest_retries_argGs'z#TestRetryDecorator.test_retries_argcCs |jttdddddS)Nr?rtimeoutrP)rrr")rArErErErFtest_retries_and_timeout_argsQsz0TestRetryDecorator.test_retries_and_timeout_argsN)rrrrr9rFrIrKrLrMrOrErErErFr>s	
r>c@sdeZdZddZddZddZddZd	d
ZddZd
dZ	dS)TestSyncTestUtilscCsttdS)N)r&r*)rArErErFrXszTestSyncTestUtils.tearDowncCsfttjttjd}tjddtdg|j	tj
t|WdQRXdS)Nizpsutil.tests.retry.__iter__rr)r1r<r=maxr5Zpidsrr9iterrr?)rAZnopidrErErFtest_wait_for_pid[sz#TestSyncTestUtils.test_wait_for_pidc	CsMttd}|jdWdQRXtttjjtsItdS)NwrJ)rr*writer0r<rrr)rArrErErFtest_wait_for_fileas
z$TestSyncTestUtils.test_wait_for_filecCsDttdWdQRXttddtjjts@tdS)NrTemptyT)rr*r0r<rrr)rArErErFtest_wait_for_file_emptygsz*TestSyncTestUtils.test_wait_for_file_emptycCs=tjddtdg|jtttWdQRXdS)Nzpsutil.tests.retry.__iter__rr)rr9rRrIOErrorr0r*)rArErErFtest_wait_for_file_no_filemsz,TestSyncTestUtils.test_wait_for_file_no_filecCsRttd}|jdWdQRXttddtjjtsNtdS)NrTrJdeleteF)rr*rUr0r<rrr)rArrErErFtest_wait_for_file_no_deleteqsz.TestSyncTestUtils.test_wait_for_file_no_deletecCs)tddd}|j|ddS)NcSsdS)NrPrErErErErF<lambda>xsz3TestSyncTestUtils.test_call_until.<locals>.<lambda>zret == 1rP)r
rL)rArrErErFtest_call_untilwsz!TestSyncTestUtils.test_call_untilN)
rrrrrSrVrXrZr\r^rErErErFrPVsrPc@sFeZdZddZeZddZddZddZd	S)
TestFSTestUtilscCsttdS)N)r&r*)rArErErFr~szTestFSTestUtils.setUpcCsHtttjjts"ttttjjtsDtdS)N)r%r*r<risdirr)rArErErFtest_safe_mkdirs

zTestFSTestUtils.test_safe_mkdircCsttdjtttjjts6ttttjttttjjtsptt	j
ddttj
d7}|jtttWdQRX|jstWdQRXdS)NrTzpsutil.tests.os.statr4r)rr*closer&r<rrrmkdirrr9rrrrr)rAmrErErFtest_safe_rmpaths



z TestFSTestUtils.test_safe_rmpathcCsltj}tjttt*|jtjtjj|tWdQRX|jtj|dS)N)r<rrcr*rrLrrw)rAbaserErErF
test_chdirs


,zTestFSTestUtils.test_chdirN)rrrrrrarergrErErErFr_|s
r_c@sGeZdZddZddZejedddZdS)	TestProcessUtilscCsqt}tj|j}|js-tt|jsGttjjsZttjj	smtdS)N)
rr5r6r8
is_runningrr rb
_pids_started_subprocesses_started)rAZsubprCrErErFtest_reap_childrens	z#TestProcessUtils.test_reap_childrencCs#t\}}|j|j|j|js7t|jsIttjjdd}|jt	|d|j
|||j
|||j|jtj
|j|j|jt|jst|jsttjjsttjjstdS)N	recursiveTr)rrWr8rirr5r6childrenrLr\r7rOr<r=r rbrjrk)rArXrYrnrErErFtest_create_proc_children_pairsz/TestProcessUtils.test_create_proc_children_pairz
POSIX onlycCsHt}|jtddtj|}|j|jtjdS)NrmT)rrr r5r6rLstatusZ
STATUS_ZOMBIE)rAZzpidrCrErErFtest_create_zombie_procs	z(TestProcessUtils.test_create_zombie_procN)	rrrrlror-rrrqrErErErFrhs	rhc@sreZdZddZejedddZddZejeddd	Z	d
dZ
dS)
TestNetUtilsc
CsOt}tjtdd|f!}|j|jd|WdQRXdS)NaddrrrP)r
contextlibclosingrrLgetsockname)rAportr]rErErFrs	!zTestNetUtils.bind_socketz
POSIX onlycCs
t}t|}tj||j|jtj|j|jtj	|j|j
|tjj
|sttjtj|jstWdQRXWdQRXtI}t|dtj}tj||j|jtjWdQRXWdQRXdS)Ntype)r.rrtrurLfamilyrAF_UNIXrxrrvr<rrrr!S_ISSOCKst_mode
SOCK_DGRAM)rAr3rrErErFtest_bind_unix_sockets/z"TestNetUtils.test_bind_unix_socketcCsdtf}ttjd|\}}tj|^tj|G|j|j||j|j||j	|j|WdQRXWdQRXdS)Nz	127.0.0.1rs)
rr)rAF_INETrtrurLrvgetpeernamerW)rArsserverclientrErErFtcp_tcp_socketpairszTestNetUtils.tcp_tcp_socketpaircCstj}|j}|jdds1tt}t|\}}ztjj	|sjtt
jtj
|jst|j
|j|d|j
t|jddd|j
|j||j
|j|Wd|j|jXWdQRXdS)NkindZunixr)r5r6num_fdsZconnectionsrr.r/r<rrr!r{r|rLr\rvrrb)rArCrr3rrrErErFtest_unix_socketpairs!"
z!TestNetUtils.test_unix_socketpaircCst}tjt}tjt}x?|D]7}||jd7<||jtjtjd7<q1W|j	|tj
dtr|j	|tjdt
rtr|j	|tjd|j	|tjd|j	|tjdWdQRXdS)NrPr)rcollectionsdefaultdictintry
getsockoptr
SOL_SOCKETSO_TYPEZassertGreaterEqualrrrrrrzrr})rAZsocksZfamstypesr]rErErFtest_create_socketss
$	z TestNetUtils.test_create_socketsN)rrrrr-rrr~rrrrErErErFrrs
rrc@seZdZddZdS)TestOtherUtilscCsDttjddddds*ttts@tdS)NrJza b crPrr)rrrartuple)rArErErFtest_is_namedtuples*z!TestOtherUtils.test_is_namedtupleN)rrrrrErErErFrsr__main__)Ororrrtrrr<rrr!r5rrrrrrrrZpsutil._compatr	Zpsutil.testsr
rrr
rrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1ZTestCaser2rarrrrrr
r>rPr_rhrrrrrrErErErF<module>
sHC&'&E
Back to Directory File Manager