buildbot/buildbot — pull request #564 by djmitche (2012-11-04 16:38:17+00:00)
Title: Test full-fledged master startup and shutdown.

This tests that the master basically works, and that the shutdown
process stops any outstanding timers, etc. By running the master twice,
it also ensures that any stopService state cleanup occurs.

It turns out there were a few places where listeners were not being
released properly, deferreds not handled, etc.; fixes for those are
included here.

This also adds ``__repr__`'s to pbmanager.py; they were useful in debugging
and don't hurt!

As the comment in test_master.py says, this is a bit more strenuous a test than really required, since it uses the same config objects for both runs of the master. This unearthed the bug in `WebStatus`, for example, which adds a new child service on every startup, but neglected to remove those services when stopping.

I'm happy to cherry-pick this into 0.8.7 if you'd like, but the bugs it fixes aren't likely to affect users at runtime, and the fixes are pretty invasive. I'd rather bake this on master.