Threads Reporting

For each test zope.testrunner checks if new threads are left behind.

>>> import time
>>> import os
>>> directory_with_tests = os.path.join(this_directory, 'testrunner-ex')
>>> defaults = ['--path', directory_with_tests]
>>> from zope import testrunner
>>> args = ['test', '--tests-pattern', '^new_threads$']
>>> _ = testrunner.run_internal(defaults, args)
Running zope.testrunner.layer.UnitTests tests:
  Set up zope.testrunner.layer.UnitTests in N.NNN seconds.
The following test left new threads behind:
test_leave_thread_behind (new_threads.TestNewThreadsReporting)
New thread(s): [<Thread(t1)>]
  Ran 1 tests with 0 failures, 0 errors and 0 skipped in N.NNN seconds.
Tearing down left over layers:
  Tear down zope.testrunner.layer.UnitTests in N.NNN seconds.
>>> time.sleep(1)

It is possible to ignore this reporting for known threads.

>>> import time
>>> import os
>>> directory_with_tests = os.path.join(this_directory, 'testrunner-ex')
>>> defaults = ['--path', directory_with_tests]
>>> from zope import testrunner
>>> args = ['test', '--tests-pattern', '^new_threads$', '--ignore-new-thread=t1']
>>> _ = testrunner.run_internal(defaults, args)
Running zope.testrunner.layer.UnitTests tests:
  Set up zope.testrunner.layer.UnitTests in N.NNN seconds.
  Ran 1 tests with 0 failures, 0 errors and 0 skipped in N.NNN seconds.
Tearing down left over layers:
  Tear down zope.testrunner.layer.UnitTests in N.NNN seconds.
>>> time.sleep(1)