File: //usr/local/lib/python3.10/test/__pycache__/test_resource.cpython-310.opt-2.pyc
o
�i* � @ sx d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZ d dlZe� d�Z
G dd� dej�Ze
dkr:e�� dS dS ) � N)�support)�
import_helper)� os_helper�resourcec @ s� e Zd Zdd� Ze�ejdkd�dd� �Zdd� Z d d
� Z
dd� Ze�ejdkd
�dd� �Zdd� Z
e�ejdkd�dd� �Zdd� Ze�eed�d�e�ddd�dd� ��Ze�eed�d�e�ddd�dd � ��Zd!S )"�ResourceTestc C sF | � ttj� | � ttjdd� | � ttj� | � ttjddd� d S �N�* )�assertRaises� TypeErrorr � getrlimit� setrlimit��self� r �//usr/local/lib/python3.10/test/test_resource.py� test_args s zResourceTest.test_args�vxworksz0setting RLIMIT_FSIZE is not supported on VxWorksc C sN z
t �t j�\}}W n
ty Y d S w | �t j|� t �t j||f� d S )N)r r �RLIMIT_FSIZE�AttributeError�assertEqualZ
RLIM_INFINITYr )r �cur�maxr r r �test_fsize_ismax s �zResourceTest.test_fsize_ismaxc C s> z
t �t j�\}}W n
ty Y d S w zwz
t �t jd|f� d}W n ty. d}Y nw ttjd�}z>|� d� z|� d� |�
� td�D ]}t�
d� |�
� qIW n tyb |s`� Y nw |rnt �t j||f� W |�� n|�� w W |r�t �t j||f� t�tj� d S |r�t �t j||f� t�tj� w ) Ni TF�wbs XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX� Y� g�������?)r r r r r �
ValueError�openr ZTESTFN�write�flush�range�time�sleep�OSError�close�unlink)r r r Z limit_set�f�ir r r �test_fsize_enforced% sJ �
�
�����z ResourceTest.test_fsize_enforcedc C s� dd }z
t �t j�\}}W n
ty Y d S w zt �t j||f� W n ttfy/ Y nw zt �t j||f� W d S ttfyH Y d S w )N�
�2 )r r r r r �
OverflowErrorr )r Ztoo_bigr r r r r �test_fsize_toobigT s ���zResourceTest.test_fsize_toobigc C s� | � ttj� | � ttjdd� t�tj�}t�tj�}zt�tj�}W n ttfy/ Y nw z t�tj �}W d S ttfyE Y d S w r )
r r
r Z getrusageZRUSAGE_SELFZRUSAGE_CHILDRENZRUSAGE_BOTHr r Z
RUSAGE_THREAD)r Z usageselfZ
usagechildrenZ usagebothZusage_threadr r r �test_getrusagee s ��zResourceTest.test_getrusagez.setting RLIMIT_CPU is not supported on VxWorksc C sH zt �t j�}W n
ty Y d S w G dd� d�}t �t j|� � d S )Nc @ s e Zd Zdd� Zdd� ZdS )z9ResourceTest.test_setrusage_refcount.<locals>.BadSequencec S � dS �N� r r
r r r �__len__~ � zAResourceTest.test_setrusage_refcount.<locals>.BadSequence.__len__c S s |dv rt ttd���S t�)N)r � i@B )�len�tupler �
IndexError�r �keyr r r �__getitem__� s zEResourceTest.test_setrusage_refcount.<locals>.BadSequence.__getitem__N��__name__�
__module__�__qualname__r1 r9 r r r r �BadSequence} s r>