Your IP : 216.73.216.60


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-1.pyc



��Yf��@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�7/opt/alt/python35/lib64/python3.5/test/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�timeZsleep�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*r0rrrr�BadSequencexsr4)rrZ
RLIMIT_CPUrr	)r
�limitsr4rrr�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�suppressrr7�getattrrr8)r
�attrrrr�test_linux_constants�sz!ResourceTest.test_linux_constants�	c
CsRxKdddgD]:}tjt��"|jttd|�t�WdQRXqWdS)NZSWAPZSBSIZEZNPTSr;)r<r=rr7r>rr8)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+���)rrrrC�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
r/)r5rrr0�sz>ResourceTest.test_prlimit_refcount.<locals>.BadSeq.__getitem__N)r1r2r3r*r0r)r5rr�BadSeq�srNr)rrrJrrC)r
rNr)r5r�test_prlimit_refcount�sz"ResourceTest.test_prlimit_refcountN)r1r2r3r
rr#r'r(r6r9�unittestZ
skipUnless�sys�platformr@rZrequires_freebsd_versionrB�hasattrrZrequires_linux_versionrMrOrrrrrs/'$rcCstjt�dS)N)rZrun_unittestr)�verboserrr�	test_main�srU�__main__)
r<rQrGrPZtestrr�
import_modulerZTestCaserrUr1rrrr�<module>s�