]> granicus.if.org Git - python/commitdiff
Test failed because these was no expected-output file, but always printed
authorTim Peters <tim.peters@gmail.com>
Mon, 20 Aug 2001 21:45:19 +0000 (21:45 +0000)
committerTim Peters <tim.peters@gmail.com>
Mon, 20 Aug 2001 21:45:19 +0000 (21:45 +0000)
to stdout.  Repaired by not printing at all except in verbose mode.

Made the test about 6x faster -- envelope analysis showed it took time
proportional to the square of the # of tasks.  Now it's linear.

Lib/test/test_threading.py

index 87262b12cfe72ee8022267a5ab00a35203325f6e..52301177de1efbcd5ba5f31ac41a927ddf0172fa 100644 (file)
@@ -7,6 +7,8 @@ import random
 import threading
 import time
 
+# This takes about n/3 seconds to run (about n/3 clumps of tasks, times
+# about 1 second per clump).
 numtasks = 10
 
 # no more than 3 of the 10 can run at once
@@ -17,9 +19,9 @@ running = 0
 class TestThread(threading.Thread):
     def run(self):
         global running
-        delay = random.random() * numtasks
+        delay = random.random() * 2
         if verbose:
-            print 'task', self.getName(), 'will run for', round(delay, 1), 'sec'
+            print 'task', self.getName(), 'will run for', delay, 'sec'
         sema.acquire()
         mutex.acquire()
         running = running + 1
@@ -45,8 +47,9 @@ def starttasks():
 
 starttasks()
 
-print 'waiting for all tasks to complete'
+if verbose:
+    print 'waiting for all tasks to complete'
 for t in threads:
     t.join()
-print 'all tasks done'
-
+if verbose:
+    print 'all tasks done'