16 from gevent
import monkey
19 threadpool = gevent.hub.get_hub().threadpool
26 threadpool.maxsize = 1024
29 import traceback, signal
30 from typing
import Sequence
47 if event
in (
"switch",
"throw"):
49 sys.stderr.write(
"{} Transfer from {} to {} with {}\n".
format(datetime.datetime.now(), origin, target, event))
51 sys.stderr.write(
"Unknown event {}.\n".
format(event))
54 if os.getenv(
"GREENLET_TRACE")
is not None:
55 greenlet.settrace(trace_callback)
59 d.update(frame.f_globals)
60 d.update(frame.f_locals)
62 sys.stderr.write(
"Traceback:\n{}".
format(
"\n".join(traceback.format_stack(frame))))
63 import gevent.util; gevent.util.print_run_info()
66 signal.signal(signal.SIGTERM, debug)
71 loader = unittest.TestLoader()
72 self.
suite = unittest.TestSuite()
74 for importer, module_name, is_package
in pkgutil.walk_packages([os.path.dirname(os.path.relpath(__file__))]):
75 if pattern
in module_name:
76 module = importer.find_module(module_name).load_module(module_name)
77 tests.append(loader.loadTestsFromModule(module))
79 raise AssertionError(
"Expected only 1 test module. Found {}".
format(tests))
80 self.
suite.addTest(tests[0])
86 if __name__ ==
"__main__":
88 if len(sys.argv) != 2:
89 print(f
"USAGE: {sys.argv[0]} TARGET_MODULE", file=sys.stderr)
91 target_module = sys.argv[1]
94 runner = unittest.TextTestRunner()
96 result = gevent.spawn(runner.run, loader.suite)
98 if not result.value.wasSuccessful():
99 sys.exit(
"Test failure.")