mirror of
https://github.com/mongodb/mongo.git
synced 2024-11-30 17:10:48 +01:00
SERVER-96676 Added QueryTester self tests to resmoke (#28419)
GitOrigin-RevId: f6fd7eee10d63d3cdf6d320d8b9a2530c1940d7d
This commit is contained in:
parent
7007cfa701
commit
eeb14cc1bd
11
buildscripts/resmokeconfig/suites/query_tester_self_test.yml
Normal file
11
buildscripts/resmokeconfig/suites/query_tester_self_test.yml
Normal file
@ -0,0 +1,11 @@
|
||||
test_kind: query_tester_self_test
|
||||
# This suite will test that QueryTester and its mongotest binary which is a tool for testing the server works as expected.
|
||||
# Each test might pass different flags to mongotest, check its return code, output, and/or filesystem changes.
|
||||
|
||||
selector:
|
||||
roots:
|
||||
- src/mongo/db/modules/QueryTester/tests/selfTests/*.py
|
||||
|
||||
executor:
|
||||
fixture:
|
||||
class: MongoDFixture
|
@ -30,6 +30,7 @@ DEFAULT_MONGO_EXECUTABLE = "mongo"
|
||||
DEFAULT_MONGOD_EXECUTABLE = "mongod"
|
||||
DEFAULT_MONGOS_EXECUTABLE = "mongos"
|
||||
DEFAULT_MONGOT_EXECUTABLE = "mongot-localdev/mongot"
|
||||
DEFAULT_MONGOTEST_EXECUTABLE = "mongotest"
|
||||
|
||||
DEFAULT_BENCHMARK_REPETITIONS = 3
|
||||
DEFAULT_BENCHMARK_MIN_TIME = datetime.timedelta(seconds=5)
|
||||
|
@ -906,6 +906,7 @@ _SELECTOR_REGISTRY = {
|
||||
"tla_plus_test": (_FileBasedSelectorConfig, _Selector),
|
||||
"bulk_write_cluster_js_test": (_JSTestSelectorConfig, _JSTestSelector),
|
||||
"magic_restore_js_test": (_JSTestSelectorConfig, _JSTestSelector),
|
||||
"query_tester_self_test": (_FileBasedSelectorConfig, _Selector),
|
||||
}
|
||||
|
||||
|
||||
|
@ -0,0 +1,36 @@
|
||||
"""The unittest.TestCase for QueryTester self-tests."""
|
||||
|
||||
import sys
|
||||
|
||||
from buildscripts.resmokelib import config as _config
|
||||
from buildscripts.resmokelib import core, logging
|
||||
from buildscripts.resmokelib.testing.testcases import interface
|
||||
|
||||
|
||||
class QueryTesterSelfTestCase(interface.ProcessTestCase):
|
||||
"""A QueryTester self-test to execute."""
|
||||
|
||||
REGISTERED_NAME = "query_tester_self_test"
|
||||
|
||||
def __init__(self, logger: logging.Logger, test_filenames: list[str]):
|
||||
"""Initialize QueryTesterSelfTestCase.
|
||||
|
||||
test_filenames must contain one test_file - a python file that takes one argument: the uri of the mongod.
|
||||
To run multiple test files, you would create an instance of QueryTesterSelfTestCase for each one.
|
||||
"""
|
||||
assert len(test_filenames) == 1
|
||||
interface.ProcessTestCase.__init__(self, logger, "QueryTesterSelfTest", test_filenames[0])
|
||||
self.test_file = test_filenames[0]
|
||||
|
||||
def _make_process(self):
|
||||
return core.programs.generic_program(
|
||||
self.logger,
|
||||
[
|
||||
sys.executable,
|
||||
self.test_file,
|
||||
"-u",
|
||||
self.fixture.get_internal_connection_string(),
|
||||
"-b",
|
||||
_config.DEFAULT_MONGOTEST_EXECUTABLE,
|
||||
],
|
||||
)
|
Loading…
Reference in New Issue
Block a user