tests/run-tests.py
changeset 21306 cbf5475827da
parent 21305 d7a7825ff2cf
child 21307 cd4fd7b3c3c4
equal deleted inserted replaced
21305:d7a7825ff2cf 21306:cbf5475827da
   557         self._testtmp = os.path.join(self.threadtmp, os.path.basename(path))
   557         self._testtmp = os.path.join(self.threadtmp, os.path.basename(path))
   558         os.mkdir(self._testtmp)
   558         os.mkdir(self._testtmp)
   559 
   559 
   560         self._setreplacements(count)
   560         self._setreplacements(count)
   561 
   561 
   562     def run(self):
   562     def run(self, result):
   563         env = self._getenv()
   563         env = self._getenv()
   564         createhgrc(env['HGRCPATH'], self._options)
   564         createhgrc(env['HGRCPATH'], self._options)
   565 
   565 
   566         result = TestResult()
       
   567         starttime = time.time()
   566         starttime = time.time()
   568 
   567 
   569         def updateduration():
   568         def updateduration():
   570             result.duration = time.time() - starttime
   569             result.duration = time.time() - starttime
   571 
   570 
   580         except Exception, e:
   579         except Exception, e:
   581             updateduration()
   580             updateduration()
   582             result.exception = e
   581             result.exception = e
   583 
   582 
   584         killdaemons(env['DAEMON_PIDS'])
   583         killdaemons(env['DAEMON_PIDS'])
   585 
       
   586         return result
       
   587 
   584 
   588     def _run(self, replacements, env):
   585     def _run(self, replacements, env):
   589         raise NotImplemented('Subclasses must implement Test.run()')
   586         raise NotImplemented('Subclasses must implement Test.run()')
   590 
   587 
   591     def _setreplacements(self, count):
   588     def _setreplacements(self, count):
  1050 
  1047 
  1051     if os.path.exists(err):
  1048     if os.path.exists(err):
  1052         os.remove(err)       # Remove any previous output files
  1049         os.remove(err)       # Remove any previous output files
  1053 
  1050 
  1054     t = runner(testpath, options, count)
  1051     t = runner(testpath, options, count)
  1055     res = t.run()
  1052     res = TestResult()
       
  1053     t.run(res)
  1056 
  1054 
  1057     if res.interrupted:
  1055     if res.interrupted:
  1058         log('INTERRUPTED: %s (after %d seconds)' % (test, res.duration))
  1056         log('INTERRUPTED: %s (after %d seconds)' % (test, res.duration))
  1059         raise KeyboardInterrupt()
  1057         raise KeyboardInterrupt()
  1060 
  1058