diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pure/unittest.nim | 6 | ||||
-rw-r--r-- | lib/std/exitprocs.nim | 10 |
2 files changed, 9 insertions, 7 deletions
diff --git a/lib/pure/unittest.nim b/lib/pure/unittest.nim index 9dafa8f03..964fba0e4 100644 --- a/lib/pure/unittest.nim +++ b/lib/pure/unittest.nim @@ -519,6 +519,12 @@ proc exceptionTypeName(e: ref Exception): string {.inline.} = if e == nil: "<foreign exception>" else: $e.name +when not declared(setProgramResult): + {.warning: "setProgramResult not available on platform, unittest will not" & + " give failing exit code on test failure".} + template setProgramResult(a: int) = + discard + template test*(name, body) {.dirty.} = ## Define a single test case identified by `name`. ## diff --git a/lib/std/exitprocs.nim b/lib/std/exitprocs.nim index 736bf06d1..c44eb30d6 100644 --- a/lib/std/exitprocs.nim +++ b/lib/std/exitprocs.nim @@ -69,23 +69,19 @@ proc addExitProc*(cl: proc() {.noconv.}) = fun() gFuns.add Fun(kind: kNoconv, fun2: cl) -when not defined(nimscript): +when not defined(nimscript) and (not defined(js) or defined(nodejs)): proc getProgramResult*(): int = when defined(js) and defined(nodejs): asm """ `result` = process.exitCode; """ - elif not defined(js): - result = programResult else: - doAssert false + result = programResult proc setProgramResult*(a: int) = when defined(js) and defined(nodejs): asm """ process.exitCode = `a`; """ - elif not defined(js): - programResult = a else: - doAssert false + programResult = a |