Exposes an additional logger that uses the test's root logger as the
parent for any TestCase instances constructor by the hook. The fixture
logger still continues to be the parent of the hook logger.
Also changes the CleanEveryN hook to explicitly get marked as a failure
if a ServerFailure exception is thrown, rather than relying on
TestReport.combine() to do so implicitly.
Changes the BufferedHandler to always delegate the actual flushing of
the logs (perhaps via a long-running, blocking network operation) to the
timer thread that's running in the background.
This prevents the FlushThread from running while the interpreter is
shutting down and the import machinery is uninitialized.
Also fixed an issue where a KeyboardInterrupt while running multiple
suites with --continueOnFailure would skip to the next suite, rather
than exiting resmoke.py.
Split out the passthrough tests into separate suites. The MongoDB
deployment is started up by resmoke.py so that we can record the
success/failure of each individual test in MCI.
Added support for parallel execution of tests by dispatching to
multiple MongoDB deployments.
Added support for grouping different kinds of tests (e.g. C++ unit
tests, dbtests, and jstests) so that they can be run together. This
allows for customizability in specifying what tests to execute when
changes are made to a particular part of the code.