-
Notifications
You must be signed in to change notification settings - Fork 166
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
lint job doesn't show tap result #720
Comments
You're right, we're passing the output to a TAP file, but not actually running the TAP parser on it. I tried enabling it, but the TAP plugin fails to parse it as it isn't valid TAP.
The problem with the generated TAP output is that it's actually multiple TAP files concatenated together, so there are multiple TAP headers.
In the short term you can view the file directly (assuming you have the permissions) by going to the workspace. |
Looks like we can definitely blame @jbergstroem for this 😜 @mscdex nodejs/node#5638 (comment)
@jbergstroem nodejs/node#5638 (comment)
|
So basically we need to update tools/jslint.js to remove all but the first instance of |
I'm on it. P.S. the |
Yes, it's overwritten every time. |
I lied, the plan can't be repeated, I tested it and it still breaks the TAP parsing plugin. The easiest solution is to use Subtests that Jenkins can understand (see the plugin docs): I've confirmed that this works in a test job:
|
I started writing the PR... ✍️ |
I changed
to gmake lint-ci || { cat test-eslint.tap && exit 1; } , so if the test fails you'll get the test output catted to the console. It's not the best solution, but I think it solves the problem in the immediate term. |
New solution (to hopefully avoid #906) and make it easier to see what's going on: #!/usr/bin/env bash -ex
# If lint-ci fails, print all the interesting lines to the console.
# FreeBSD sed can't handle \s, so use gsed if it exists.
which gsed &>/dev/null && SED=gsed || SED=sed
gmake lint-ci || {
cat test-eslint.tap | grep -v '^ok\|^TAP version 13\|^1\.\.' | $SED '/^\s*$/d' &&
exit 1; } Filters out the passing tests, the |
|
Updated comment above, the script got a bit more complicated because:
So at the moment on the
That would improve the situation. At the moment the |
This is done for now, better solutions always appreciated. |
Maybe I'm doing something wrong, but I can't figure out how to get the lint errors...
e.g. https://ci.nodejs.org/job/node-test-linter/9042/console
Sorry to fast fire issues today.
The text was updated successfully, but these errors were encountered: