Your IP : 216.73.217.129


Current Path : /opt/alt/python35/lib64/python3.5/test/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/test/__pycache__/test_resource.cpython-35.opt-2.pyc



���]��@s�ddlZddlZddlZddlZddlmZddlZejd�ZGdd�dej	�Z
ddd�Zedkr�e�dS)	�N)�support�resourcec@seZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	e
jej
dkd�dd��Zejd�dd��Ze
jeed�d�ejddd�dd���Ze
jeed�d�ejddd�dd���ZdS) �ResourceTestcCs_|jttj�|jttjdd�|jttj�|jttjddd�dS)N�*)�assertRaises�	TypeErrorr�	getrlimit�	setrlimit)�self�r�2/opt/alt/python35/lib64/python3.5/test_resource.py�	test_argsszResourceTest.test_argscCsaytjtj�\}}Wntk
r0Yn-X|jtj|�tjtj||f�dS)N)rr�RLIMIT_FSIZE�AttributeError�assertEqualZ
RLIM_INFINITYr	)r
�cur�maxrrr�test_fsize_ismaxs
zResourceTest.test_fsize_ismaxc)Cseytjtj�\}}Wntk
r0Yn1Xz�y#tjtjd|f�d}Wntk
rqd}YnXttjd�}z�|j	dd�yI|j	d�|j
�x+td�D]}tj
d�|j
�q�WWntk
r�|s��YnX|rtjtj||f�Wd|j�XWd|rPtjtj||f�tjtj�XdS)	NiTF�wb�X�Y�g�������?)rrrrr	�
ValueError�openrZTESTFN�write�flush�range�time�sleep�OSError�close�unlink)r
rrZ	limit_set�f�irrr�test_fsize_enforced"s8
	





z ResourceTest.test_fsize_enforcedcCs�d}ytjtj�\}}Wntk
r6YnqXytjtj||f�Wnttfk
rnYnXytjtj||f�Wnttfk
r�YnXdS)N�
�2l +�O��tC3�y+v�)rrrrr	�
OverflowErrorr)r
Ztoo_bigrrrrr�test_fsize_toobigQs
zResourceTest.test_fsize_toobigcCs�|jttj�|jttjdd�tjtj�}tjtj�}ytjtj�}Wnttfk
r�YnXytjtj	�}Wnttfk
r�YnXdS)Nr)
rrrZ	getrusageZRUSAGE_SELFZRUSAGE_CHILDRENZRUSAGE_BOTHrrZ
RUSAGE_THREAD)r
Z	usageselfZ
usagechildrenZ	usagebothZusage_threadrrr�test_getrusagebszResourceTest.test_getrusagecCsXytjtj�}Wntk
r*Yn*XGdd�d�}tjtj|��dS)Nc@s(eZdZdd�Zdd�ZdS)z9ResourceTest.test_setrusage_refcount.<locals>.BadSequencecSsdS)N�r)r
rrr�__len__yszAResourceTest.test_setrusage_refcount.<locals>.BadSequence.__len__cSs,|dkr"tttd���St�dS)Nr�i@B)rr,)�len�tupler�
IndexError)r
�keyrrr�__getitem__{szEResourceTest.test_setrusage_refcount.<locals>.BadSequence.__getitem__N)�__name__�
__module__�__qualname__r+r1rrrr�BadSequencexsr5)rrZ
RLIMIT_CPUrr	)r
�limitsr5rrr�test_setrusage_refcountrs
z$ResourceTest.test_setrusage_refcountcCs0tj�}|j|t�|j|d�dS)Nr)rZgetpagesize�assertIsInstance�intZassertGreaterEqual)r
Zpagesizerrr�
test_pagesize�szResourceTest.test_pagesize�linuxztest requires Linuxc
CsXxQdddddgD]:}tjt��"|jttd|�t�WdQRXqWdS)NZMSGQUEUEZNICEZRTPRIOZRTTIMEZ
SIGPENDING�RLIMIT_)�
contextlib�suppressrr8�getattrrr9)r
�attrrrr�test_linux_constants�sz!ResourceTest.test_linux_constants�	c
CsRxKdddgD]:}tjt��"|jttd|�t�WdQRXqWdS)NZSWAPZSBSIZEZNPTSr<)r=r>rr8r?rr9)r
r@rrr�test_freebsd_contants�sz"ResourceTest.test_freebsd_contants�prlimitz
no prlimitr*��$cCs�|jttj�tj�dkrA|jttjdtj�|jttjdtj�tj	tj�}|j
tjdtj�|�|j
tjdtj|�|�dS)Nrr,���)rrrrD�os�geteuid�PermissionError�	RLIMIT_AS�ProcessLookupErrorrr)r
�limitrrr�test_prlimit�s

zResourceTest.test_prlimitcsTG�fdd�d�}tjtj��|jtjdtj|����dS)Ncs.eZdZdd�Z�fdd�ZdS)z2ResourceTest.test_prlimit_refcount.<locals>.BadSeqcSsdS)Nr*r)r
rrrr+�sz:ResourceTest.test_prlimit_refcount.<locals>.BadSeq.__len__cs�|dS)Nr,r)r
r0)r6rrr1�sz>ResourceTest.test_prlimit_refcount.<locals>.BadSeq.__getitem__N)r2r3r4r+r1r)r6rr�BadSeq�srOr)rrrKrrD)r
rOr)r6r�test_prlimit_refcount�sz"ResourceTest.test_prlimit_refcountN)r2r3r4r
rr$r(r)r7r:�unittestZ
skipUnless�sys�platformrArZrequires_freebsd_versionrC�hasattrrZrequires_linux_versionrNrPrrrrrs/'$rcCstjt�dS)N)rZrun_unittestr)�verboserrr�	test_main�srV�__main__)
r=rRrHrQZtestrr�
import_modulerZTestCaserrVr2rrrr�<module>s�