-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
testament does not show which megatest test failed for some tests #12908
Comments
megatest test results always were bad IME and we didn't change the logic. No idea what's going on here. |
ok I see the problem: the logic I had added in #10089 doesn't work well when
here's a minimal reproducing example: discard """
output: '''
ok1
ok2
ok3
ok4
ok5
ok5
ok6
ok7
ok8
ok9
ok10
'''
"""
proc main()=
echo "ok1"
echo "ok2"
echo "ok3"
echo "ok4"
echo "bad" # diff here will hide the line `megatest:processing: tests/system/tlenvarargs_temp.nim`
echo "ok6"
echo "ok7"
echo "ok8"
echo "ok9"
echo "ok10"
main() nim c -r testament/testament.nim --nim:bin/nim_temp.exp_fix_12908_megatest_FAIL.2 c megatest
note: a larger context would show those lines:
but some tests have a lot of output so it may not be good to simply increase context with proposal 1CI should export the diff files: which would generally help with debugging CI failures proposal 2 (maybe simpler)manually parse outputExpected.txt and outputGotten.txt, keeping track of sections delimited by |
testament does not show which test (from megatest) failed; in the example below (where the failing test is tlenvarargs.nim) there is 0 indication of which test failed (by chance the logs showed the filename but that's coincidental because the test happened to print the file name).
Even if tlenvarargs.nim ends up in megatest, IIRC there used to be some logic where files that were run via megatest had the filename printed right before running that particular file so we'd be able to tell which test failed (even from looking at CI logs) but that doesn't appear to be the case anymore as shown below. This makes it hard to debug failing PR's where the failining test joins megatest.
Example
I observed that in #12907
I've made a permanent copy of the log downloaded from CI azure pipeline (https://dev.azure.com/nim-lang/Nim/_build/results?buildId=1211&view=logs) here: https://github.com/timotheecour/timn_pub_data/blob/master/data/D20191216T031056.txt
Current Output
Expected Output
this is the missing line:
The text was updated successfully, but these errors were encountered: