--- a/tests/run-tests.py Sun Apr 20 00:03:32 2014 -0700
+++ b/tests/run-tests.py Sun Apr 20 00:06:30 2014 -0700
@@ -1034,59 +1034,6 @@
except KeyboardInterrupt:
abort = True
-def runtests(runner, tests):
- try:
- if runner.inst:
- runner.installhg()
- runner.checkhglib("Testing")
- else:
- runner.usecorrectpython()
-
- if runner.options.restart:
- orig = list(tests)
- while tests:
- if os.path.exists(tests[0] + ".err"):
- break
- tests.pop(0)
- if not tests:
- print "running all tests"
- tests = orig
-
- scheduletests(runner, tests)
-
- failed = len(runner.results['!'])
- warned = len(runner.results['~'])
- tested = len(runner.results['.']) + failed + warned
- skipped = len(runner.results['s'])
- ignored = len(runner.results['i'])
-
- print
- if not runner.options.noskips:
- for s in runner.results['s']:
- print "Skipped %s: %s" % s
- for s in runner.results['~']:
- print "Warned %s: %s" % s
- for s in runner.results['!']:
- print "Failed %s: %s" % s
- runner.checkhglib("Tested")
- print "# Ran %d tests, %d skipped, %d warned, %d failed." % (
- tested, skipped + ignored, warned, failed)
- if runner.results['!']:
- print 'python hash seed:', os.environ['PYTHONHASHSEED']
- if runner.options.time:
- runner.outputtimes()
-
- if runner.options.anycoverage:
- runner.outputcoverage()
- except KeyboardInterrupt:
- failed = True
- print "\ninterrupted!"
-
- if failed:
- return 1
- if warned:
- return 80
-
class TestRunner(object):
"""Holds context for executing tests.
@@ -1117,6 +1064,59 @@
}
self._createdfiles = []
+ def runtests(self, tests):
+ try:
+ if self.inst:
+ self.installhg()
+ self.checkhglib("Testing")
+ else:
+ self.usecorrectpython()
+
+ if self.options.restart:
+ orig = list(tests)
+ while tests:
+ if os.path.exists(tests[0] + ".err"):
+ break
+ tests.pop(0)
+ if not tests:
+ print "running all tests"
+ tests = orig
+
+ scheduletests(self, tests)
+
+ failed = len(self.results['!'])
+ warned = len(self.results['~'])
+ tested = len(self.results['.']) + failed + warned
+ skipped = len(self.results['s'])
+ ignored = len(self.results['i'])
+
+ print
+ if not self.options.noskips:
+ for s in self.results['s']:
+ print "Skipped %s: %s" % s
+ for s in self.results['~']:
+ print "Warned %s: %s" % s
+ for s in self.results['!']:
+ print "Failed %s: %s" % s
+ self.checkhglib("Tested")
+ print "# Ran %d tests, %d skipped, %d warned, %d failed." % (
+ tested, skipped + ignored, warned, failed)
+ if self.results['!']:
+ print 'python hash seed:', os.environ['PYTHONHASHSEED']
+ if self.options.time:
+ self.outputtimes()
+
+ if self.options.anycoverage:
+ self.outputcoverage()
+ except KeyboardInterrupt:
+ failed = True
+ print "\ninterrupted!"
+
+ if failed:
+ return 1
+ if warned:
+ return 80
+
def gettest(self, test, count):
"""Obtain a Test by looking at its filename.
@@ -1433,7 +1433,7 @@
vlog("# Using", IMPL_PATH, os.environ[IMPL_PATH])
try:
- return runtests(runner, tests) or 0
+ return runner.runtests(tests) or 0
finally:
time.sleep(.1)
runner.cleanup()