From 6d55e6e1ea49e306cf8d062a859eb266849e8b0e Mon Sep 17 00:00:00 2001 From: Denis Bilenko Date: Tue, 28 Oct 2008 13:41:35 +0600 Subject: [PATCH] added greentest/with_timeout.py: script to run a test with specific hub set up --- greentest/with_eventlet.py | 49 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100755 greentest/with_eventlet.py diff --git a/greentest/with_eventlet.py b/greentest/with_eventlet.py new file mode 100755 index 0000000..7f24d24 --- /dev/null +++ b/greentest/with_eventlet.py @@ -0,0 +1,49 @@ +#!/usr/bin/python +"""Execute python script with hub installed. + +Usage: %prog [--hub HUB] [--reactor REACTOR] program.py +""" +import sys +import optparse + +def import_green(modulename): + m = __import__('eventlet.green.' + modulename) + m = m.green.getattr(modulename) + return m + +def import_reactor(reactor): + m = __import__('twisted.internet.' + reactor) + return getattr(m.internet, reactor) + +def setup_hub(hub, reactor): + if reactor is not None: + import_reactor(reactor).install() + if hub is not None: + from eventlet.api import use_hub + use_hub(hub) + +def parse_args(): + hub = None + reactor = None + del sys.argv[0] # kill with_eventlet.py + if sys.argv[0]=='--hub': + del sys.argv[0] + hub = sys.argv[0] + del sys.argv[0] + if sys.argv[0]=='--reactor': + del sys.argv[0] + reactor = sys.argv[0] + del sys.argv[0] + return hub, reactor + +if __name__=='__main__': + hub, reactor = parse_args() + setup_hub(hub, reactor) + from eventlet.api import get_hub + hub = get_hub() # set up the hub now + print '===HUB=%r' % hub + if 'twisted.internet.reactor' in sys.modules: + print '===REACTOR=%r' % sys.modules['twisted.internet.reactor'] + sys.stdout.flush() + execfile(sys.argv[0]) +