Your IP : 216.73.216.213


Current Path : /proc/242857/root/opt/alt/python34/lib64/python3.4/test/__pycache__/
Upload File :
Current File : //proc/242857/root/opt/alt/python34/lib64/python3.4/test/__pycache__/test_resource.cpython-34.pyc

�
g f��@s�ddlZddlZddlZddlZddlmZddlZejd�ZGdd�dej	�Z
ddd�Zedkr�e�ndS)	�N)�support�resourcec@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	e
jej
dkd�dd��Zejd�dd��Ze
jeed�d�ejddd�dd���ZdS)�ResourceTestcCs_|jttj�|jttjdd�|jttj�|jttjddd�dS)N�*)�assertRaises�	TypeErrorr�	getrlimit�	setrlimit)�self�r�7/opt/alt/python34/lib64/python3.4/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)Csnytjtj�\}}Wntk
r0Yn:Xzy#tjtjd|f�d}Wntk
rqd}YnXttjd�}z�|j	dd�yI|j	d�|j
�x+td�D]}tj
d�|j
�q�WWntk
r|s��nYnX|r$tjtj||f�nWd|j�XWd|rYtjtj||f�ntjtj�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
Zlimitsr4rrr�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
CsWxPdddddgD]9}tjt��"|jttd|�t�WdQXqWdS)NZMSGQUEUEZNICEZRTPRIOZRTTIMEZ
SIGPENDING�RLIMIT_)�
contextlib�suppressrr6�getattrrr7)r
�attrrrr�test_linux_constants�sz!ResourceTest.test_linux_constants�	c
CsQxJdddgD]9}tjt��"|jttd|�t�WdQXqWdS)NZSWAPZSBSIZEZNPTSr:)r;r<rr6r=rr7)r
r>rrr�test_freebsd_contants�sz"ResourceTest.test_freebsd_contants�prlimitz
no prlimitr)��$cCs�|jttj�tj�dkrD|jttjdtj�n|jttjdtj�tj	tj�}|j
tjdtj�|�|j
tjdtj|�|�dS)Nrr+���)rrrrB�os�geteuid�PermissionErrorZ	RLIMIT_AS�ProcessLookupErrorrr)r
�limitrrr�test_prlimit�s
zResourceTest.test_prlimitN)r1r2r3r
rr#r'r(r5r8�unittestZ
skipUnless�sys�platformr?rZrequires_freebsd_versionrA�hasattrrZrequires_linux_versionrKrrrrrs/'rcCstjt�dS)N)rZrun_unittestr)�verboserrr�	test_main�srQ�__main__)
r;rMrFrLZtestrr�
import_modulerZTestCaserrQr1rrrr�<module>s�