equal
deleted
inserted
replaced
358 |
358 |
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 self._duration = None |
|
363 self._result = None |
363 |
364 |
364 # If we're not in --debug mode and reference output file exists, |
365 # If we're not in --debug mode and reference output file exists, |
365 # check test output against it. |
366 # check test output against it. |
366 if runner.options.debug: |
367 if runner.options.debug: |
367 self._refout = None # to match "out is None" |
368 self._refout = None # to match "out is None" |
386 """Tasks to perform before run().""" |
387 """Tasks to perform before run().""" |
387 self._finished = False |
388 self._finished = False |
388 self._ret = None |
389 self._ret = None |
389 self._out = None |
390 self._out = None |
390 self._duration = None |
391 self._duration = None |
|
392 self._result = None |
391 |
393 |
392 def run(self): |
394 def run(self): |
393 """Run this test instance. |
395 """Run this test instance. |
394 |
396 |
395 This will return a tuple describing the result of the test. |
397 This will return a tuple describing the result of the test. |
470 |
472 |
471 if not missing: |
473 if not missing: |
472 missing = ['irrelevant'] |
474 missing = ['irrelevant'] |
473 |
475 |
474 if failed: |
476 if failed: |
475 res = self.fail('hg have failed checking for %s' % failed[-1], |
477 self._result = self.fail('hg have failed checking for %s' % |
476 ret) |
478 failed[-1], ret) |
477 else: |
479 else: |
478 skipped = True |
480 skipped = True |
479 res = self.skip(missing[-1]) |
481 self._result = self.skip(missing[-1]) |
480 elif ret == 'timeout': |
482 elif ret == 'timeout': |
481 res = self.fail('timed out', ret) |
483 self._result = self.fail('timed out', ret) |
482 elif out != self._refout: |
484 elif out != self._refout: |
483 info = {} |
485 info = {} |
484 if not options.nodiff: |
486 if not options.nodiff: |
485 iolock.acquire() |
487 iolock.acquire() |
486 if options.view: |
488 if options.view: |
502 and not options.debug: |
504 and not options.debug: |
503 f = open(self._errpath, 'wb') |
505 f = open(self._errpath, 'wb') |
504 for line in out: |
506 for line in out: |
505 f.write(line) |
507 f.write(line) |
506 f.close() |
508 f.close() |
507 res = self.fail(msg, ret) |
509 |
|
510 self._result = self.fail(msg, ret) |
508 elif ret: |
511 elif ret: |
509 res = self.fail(describe(ret), ret) |
512 self._result = self.fail(describe(ret), ret) |
510 else: |
513 else: |
511 res = self.success() |
514 self._result = self.success() |
512 |
515 |
513 |
516 |
514 vlog("# Ret was:", ret) |
517 vlog("# Ret was:", ret) |
515 |
518 |
516 # Don't print progress in unittest mode because that is handled |
519 # Don't print progress in unittest mode because that is handled |
517 # by TestResult. |
520 # by TestResult. |
518 if not options.verbose and not self._unittest: |
521 if not options.verbose and not self._unittest: |
519 iolock.acquire() |
522 iolock.acquire() |
520 sys.stdout.write(res[0]) |
523 sys.stdout.write(self._result[0]) |
521 sys.stdout.flush() |
524 sys.stdout.flush() |
522 iolock.release() |
525 iolock.release() |
523 |
526 |
524 if not self._unittest: |
527 if not self._unittest: |
525 self.tearDown() |
528 self.tearDown() |
526 |
529 |
527 return res |
530 return self._result |
528 |
531 |
529 def tearDown(self): |
532 def tearDown(self): |
530 """Tasks to perform after run().""" |
533 """Tasks to perform after run().""" |
531 self._runner.times.append((self.name, self._duration)) |
534 self._runner.times.append((self.name, self._duration)) |
532 |
535 |