#!/usr/bin/env python import defl from defl import log, cl from defl.testing_ import Tester, Test, TestState testerToTest = Tester(name='toTest') @testerToTest.add(assertResult=True) def retTrue(): return True @testerToTest.add(assertResult=True) def retFalseAssertTrue(): return False @testerToTest.add() def ret1(): return 1 @testerToTest.add() def retNone(): return None @testerToTest.add() def raiseValueError(): raise ValueError() @testerToTest.add() def assertFail(): assert False @testerToTest.add() def assertSuccess(): assert True # testerToTest.run() tester = Tester(name=__file__) @tester.add() def checkResults(): assert testerToTest._tests @tester.add() def allTest(): assert all(isinstance(x, Test) for x in testerToTest._tests) @tester.add() def allPending(): assert all(x.state is TestState.Pending for x in testerToTest._tests) @tester.add() def runAndAllNotPending(): log.info(testerToTest.run()) assert all(x.state is not TestState.Pending for x in testerToTest._tests) def getTestByFuncName(funcName): return [x for x in testerToTest._tests if x.func.__name__ == funcName][0] @tester.add() def testerToTest_retTrue(): assert getTestByFuncName("retTrue").result == True @tester.add() def testerToTest_retFalseAssertTrue(): assert getTestByFuncName("retFalseAssertTrue").result == False assert getTestByFuncName("retFalseAssertTrue").state is TestState.FailedAssert @tester.add() def testerToTest_ret1(): assert getTestByFuncName("ret1").result == 1 assert getTestByFuncName("ret1").state is TestState.Success @tester.add() def testerToTest_retNone(): assert getTestByFuncName("retNone").result == None @tester.add() def testerToTest_raiseValueError(): assert str(getTestByFuncName("raiseValueError").result) == 'ValueError' @tester.add() def testerToTest_assertFail(): assert str(getTestByFuncName("assertFail").result) == 'AssertionError' @tester.add() def testerToTest_assertSuccess(): assert getTestByFuncName("assertSuccess").result == None log.info(tester.run()) tester.exitWithStatus()