Merge lp://staging/~benji/lpbuildbot/add-worker-logging into lp://staging/lpbuildbot
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 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Gary Poster (community) | Approve | ||
Review via email:
|
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/
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.
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.