Your IP : 216.73.216.85


Current Path : /opt/alt/python310/lib64/python3.10/test/__pycache__/
Upload File :
Current File : //opt/alt/python310/lib64/python3.10/test/__pycache__/test_threadedtempfile.cpython-310.pyc

o

0�i~�@s�dZddlZddlmZddlZddlZddlZddlmZdZ	dZ
e��ZGdd�dej
�ZGd	d
�d
ej�ZedkrBe��dSdS)an
Create and delete FILES_PER_THREAD temp files (via tempfile.TemporaryFile)
in each of NUM_THREADS threads, recording the number of successes and
failures.  A failure is a bug in tempfile, and may be due to:

+ Trying to create more than one tempfile with the same name.
+ Trying to delete a tempfile that doesn't still exist.
+ Something we've never seen before.

By default, NUM_THREADS == 20 and FILES_PER_THREAD == 50.  This is enough to
create about 150 failures per run under Win98SE in 2.0, and runs pretty
quickly. Guido reports needing to boost FILES_PER_THREAD to 500 before
provoking a 2.0 failure under Linux.
�N)�threading_helper)�	print_exc��2c@seZdZdZdZdd�ZdS)�TempFileGreedyrcCsnt��|_t��tt�D]'}zt�d�}|�	�Wn|j
d7_
t|jd�Yq
|jd7_q
dS)Nzw+b�)�file)
�io�StringIO�errors�
startEvent�wait�range�FILES_PER_THREAD�tempfileZ
TemporaryFile�close�error_countr�ok_count)�self�i�f�r�A/opt/alt/python310/lib64/python3.10/test/test_threadedtempfile.py�run$s

�zTempFileGreedy.runN)�__name__�
__module__�__qualname__rrrrrrrr src@seZdZdd�ZdS)�ThreadedTempFileTestcCs�dd�tt�D�}t�|tj��Wd�n1swYtdd�|D��}dd�|D�}dt|�|d�|�f}|�	|g|�|�	|tt
�dS)NcSsg|]}t��qSr)r)�.0rrrr�
<listcomp>4sz2ThreadedTempFileTest.test_main.<locals>.<listcomp>css�|]}|jVqdS)N)r�r�trrr�	<genexpr>7s�z1ThreadedTempFileTest.test_main.<locals>.<genexpr>cSs*g|]}|jrt|j�t|j����qSr)r�str�namer�getvaluer rrrr8s�zErrors: errors %d ok %d
%s�
)r�NUM_THREADSrZ
start_threadsr�set�sum�len�joinZassertEqualr)rZthreads�okr�msgrrr�	test_main3s��
�zThreadedTempFileTest.test_mainN)rrrr.rrrrr2sr�__main__)�__doc__rZtest.supportrZunittestr	Z	threading�	tracebackrr'rZEventrZThreadrZTestCaserr�mainrrrr�<module>s�