From fff5819ee728aa62fd857982f799ecc0fac0fd5e Mon Sep 17 00:00:00 2001 From: Timothee Cour Date: Sat, 13 Feb 2021 00:51:46 -0800 Subject: fix #16978 unittest js foreign exception (#16998) * fix #16978 unittest js foreign exception --- lib/pure/unittest.nim | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'lib/pure/unittest.nim') diff --git a/lib/pure/unittest.nim b/lib/pure/unittest.nim index c387e14e1..21087e8ef 100644 --- a/lib/pure/unittest.nim +++ b/lib/pure/unittest.nim @@ -515,7 +515,9 @@ template suite*(name, body) {.dirty.} = finally: suiteEnded() -template exceptionTypeName(e: typed): string = $e.name +proc exceptionTypeName(e: ref Exception): string {.inline.} = + if e == nil: "" + else: $e.name template test*(name, body) {.dirty.} = ## Define a single test case identified by `name`. @@ -552,8 +554,11 @@ template test*(name, body) {.dirty.} = let e = getCurrentException() let eTypeDesc = "[" & exceptionTypeName(e) & "]" checkpoint("Unhandled exception: " & getCurrentExceptionMsg() & " " & eTypeDesc) - var stackTrace {.inject.} = e.getStackTrace() - fail() + if e == nil: # foreign + fail() + else: + var stackTrace {.inject.} = e.getStackTrace() + fail() finally: if testStatusIMPL == TestStatus.FAILED: -- cgit 1.4.1-2-gfad0 tive' href='/ahoang/Nim/blame/compiler/astalgo.nim?h=devel&id=567b7d5a6a7fe426355b496b22b7ec573929b2d3'>blame commit diff stats
blob: 3ba43b4c5926430622cb11296ccb4d7c3ec15985 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13