def random_points_test(min, max, delay, n, lines, columns, max_count, fps, test_class = DiagramTest): # test main-thread execution (previewer run as main thread): preview = Preview(title = test_class.__name__ + " - Main-thread test with random points", lines = lines, columns = columns, fps_limit = fps, painter_class = VoronoiDiagram) x, y = preview.panel_dimensions() preview.interactive(True) preview.start() # create tests threads = [] remove = None while True: if len(threads) < n: test = test_class(TestCases.random_points(min, max, x, y), delay) threads.append(test) test.start() preview.add_view(test.diagram) for i in xrange(0, len(threads)): if threads[i].counter >= max_count: preview.del_view(threads[i].diagram) threads[i].stop() del threads[i] break if not preview.step(): break # stop tests threads for t in threads: t.stop()