Author: Ronny Pfannschmidt <[email protected]>
Branch: refine-testrunner
Changeset: r55884:58a1a72916b3
Date: 2012-07-01 17:00 +0200
http://bitbucket.org/pypy/pypy/changeset/58a1a72916b3/
Log: move testrunner option parser to util, simplify the main function
diff --git a/testrunner/runner.py b/testrunner/runner.py
--- a/testrunner/runner.py
+++ b/testrunner/runner.py
@@ -1,4 +1,4 @@
-import sys, os, signal, thread, Queue, time
+import sys, os, thread, Queue
import py
import util
@@ -163,9 +163,8 @@
timeout = None
cherrypick = None
- def __init__(self, root):
- self.root = root
- self.self = self
+ def __init__(self, opts):
+ self.root = py.path.local(opts.root)
def startup(self):
pass
@@ -212,28 +211,8 @@
pass
-def main(args, RunParam=RunParam):
- parser = optparse.OptionParser()
- parser.add_option("--logfile", dest="logfile", default=None,
- help="accumulated machine-readable logfile")
- parser.add_option("--output", dest="output", default='-',
- help="plain test output (default: stdout)")
- parser.add_option("--config", dest="config", default=[],
- action="append",
- help="configuration python file (optional)")
- parser.add_option("--root", dest="root", default=".",
- help="root directory for the run")
- parser.add_option("--parallel-runs", dest="parallel_runs", default=0,
- type="int",
- help="number of parallel test runs")
- parser.add_option("--dry-run", dest="dry_run", default=False,
- action="store_true",
- help="dry run"),
- parser.add_option("--timeout", dest="timeout", default=None,
- type="int",
- help="timeout in secs for test processes")
-
- opts, args = parser.parse_args(args)
+def main(opts, args):
+
if opts.logfile is None:
print "no logfile specified"
@@ -245,11 +224,10 @@
else:
out = open(opts.output, WRITE_MODE)
- root = py.path.local(opts.root)
testdirs = []
- run_param = RunParam(root)
+ run_param = RunParam(opts)
# the config files are python files whose run overrides the content
# of the run_param instance namespace
# in that code function overriding method should not take self
@@ -272,7 +250,7 @@
run_param.timeout = opts.timeout
run_param.dry_run = opts.dry_run
- if run_param.dry_run:
+ if opts.dry_run:
print >>out, run_param.__dict__
res = execute_tests(run_param, testdirs, logfile, out)
@@ -282,4 +260,5 @@
if __name__ == '__main__':
- main(sys.argv)
+ opts, args = util.parser.parse_args()
+ main(opts, args)
diff --git a/testrunner/util.py b/testrunner/util.py
--- a/testrunner/util.py
+++ b/testrunner/util.py
@@ -3,6 +3,30 @@
import subprocess
import signal
import time
+import optparse
+
+parser = optparse.OptionParser()
+parser.add_option("--logfile", dest="logfile", default=None,
+ help="accumulated machine-readable logfile")
+parser.add_option("--output", dest="output", default='-',
+ help="plain test output (default: stdout)")
+parser.add_option("--config", dest="config", default=[],
+ action="append",
+ help="configuration python file (optional)")
+parser.add_option("--root", dest="root", default=".",
+ help="root directory for the run")
+parser.add_option("--parallel-runs", dest="parallel_runs", default=0,
+ type="int",
+ help="number of parallel test runs")
+parser.add_option("--dry-run", dest="dry_run", default=False,
+ action="store_true",
+ help="dry run"),
+parser.add_option("--timeout", dest="timeout", default=None,
+ type="int",
+ help="timeout in secs for test processes")
+
+
+
if sys.platform == 'win32':
PROCESS_TERMINATE = 0x1
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit