Also defines a generic Registry metaclass for making class declarations
store a reference to the class along with a name so that they can be
looked up later.
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.
Change resmoke.py to wait up to 5 minutes for a mongod/mongos process
to start accepting connections. Waiting only 30 seconds for a
connection to be established is insufficient on some build variants in
Evergreen. This is likely due to file preallocation, disk speed, and
other resource factors.
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.