diff options
Diffstat (limited to 'tests/dll/nimhcr_integration.nim')
-rw-r--r-- | tests/dll/nimhcr_integration.nim | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/tests/dll/nimhcr_integration.nim b/tests/dll/nimhcr_integration.nim index 40ba90f72..ac34f1f85 100644 --- a/tests/dll/nimhcr_integration.nim +++ b/tests/dll/nimhcr_integration.nim @@ -1,5 +1,6 @@ discard """ -output: ''' + disabled: "true" + output: ''' main: HELLO! main: hasAnyModuleChanged? true main: before @@ -29,10 +30,12 @@ main: hasAnyModuleChanged? true 0: before - improved! main: before 2: random string +max mutual recursion reached! 1 bar 0: after - closure iterator: 0 0: after - closure iterator: 1 + 0: after - c_2 = [1, 2, 3] main: after The answer is: 9 main: hasAnyModuleChanged? true @@ -51,6 +54,20 @@ done ''' """ +#[ +xxx disabled: "openbsd" because it would otherwise give: +/home/build/Nim/lib/nimhcr.nim(532) hcrInit +/home/build/Nim/lib/nimhcr.nim(503) initModules +/home/build/Nim/lib/nimhcr.nim(463) initPointerData +/home/build/Nim/lib/nimhcr.nim(346) hcrRegisterProc +/home/build/Nim/lib/pure/reservedmem.nim(223) setLen +/home/build/Nim/lib/pure/reservedmem.nim(97) setLen +/home/build/Nim/lib/pure/includes/oserr.nim(94) raiseOSError +Error: unhandled exception: Not supported [OSError] + +After instrumenting code, the stacktrace actually points to the call to `check mprotect` +]# + ## This is perhaps the most complex test in the nim test suite - calling the ## compiler on the file itself with the same set or arguments and reloading ## parts of the program at runtime! In the same folder there are a few modules @@ -95,6 +112,7 @@ proc compileReloadExecute() = # binary triggers rebuilding itself here it shouldn't rebuild the main module - # that would lead to replacing the main binary executable which is running! let cmd = commandLineParams()[0..^1].join(" ").replace(" --forceBuild") + doAssert cmd.len > 0 let (stdout, exitcode) = execCmdEx(cmd) if exitcode != 0: echo "COMPILATION ERROR!" @@ -149,4 +167,4 @@ update 0 update 1 update 2 -echo "done" +echo "done" \ No newline at end of file |