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.
33 lines
834 B
Python
33 lines
834 B
Python
"""
|
|
Fixtures for executing JSTests against.
|
|
"""
|
|
|
|
from __future__ import absolute_import
|
|
|
|
from .interface import Fixture, ReplFixture
|
|
from .standalone import MongoDFixture
|
|
from .replicaset import ReplicaSetFixture
|
|
from .masterslave import MasterSlaveFixture
|
|
from .shardedcluster import ShardedClusterFixture
|
|
|
|
|
|
NOOP_FIXTURE_CLASS = "Fixture"
|
|
|
|
_FIXTURES = {
|
|
"Fixture": Fixture,
|
|
"MongoDFixture": MongoDFixture,
|
|
"ReplicaSetFixture": ReplicaSetFixture,
|
|
"MasterSlaveFixture": MasterSlaveFixture,
|
|
"ShardedClusterFixture": ShardedClusterFixture,
|
|
}
|
|
|
|
|
|
def make_fixture(class_name, *args, **kwargs):
|
|
"""
|
|
Factory function for creating Fixture instances.
|
|
"""
|
|
|
|
if class_name not in _FIXTURES:
|
|
raise ValueError("Unknown fixture class '%s'" % (class_name))
|
|
return _FIXTURES[class_name](*args, **kwargs)
|