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

Reply via email to