def run(self, result): result.startTest(self) try: if self.error: result.addError(self, self.errMsg) else: try: self.setUp() except KeyboardInterrupt: raise except: result.writeStream(sys.exc_info()) self._addErrorList(self, result, 'Driver:%s of %s set up error.\n' % (self.driver, self._name) ) else: for testMethod in self.testMethods: self.currentTestMethod = testMethod result.startTest(self) testFn = getattr(self._execModule, testMethod) try: testFn(self) except KeyboardInterrupt: raise except AssertionError: result.addFailure(self, sys.exc_info()) except: result.addError(self, sys.exc_info()) else: result.addSuccess(self) finally: result.stopTest(self) try: self.tearDown() except KeyboardInterrupt: raise except: result.writeStream(sys.exc_info()) result.writeStream('Driver:%s of %s tear down error.' % (self.driver, self._name)) finally: self.currentTestMethod =None result.stopTest(self)
def _addErrorList(self, result, error): for testMethod in self.testMethods: self.currentTestMethod = testMethod result.addError(self, error)