def test_capture_exception_twice_caches_object(error): try: try: raise RuntimeError() except RuntimeError: err1 = Error.capture_exception() raise except RuntimeError: err2 = Error.capture_exception() assert err1 is err2
def test_capture_exception_twice_caches_object(): try: try: raise RuntimeError() except RuntimeError: err1 = Error.capture_exception() raise except RuntimeError: err2 = Error.capture_exception() assert err1 is err2
def error(): try: func_1() except: return Error.capture_exception() else: assert False, "Did not fail"
def test_error_frame_correction(): class CustomException(Exception): pass def f(): g() def g(): h() def h(): raise mark_exception_frame_correction(CustomException(), +2) try: f() except CustomException: err = Error.capture_exception() assert err.traceback.frames[-1].func_name == 'f'
def assertion_error(tmpdir): filename = tmpdir.join("file.py") filename.write(""" def f(x): return x def g(x): return x def func(): assert f(g(1)) == g(f(2))""") with dessert.rewrite_assertions_context(): module = emport.import_file(str(filename)) try: module.func() except: return Error.capture_exception() else: assert False, "Did not fail"