##// END OF EJS Templates
run-tests: report test duration in Test.tearDown()
Gregory Szorc -
r21450:a6e40416 default
parent child Browse files
Show More
@@ -359,6 +359,7 b' class Test(object):'
359 self._finished = None
359 self._finished = None
360 self._ret = None
360 self._ret = None
361 self._out = None
361 self._out = None
362 self._duration = None
362
363
363 # If we're not in --debug mode and reference output file exists,
364 # If we're not in --debug mode and reference output file exists,
364 # check test output against it.
365 # check test output against it.
@@ -386,6 +387,7 b' class Test(object):'
386 self._finished = False
387 self._finished = False
387 self._ret = None
388 self._ret = None
388 self._out = None
389 self._out = None
390 self._duration = None
389
391
390 def run(self):
392 def run(self):
391 """Run this test instance.
393 """Run this test instance.
@@ -435,13 +437,14 b' class Test(object):'
435 starttime = time.time()
437 starttime = time.time()
436 try:
438 try:
437 ret, out = self._run(testtmp, replacements, env)
439 ret, out = self._run(testtmp, replacements, env)
438 duration = time.time() - starttime
440 self._duration = time.time() - starttime
439 self._finished = True
441 self._finished = True
440 self._ret = ret
442 self._ret = ret
441 self._out = out
443 self._out = out
442 except KeyboardInterrupt:
444 except KeyboardInterrupt:
443 duration = time.time() - starttime
445 self._duration = time.time() - starttime
444 log('INTERRUPTED: %s (after %d seconds)' % (self.name, duration))
446 log('INTERRUPTED: %s (after %d seconds)' % (self.name,
447 self._duration))
445 raise
448 raise
446 except Exception, e:
449 except Exception, e:
447 return self.fail('Exception during execution: %s' % e, 255)
450 return self.fail('Exception during execution: %s' % e, 255)
@@ -518,12 +521,14 b' class Test(object):'
518 sys.stdout.flush()
521 sys.stdout.flush()
519 iolock.release()
522 iolock.release()
520
523
521 self._runner.times.append((self.name, duration))
524 if not self._unittest:
525 self.tearDown()
522
526
523 return res
527 return res
524
528
525 def tearDown(self):
529 def tearDown(self):
526 """Tasks to perform after run()."""
530 """Tasks to perform after run()."""
531 self._runner.times.append((self.name, self._duration))
527
532
528 def _run(self, testtmp, replacements, env):
533 def _run(self, testtmp, replacements, env):
529 # This should be implemented in child classes to run tests.
534 # This should be implemented in child classes to run tests.
General Comments 0
You need to be logged in to leave comments. Login now