Bug fixes in zc.buildout.testing

Logging handler which did not get deleted

The buildout testing set up runs a buildout which adds a logging.StreamHandler to the root logger. But tear down did not remove it. This can disturb other tests of packages reusing zc.buildout.testing.

The handers before calling set up are:

>>> import logging
>>> len(logging.getLogger().handlers)
1
>>> logging.getLogger().handlers 
[<zope...testrunner.logsupport.NullHandler ... at ...>]

After calling it, a logging.StreamHandler was added:

>>> import zc.buildout.testing
>>> import doctest
>>> test = doctest.DocTestParser().get_doctest(
...     '>>> x', {}, 'foo', 'foo.py', 0)
>>> zc.buildout.testing.buildoutSetUp(test)
>>> len(logging.getLogger().handlers)
2
>>> logging.getLogger().handlers 
[<zope...testrunner.logsupport.NullHandler ... at ...>,
 <logging.StreamHandler ... at ...>]

But tear down removes the new logging handler:

>>> zc.buildout.testing.buildoutTearDown(test)
>>> len(logging.getLogger().handlers)
1
>>> logging.getLogger().handlers 
[<zope...testrunner.logsupport.NullHandler ... at ...>]