This is caused by bzrlib. In particular bzrlib.tests.http_server.HTTPServer.tearDown contains the comment:
# We don't need to 'self._http_thread.join()' here since the thread is
# a daemonic one and will be garbage collected anyway. Joining just
# slows us down for no added benefit.
By not waiting for threads to terminate, more intelligent test runners will sometimes pick up the garbage (violating test isolation) and rightly flag the test as failed.
This is caused by bzrlib. In particular bzrlib. tests.http_ server. HTTPServer. tearDown contains the comment:
# We don't need to 'self._ http_thread. join()' here since the thread is
# a daemonic one and will be garbage collected anyway. Joining just
# slows us down for no added benefit.
By not waiting for threads to terminate, more intelligent test runners will sometimes pick up the garbage (violating test isolation) and rightly flag the test as failed.