def run(self): ''' iterate through the tests and invoke setup -> run -> cleanup ''' os.chdir(self.sandboxPath) ctr = 1 skipTests = False for test in self.tests: if skipTests == True: test.result.comment = 'Skipping test due to previous failure' else: test.testIndex = ctr test.sandboxPath = self.sandboxPath ctr += 1 try: timeout.call_with_timeout(test.setup, test.setupTimeout)() test.run() skipTests = test.checkSkipNext() except timeout.TimeoutException: test.printTimeoutFailure(test.setupTimeout) except OSError,e: print "Cannot find your program binary" print e skipTests = True continue except Exception, e: print "Something went wrong! %s" % e continue try: test.cleanup() except: pass skipTests = test.skipNext
def run(self): try: if self.program.poll() != None: raise RuntimeError timeout.call_with_timeout(self.test, self.testTimeout)() self.result.passed = True self.printSuccess() except AssertionError,e: self.result.passed = False self.printFailure(e)
def run(self): try: timeout.call_with_timeout(self.test, self.testTimeout)() self.result.passed = True self.printSuccess() except timeout.TimeoutException: self.result.passed = False self.skipNext = True self.printTimeoutFailure(self.testTimeout) except RuntimeError, e: self.result.passed = False self.skipNext = True self.printSetupFailure()
def run(self): self.testTimeout = 60 try: timeout.call_with_timeout(self.test, self.testTimeout)() self.result.passed = True self.printSuccess() except timeout.TimeoutException: self.skipNext = True self.result.passed = False self.printTimeoutFailure(self.testTimeout) except NotImplementedError, e: self.result.passed = False self.skipNext = True print self.skipMessage
def run(self): try: if self.program.poll() != None: raise RuntimeError timeout.call_with_timeout(self.test, self.testTimeout)() self.result.passed = True self.printSuccess() except AssertionError: self.result.passed = False self.printFailure() except timeout.TimeoutException: self.result.passed = False self.printTimeoutFailure(self.testTimeout) except NotImplementedError, e: self.result.passed = False self.skipNext = True print self.skipMessage
from timeout_decorator import timeout_decorator class Test(unittest.TestCase): # @timed # @pytest.mark.timeout(3) # @timeout(timeout=2) # @timeout() # @timeout_decorator.timeout(2) def test_main(self): print 'test_main' time.sleep(10) # for i in range(5): # print 'i', i # time.sleep(1) print 'finish' if __name__ == '__main__': suite = unittest.TestSuite() suite.addTest( Test('test_main'), ) report = './' runner = xmlrunner.XMLTestRunner(output=report, stream=sys.stderr, verbosity=2) for test in suite._tests: suite._tests[suite._tests.index(test)] = call_with_timeout(test, 4) runner.run(suite)