Skip to content
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

build: make test-ci target produce tap output #810

Closed
wants to merge 1 commit into from

Conversation

bnoordhuis
Copy link
Member

Make make test-ci print output in TAP format. The default output
doesn't show up in the Jenkins web view until the test suite finishes.
The web view is line buffered and the test runner doesn't emit newlines
until it's done.

A nice side effect is that the test runner now prints each test's
running time.

R=@rvagg? I assume the Jenkins TAP plugin must be activated first.

Make `make test-ci` print output in TAP format.  The default output
doesn't show up in the Jenkins web view until the test suite finishes.
The web view is line buffered and the test runner doesn't emit newlines
until it's done.

A nice side effect is that the test runner now prints each test's
running time.
@trevnorris
Copy link
Contributor

Don't have the know how to sign off, but +1 from me.

@jbergstroem
Copy link
Member

Yes! There's probably some plug to generate build artefacts so we can single out individual tests from jenkins reports.

@rvagg
Copy link
Member

rvagg commented Feb 12, 2015

we haven't actually been using test-ci, I switched to test-simple + test-message because of the broken addon stuff. I'll give this a try now and see how it goes.

@rvagg
Copy link
Member

rvagg commented Feb 12, 2015

https://jenkins-iojs.nodesource.com/job/iojs+any-pr+multi/169/ with this branch using test-ci

The TAP plugin for Jenkins requires a TAP file be written (as far as I can see). I could adjust the Jenkins invocation to write stdout to a file but that's not going to work for Windows. Should we add an option to tools/test.py to print the progress output to a file as well as the console?

@rvagg
Copy link
Member

rvagg commented Feb 12, 2015

I don't think the problems with addons & test-ci have been resolved by the look of it, /cc @chrisdickinson

@jbergstroem
Copy link
Member

@rvagg as for storing results to file, would you prefer just redirecting sys.stdout or should I do something fancier?

@chrisdickinson
Copy link
Contributor

@rvagg iirc, addons break (I think) because this expression is evaluated and expanded before any of the make targets run, so node-gyp doesn't run on them, and thus they don't get compiled.

Now as for how to fix that, I'm unsure. @isaacs?

@rvagg
Copy link
Member

rvagg commented Feb 12, 2015

@jbergstroem my Python fu is not strong enough, I started tinkering with this but probably shouldn't waste my time if someone else can do it!

Here's my proposal: a --output (or similar) option that make the progress runner in use write to the file name provided as well as stdout. It's actually very helpful watching the test output come through as it runs since they take so long. I was thinking that perhaps the base progress class could have a Print that does both of these things in one go and replace all the print statements with that.

If it's too hard, then just to a file will do, I can make Jenkins print out the full output after it's finished I think which is better than nothing.

@jbergstroem
Copy link
Member

@rvagg I'm thinking using import logging to control output, then use different loglevels depending on what we'd prefer (make test-ci) to get more or less info into stdout or a file.

I'll see what patch I can whip together over the weekend.

@bnoordhuis
Copy link
Member Author

I don't think the problems with addons & test-ci have been resolved by the look of it

I was working on that in #335 but it stalled (I forgot about it.) I'll pick it up again.

@jbergstroem
Copy link
Member

@bnoordhuis Ok. Lets get that in first then.

rvagg added a commit that referenced this pull request Feb 24, 2015
@rvagg
Copy link
Member

rvagg commented Feb 24, 2015

TODO: put addons back in test-ci

closing because this was mostly done in #938

@bnoordhuis bnoordhuis closed this Feb 24, 2015
@bnoordhuis bnoordhuis deleted the test-ci-tap branch February 24, 2015 19:33
petkaantonov pushed a commit to petkaantonov/io.js that referenced this pull request Feb 25, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants