Module Expr Str Assign NameStore Num Assign NameStore Num Import alias Import alias ImportFrom alias alias alias Import alias ImportFrom alias Import alias Assign NameStore Call AttributeLoad NameLoad attr ClassDef bases AttributeLoad NameLoad attr body Assign NameStore Num Assign NameStore Num FunctionDef arguments args NameParam defaults body Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr For NameStore Call NameLoad NameLoad body TryExcept body Assign NameStore Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr handlers ExceptHandler body AugAssignAdd AttributeStore NameLoad attr Num Expr Call NameLoad keyword AttributeLoad NameLoad attr orelse AugAssignAdd AttributeStore NameLoad attr Num decorator_list decorator_list FunctionDef arguments args defaults body Assign NameStore ListLoad Assign NameStore Call NameLoad Print Str For NameStore Call NameLoad NameLoad body Assign NameStore Call NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Print Str Expr Call AttributeLoad NameLoad attr Print Str Assign NameStore NameStore Num For NameStore NameLoad body Expr Call AttributeLoad NameLoad attr AugAssignAdd NameStore AttributeLoad NameLoad attr AugAssignAdd NameStore AttributeLoad NameLoad attr If AttributeLoad NameLoad attr body Print BinOpMod Str TupleLoad Call AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore BinOpMod Str TupleLoad NameLoad NameLoad Print NameLoad If NameLoad body Raise Call NameLoad NameLoad Expr Call NameLoad NameLoad decorator_list If CompareEq NameLoad Str body Import alias alias Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr SubscriptLoad AttributeLoad NameLoad attr Slice Num Str For TupleStore NameStore NameStore NameLoad body If CompareEq NameLoad Str body Assign NameStore Call NameLoad NameLoad orelse If CompareEq NameLoad Str body Assign NameStore Call NameLoad NameLoad Expr Call NameLoad
N/A N/A 
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.  Run the test alone to boost either
via cmdline switches:

-f  FILES_PER_THREAD (int)
-t  NUM_THREADS (int)
 N/A NUM_THREADS 20 N/A FILES_PER_THREAD 50 N/A thread N/A threading test.test_support TestFailed threading_setup threading_cleanup N/A StringIO traceback print_exc N/A tempfile N/A startEvent N/A N/A threading Event TempFileGreedy N/A N/A threading Thread N/A N/A error_count 0 N/A ok_count 0 run N/A N/A self N/A N/A N/A N/A self errors N/A N/A StringIO StringIO N/A N/A N/A startEvent wait N/A i N/A range FILES_PER_THREAD N/A N/A N/A N/A f N/A N/A tempfile TemporaryFile w+b N/A N/A N/A f close N/A N/A N/A N/A N/A self error_count 1 N/A N/A print_exc file N/A self errors N/A N/A N/A self ok_count 1 N/A N/A test_main N/A N/A N/A N/A N/A threads N/A N/A thread_info N/A threading_setup N/A Creating N/A i N/A range NUM_THREADS N/A N/A t N/A TempFileGreedy N/A N/A N/A threads append t N/A N/A N/A t start N/A Starting N/A N/A N/A startEvent set N/A Reaping N/A ok errors 0 N/A t threads N/A N/A N/A N/A t join N/A ok N/A t ok_count N/A errors N/A t error_count N/A N/A t error_count N/A N/A N/A %s errors:
%s N/A N/A N/A t getName N/A N/A N/A t errors getvalue N/A msg N/A Done: errors %d ok %d N/A errors ok N/A msg N/A errors N/A N/A N/A TestFailed msg N/A N/A threading_cleanup thread_info N/A N/A N/A __name__ __main__ N/A N/A sys getopt N/A N/A opts args N/A N/A getopt getopt N/A N/A sys argv N/A 1 t:f: N/A N/A o v opts N/A N/A N/A o -f N/A N/A FILES_PER_THREAD N/A int v N/A N/A N/A o -t N/A N/A NUM_THREADS N/A int v N/A N/A test_main