Merge lp://staging/~benji/lpbuildbot/add-worker-logging into lp://staging/lpbuildbot

Proposed by Benji York
Status: Merged
Approved by: Gary Poster
Approved revision: 30
Merged at revision: 23
Proposed branch: lp://staging/~benji/lpbuildbot/add-worker-logging
Merge into: lp://staging/lpbuildbot
Diff against target: 656 lines (+496/-115)
3 files modified
bzrbuildbot/subunittest.py (+482/-89)
bzrbuildbot/test.py (+13/-21)
master.cfg (+1/-5)
To merge this branch: bzr merge lp://staging/~benji/lpbuildbot/add-worker-logging
Reviewer Review Type Date Requested Status
Gary Poster (community) Approve
Review via email: mp+103941@code.staging.launchpad.net

Commit message

revamp the subunit log observer to provide several logs, statistics, step description, and progress metrics

Description of the change

This branch revamps the subunit log observer to provide several logs
(along with the standard stdio log):

- a log per worker which contains the IDs of the tests that worker ran
  (for re-running that subset later)
- a log of just the subunit output (as best we can get it, there may be
  a few stray lines here and there)
- a "summary" log of just the failures and errors

There step's description is continuously updated to show the number of
tests run, passing, failing, and erroring as well as whether or not the
tests are done yet.

Finally, the number of tests run thus far is reported to the buildbot
progress metrics subsystem so test run ETAs are more accurate.

There is good test coverage, runnable with the command "python
bzrbuildbot/subunittest.py".

This branch has been run in a "production" EC2 instance and worked well.
Note that there were no errors in the production run, so there were a
few unexercised code paths, but I believe those are well covered by the
tests.

To post a comment you must log in.
Revision history for this message
Gary Poster (gary) wrote :

Yay, great! Thank you.

- Please add a comment as to why you are not importing buildbot (and perhaps then also mention there how to run the tests)

- We talked on IRC about your idea of sorting worker logs by adding all "lower" worker logs whenever you add one. +1, though we can do that in a later branch.

- Similarly, I mentioned adding the failure log initially so it is always in a known place, and you liked that idea. We can also do that in a later branch.

- In bzrbuildbot/test.py , in Test.describe, if done is True, let's close out those logs in the Observer, as we discussed.

review: Approve
Revision history for this message
Benji York (benji) wrote :

All excellent points/suggestions. I will have very little time between
now and Monday night so I suggest landing it as-is and making cards for
the follow-up bits.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches