equal
deleted
inserted
replaced
454 self._duration)) |
454 self._duration)) |
455 raise |
455 raise |
456 except Exception, e: |
456 except Exception, e: |
457 return self.fail('Exception during execution: %s' % e, 255) |
457 return self.fail('Exception during execution: %s' % e, 255) |
458 |
458 |
459 killdaemons(env['DAEMON_PIDS']) |
|
460 |
|
461 def describe(ret): |
459 def describe(ret): |
462 if ret < 0: |
460 if ret < 0: |
463 return 'killed by signal: %d' % -ret |
461 return 'killed by signal: %d' % -ret |
464 return 'returned error code %d' % ret |
462 return 'returned error code %d' % ret |
465 |
463 |
520 |
518 |
521 return self._result |
519 return self._result |
522 |
520 |
523 def tearDown(self): |
521 def tearDown(self): |
524 """Tasks to perform after run().""" |
522 """Tasks to perform after run().""" |
|
523 for entry in self._daemonpids: |
|
524 killdaemons(entry) |
|
525 self._daemonpids = [] |
|
526 |
525 if not self._options.keep_tmpdir: |
527 if not self._options.keep_tmpdir: |
526 shutil.rmtree(self._testtmp) |
528 shutil.rmtree(self._testtmp) |
527 |
529 |
528 if (self._ret != 0 or self._out != self._refout) and not self._skipped \ |
530 if (self._ret != 0 or self._out != self._refout) and not self._skipped \ |
529 and not self._options.debug and self._out: |
531 and not self._options.debug and self._out: |