timotheecour / Nim

Nim is a compiled, garbage-collected systems programming language with a design that focuses on efficiency, expressiveness, and elegance (in that order of priority).
http://nim-lang.org/
Other
2 stars 0 forks source link

openbsd: flaky tests/js/tunittest_error.nim #648

Open timotheecour opened 3 years ago

timotheecour commented 3 years ago

https://builds.sr.ht/~araq/job/454778 from https://github.com/nim-lang/Nim/pull/17315

slightly concerning

JOINED: tests/stdlib/txmltree.nim c
megatest output OK
Error: execution of an external program failed: '/home/build/Nim/testament/testament --batch:1_2 all -d:nimCoroutines'
FAILURE
+ nim c -r tools/ci_testresults.nim
Hint: used config file '/home/build/Nim/config/nim.cfg' [Conf]
Hint: used config file '/home/build/Nim/config/config.nims' [Conf]
..............................
CC: stdlib_assertions.nim
CC: stdlib_io.nim
CC: stdlib_system.nim
CC: stdlib_parseutils.nim
CC: stdlib_math.nim
CC: stdlib_unicode.nim
CC: stdlib_strutils.nim
CC: stdlib_posix.nim
CC: stdlib_times.nim
CC: stdlib_os.nim
CC: stdlib_hashes.nim
CC: stdlib_tables.nim
CC: stdlib_streams.nim
CC: stdlib_lexbase.nim
CC: stdlib_parsejson.nim
CC: stdlib_json.nim
CC: stdlib_sets.nim
CC: stdlib_strformat.nim
CC: ci_testresults.nim
Hint:  [Link]
Hint: 56995 lines; 2.983s; 76.348MiB peakmem; Debug build; proj: /home/build/Nim/tools/ci_testresults.nim; out: /home/build/Nim/tools/ci_testresults [SuccessX]
Hint: /home/build/Nim/tools/ci_testresults  [Exec]
Category: js
Name: tests/js/tunittest_error.nim js  -d:release
Action: run
Result: reExitcodesDiffer
-------- Expected -------
exitcode: 1
--------- Given  --------
exitcode: 0

Output:
Unhandled exception: didn't do stuff [IOError]
[FAILED] with exception

-------------------------
euantorano commented 3 years ago

I'll try running this locally and see what JS gets generated, in case that helps at all.

euantorano commented 3 years ago

Results from a local OpenBSD 6.8 VM:

node --version v12.16.1
bin/nim js -d:nodejs -r tests/js/tunittest_error.nim ``` Hint: used config file '/home/euant/src/Nim/config/nim.cfg' [Conf] Hint: used config file '/home/euant/src/Nim/config/config.nims' [Conf] Hint: used config file '/home/euant/src/Nim/tests/config.nims' [Conf] Hint: 46129 lines; 7.597s; 61.812MiB peakmem; Debug build; proj: tunittest_error; out: tunittest_error.js [SuccessX] Hint: /usr/local/bin/node --unhandled-rejections=strict /home/euant/src/Nim/tests/js/tunittest_error.js [Exec] Traceback (most recent call last) tunittest_error.nim(24) at module tunittest_error tunittest_error.nim(20) at tunittest_error.aaa tunittest_error.nim(17) at tunittest_error.bbb tunittest_error.nim(14) at tunittest_error.ccc tunittest_error.nim(11) at tunittest_error.ddd Unhandled exception: didn't do stuff [IOError] [FAILED] with exception Error: execution of an external program failed: '/usr/local/bin/node --unhandled-rejections=strict /home/euant/src/Nim/tests/js/tunittest_error.js ' ``` Exit code: 1

Generated JS

timotheecour commented 3 years ago

thanks for looking into this; it's a flaky test so it may have the bug (wrong exit code) only in rare circumstances so the question is: