diff options
Diffstat (limited to 'tests/assert/tfailedassert.nim')
-rw-r--r-- | tests/assert/tfailedassert.nim | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/tests/assert/tfailedassert.nim b/tests/assert/tfailedassert.nim deleted file mode 100644 index 1e6764471..000000000 --- a/tests/assert/tfailedassert.nim +++ /dev/null @@ -1,51 +0,0 @@ -discard """ - output: ''' -WARNING: false first assertion from bar -ERROR: false second assertion from bar --1 -tests/assert/tfailedassert.nim:27 false assertion from foo -''' -""" - -type - TLineInfo = tuple[filename: string, line: int] - - TMyError = object of Exception - lineinfo: TLineInfo - - EMyError = ref TMyError - -# module-wide policy to change the failed assert -# exception type in order to include a lineinfo -onFailedAssert(msg): - var e = new(TMyError) - e.msg = msg - e.lineinfo = instantiationInfo(-2) - raise e - -proc foo = - assert(false, "assertion from foo") - -proc bar: int = - # local overrides that are active only - # in this proc - onFailedAssert(msg): echo "WARNING: " & msg - - assert(false, "first assertion from bar") - - onFailedAssert(msg): - echo "ERROR: " & msg - return -1 - - assert(false, "second assertion from bar") - return 10 - -echo("") -echo(bar()) - -try: - foo() -except: - let e = EMyError(getCurrentException()) - echo e.lineinfo.filename, ":", e.lineinfo.line, " ", e.msg - |