Your IP : 216.73.216.213
3
� f� � @ s� d Z dZdZddlZddlmZmZ ed�ZddlZddl Z ddl
mZ ej� Z
G dd � d ej�ZG d
d� dej�Zedkr�ej� dS )
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.
� �2 � N)�
start_threads�
import_module� threading)� print_excc @ s e Zd ZdZdZdd� ZdS )�TempFileGreedyr c
C st t j� | _tj� x\tt�D ]P}ytjd�}|j � W n& | j
d7 _
t| jd� Y qX | jd7 _qW d S )Nzw+b� )�file)
�io�StringIO�errors�
startEvent�wait�range�FILES_PER_THREAD�tempfileZ
TemporaryFile�close�error_countr �ok_count)�self�i�f� r �?/opt/alt/python36/lib64/python3.6/test/test_threadedtempfile.py�run! s
zTempFileGreedy.runN)�__name__�
__module__�__qualname__r r r r r r r r s r c @ s e Zd Zdd� ZdS )�ThreadedTempFileTestc C s� dd� t t�D �}t|tj�� W d Q R X tdd� |D ��}dd� |D �}dt|�|dj|�f }| j|g |� | j|tt � d S )Nc S s g | ]
}t � �qS r )r )�.0r r r r �
<listcomp>1 s z2ThreadedTempFileTest.test_main.<locals>.<listcomp>c s s | ]}|j V qd S )N)r )r �tr r r � <genexpr>4 s z1ThreadedTempFileTest.test_main.<locals>.<genexpr>c S s* g | ]"}|j rt|j�t|jj� � �qS r )r �str�namer
�getvalue)r r"