def wrapper(*args, **kwargs): try: return func(*args, **kwargs) except Exception as e: exc = ContOnFailError(str(e)) exc.tb = sys.exc_info() return exc
def call(self, func, *args, **kwargs): if not self.print_enter: self.enter() check = "exp" in kwargs exp = kwargs.pop("exp", None) self.add(func, *args, **kwargs) self.execute() if type(self.result[-1].output()) is ContOnFailError: pass elif check: r = self.result[-1].output() == exp if not r: r = ContOnFailError( "Teardown Assertion FAIL :\nExp: {} Actual: {}".format( exp, self.result[-1].output())) r.tb = (None, None, None) self.result[-1].result = r self.print_log(self.result[-1])