Repository navigation
tap2junit fails on test input when tests time out #1847
Description
Activity
Did a
pip install tap.pyand it processed the tap file OK, so I don't think its malformed. Also couldn't see anything about file the format visually, it looks pretty boring.Not a one-off, also happened on https://ci.nodejs.org/job/node-test-commit-aix/nodes=aix61-ppc64/23969/console
What's happening is that if the tap file starts with a plan, like
1..2701, but then only has 2410 tests in it,tap2junittries to append tests for each missing one, but there is a type in the comment field, and the tests lack the yaml property, so the main blows up.Doesn't answer "why is the tap file sometimes truncated", does anybody have an idea about that?
I think that the job is being killed, see
[test-ci] Killed, possibly by jenkins because of a timeout. Does anyone have any ideas of what might be killing the test runner before it is done?Possibly this is another symptom of #1820, not sure.
12:00:26 ok 2410 addons/stringbytes-external-exceed-max/test-stringbytes-external-at-max 12:00:26 --- 12:00:26 duration_ms: 113.396 12:00:26 ... 12:03:21 gmake: *** Waiting for unfinished jobs.... 12:03:21 gmake[1]: *** Waiting for unfinished jobs.... 12:03:21 gmake[1]: *** [test-ci] Killed 12:03:21 Build step 'Execute shell' marked build as failureDoes anyone have any ideas of what might be killing the test runner before it is done?
Since it’s failing at the stringbytes-external-exceed-max tests, maybe it’s the operating system’s OOM killer? At least for Linux that would seem plausible, I obviously don’t know how that works on AIX…
- 23975: 3
18:54:05 ok 2410 addons/stringbytes-external-exceed-max/test-stringbytes-external-at-max 18:54:05 --- 18:54:05 duration_ms: 2.951 18:54:05 ... 18:56:35 gmake: *** Waiting for unfinished jobs.... 18:56:35 gmake[1]: *** Waiting for unfinished jobs.... 18:56:36 Build step 'Execute shell' marked build as failure 18:56:41 Performing Post build task... 18:56:41 Match found for : : True 18:56:41 Logical operation result is TRUE 18:56:41 Running script : #/bin/bash -x +e 18:56:41- https://ci.nodejs.org/job/node-test-commit-aix/23975/nodes=aix61-ppc64/console
- 23971: 1 same as above, last test was also stringbytes-external-exceed-max
So, this issue looks highly correlated with that specific test. I'll look into this.
However, I'm also seeing it on other tests, so leaving this note here, too:
- 23969: 3
13:00:06 ok 2581 sequential/test-async-wrap-getasyncid 13:00:06 --- 13:00:06 duration_ms: 1.946 13:00:06 ... 13:02:10 gmake: *** [run-ci] Killed 13:02:10 gmake: *** wait: There are no child processes.. Stop. 13:02:11 Build step 'Execute shell' marked build as failure- 23968: 1 ditto
Stress test for addons/stringbytes-external-exceed-max/test-stringbytes-external-at-max: https://ci.nodejs.org/job/node-stress-single-test/2235/
- added a commit that references this issue
on Jul 2, 2019 - added 2 commits that reference this issue
on Jul 2, 2019 1 remaining item
- added a commit that references this issue
on Jul 25, 2019 - changed the title
[-]tap2junit fails on test input when test timesout[/-][+]tap2junit fails on test input when tests time out[/+]on Aug 9, 2019 tap2junit just needs reworking. Its crud python code, but the problem is easy to reproduce if anyone wants to take a shot at, and doesn't require access to ci, or even to node!
Its not a priority though, because it is only a follow-on problem, caused by a previous failure.
It also may need updating for python3, see #1830 (comment)
- added a commit that references this issue
on Sep 19, 2019 It also may need updating for python3, see #1830 (comment)
tap2junit 0.1.5 is compatible with Python 3 and would seem to fix other bugs. Refs: nodejs/node#30955 (comment)
Can we update to tap2junit 0.1.5?
Hey folks, I'm starting to investigate this... currently setting up a local environment to reproduce. I'll report back as I learn things.
This issue is stale because it has been open many days with no activity. It will be closed soon unless the stale label is removed or a comment is made.
I sshed in and reproduced it on AIX, then copied the file to my laptop, ubuntu, and reproduced here. tap file is https://gist.github.com/c15ba6bd9ff7b529a7aa04fa176f068a