diff options
author | Jonathan Abrahams <jonathan@mongodb.com> | 2017-05-26 13:59:32 -0400 |
---|---|---|
committer | Jonathan Abrahams <jonathan@mongodb.com> | 2017-05-26 13:59:32 -0400 |
commit | b6c1b6b6a9bfe17d3c21d87ee8516e069dadfa3c (patch) | |
tree | e05d63a53f72e96cf0456b7bb612eee69b8584ec | |
parent | 90fd8a19000b5f96983f068e6380c1f6bd824b69 (diff) | |
download | mongo-b6c1b6b6a9bfe17d3c21d87ee8516e069dadfa3c.tar.gz |
SERVER-28302 resmoke.py parser should accept files that don't end in .js
95 files changed, 2470 insertions, 2470 deletions
diff --git a/buildscripts/burn_in_tests.py b/buildscripts/burn_in_tests.py index b5bd0357497..66b23bc480e 100644 --- a/buildscripts/burn_in_tests.py +++ b/buildscripts/burn_in_tests.py @@ -242,9 +242,8 @@ def find_tests_by_executor(suites): memberships = {} test_membership = resmokelib.parser.create_test_membership_map() for suite in suites: - for group in suite.test_groups: - for test in group.tests: - memberships[test] = test_membership[test] + for test in suite.test_group.tests: + memberships[test] = test_membership[test] return memberships @@ -258,10 +257,9 @@ def create_executor_list(suites, exclude_suites): memberships = collections.defaultdict(list) test_membership = resmokelib.parser.create_test_membership_map() for suite in suites: - for group in suite.test_groups: - for test in group.tests: - for executor in set(test_membership[test]) - set(exclude_suites): - memberships[executor].append(test) + for test in suite.test_group.tests: + for executor in set(test_membership[test]) - set(exclude_suites): + memberships[executor].append(test) return memberships diff --git a/buildscripts/resmoke.py b/buildscripts/resmoke.py index b6d11785030..c01baf91322 100755 --- a/buildscripts/resmoke.py +++ b/buildscripts/resmoke.py @@ -27,51 +27,50 @@ def _execute_suite(suite): logger = resmokelib.logging.loggers.EXECUTOR_LOGGER - for group in suite.test_groups: - if resmokelib.config.SHUFFLE: - logger.info("Shuffling order of tests for %ss in suite %s. The seed is %d.", - group.test_kind, suite.get_name(), resmokelib.config.RANDOM_SEED) - random.seed(resmokelib.config.RANDOM_SEED) - random.shuffle(group.tests) - - if resmokelib.config.DRY_RUN == "tests": - sb = [] - sb.append("Tests that would be run for %ss in suite %s:" - % (group.test_kind, suite.get_name())) - if len(group.tests) > 0: - for test in group.tests: - sb.append(test) - else: - sb.append("(no tests)") - logger.info("\n".join(sb)) - - # Set a successful return code on the test group because we want to output the tests - # that would get run by any other suites the user specified. - group.return_code = 0 - continue - - if len(group.tests) == 0: - logger.info("Skipping %ss, no tests to run", group.test_kind) - continue - - group_config = suite.get_executor_config().get(group.test_kind, {}) - executor = resmokelib.testing.executor.TestGroupExecutor(logger, - group, - **group_config) - - try: - executor.run() - if resmokelib.config.FAIL_FAST and group.return_code != 0: - suite.return_code = group.return_code - return False - except resmokelib.errors.UserInterrupt: - suite.return_code = 130 # Simulate SIGINT as exit code. - return True - except: - logger.exception("Encountered an error when running %ss of suite %s.", - group.test_kind, suite.get_name()) - suite.return_code = 2 + if resmokelib.config.SHUFFLE: + logger.info("Shuffling order of tests for %ss in suite %s. The seed is %d.", + suite.test_group.test_kind, suite.get_name(), resmokelib.config.RANDOM_SEED) + random.seed(resmokelib.config.RANDOM_SEED) + random.shuffle(suite.test_group.tests) + + if resmokelib.config.DRY_RUN == "tests": + sb = [] + sb.append("Tests that would be run for %ss in suite %s:" + % (suite.test_group.test_kind, suite.get_name())) + if len(suite.test_group.tests) > 0: + for test in suite.test_group.tests: + sb.append(test) + else: + sb.append("(no tests)") + logger.info("\n".join(sb)) + + # Set a successful return code on the test group because we want to output the tests + # that would get run by any other suites the user specified. + suite.test_group.return_code = 0 + return True + + if len(suite.test_group.tests) == 0: + logger.info("Skipping %ss, no tests to run", suite.test_group.test_kind) + return True + + group_config = suite.get_executor_config() + executor = resmokelib.testing.executor.TestGroupExecutor(logger, + suite.test_group, + **group_config) + + try: + executor.run() + if resmokelib.config.FAIL_FAST and suite.test_group.return_code != 0: + suite.return_code = suite.test_group.return_code return False + except resmokelib.errors.UserInterrupt: + suite.return_code = 130 # Simulate SIGINT as exit code. + return True + except: + logger.exception("Encountered an error when running %ss of suite %s.", + suite.test_group.test_kind, suite.get_name()) + suite.return_code = 2 + return False def _log_summary(logger, suites, time_taken): @@ -103,6 +102,8 @@ def _dump_suite_config(suite, logging_config): sb = [] sb.append("YAML configuration of suite %s" % (suite.get_name())) + sb.append(resmokelib.utils.dump_yaml({"test_kind": suite.get_test_kind_config()})) + sb.append("") sb.append(resmokelib.utils.dump_yaml({"selector": suite.get_selector_config()})) sb.append("") sb.append(resmokelib.utils.dump_yaml({"executor": suite.get_executor_config()})) @@ -120,9 +121,8 @@ def find_suites_by_test(suites): memberships = {} test_membership = resmokelib.parser.create_test_membership_map() for suite in suites: - for group in suite.test_groups: - for test in group.tests: - memberships[test] = test_membership[test] + for test in suite.test_group.tests: + memberships[test] = test_membership[test] return memberships diff --git a/buildscripts/resmokeconfig/suites/aggregation.yml b/buildscripts/resmokeconfig/suites/aggregation.yml index dcfea8ecf3f..95ec7c2cd67 100644 --- a/buildscripts/resmokeconfig/suites/aggregation.yml +++ b/buildscripts/resmokeconfig/suites/aggregation.yml @@ -1,23 +1,23 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/aggregation/*.js - - jstests/aggregation/bugs/*.js - - jstests/aggregation/expressions/*.js - - jstests/aggregation/sources/*/*.js - - jstests/aggregation/variables/*.js + roots: + - jstests/aggregation/*.js + - jstests/aggregation/bugs/*.js + - jstests/aggregation/expressions/*.js + - jstests/aggregation/sources/*/*.js + - jstests/aggregation/variables/*.js executor: - js_test: - config: - shell_options: - readMode: commands - hooks: - - class: ValidateCollections - - class: CleanEveryN - n: 20 - fixture: - class: MongoDFixture - mongod_options: - set_parameters: - enableTestCommands: 1 + config: + shell_options: + readMode: commands + hooks: + - class: ValidateCollections + - class: CleanEveryN + n: 20 + fixture: + class: MongoDFixture + mongod_options: + set_parameters: + enableTestCommands: 1 diff --git a/buildscripts/resmokeconfig/suites/aggregation_auth.yml b/buildscripts/resmokeconfig/suites/aggregation_auth.yml index f723f0eb438..b2ea721b1e8 100644 --- a/buildscripts/resmokeconfig/suites/aggregation_auth.yml +++ b/buildscripts/resmokeconfig/suites/aggregation_auth.yml @@ -3,41 +3,41 @@ config_variables: - &keyFile jstests/libs/authTestsKey - &keyFileData Thiskeyisonlyforrunningthesuitewithauthenticationdontuseitinanytestsdirectly +test_kind: js_test + selector: - js_test: - roots: - - jstests/aggregation/*.js - - jstests/aggregation/bugs/*.js - - jstests/aggregation/expressions/*.js - - jstests/aggregation/sources/*/*.js - exclude_files: - # Skip any tests that run with auth explicitly. - - jstests/aggregation/*[aA]uth*.js + roots: + - jstests/aggregation/*.js + - jstests/aggregation/bugs/*.js + - jstests/aggregation/expressions/*.js + - jstests/aggregation/sources/*/*.js + exclude_files: + # Skip any tests that run with auth explicitly. + - jstests/aggregation/*[aA]uth*.js executor: - js_test: - config: - shell_options: - global_vars: - TestData: - auth: true - authMechanism: SCRAM-SHA-1 - keyFile: *keyFile - keyFileData: *keyFileData - eval: jsTest.authenticate(db.getMongo()) - authenticationDatabase: local - authenticationMechanism: SCRAM-SHA-1 - password: *keyFileData - username: __system - readMode: commands - hooks: - - class: CleanEveryN - n: 20 - fixture: - class: MongoDFixture - mongod_options: - auth: '' - keyFile: *keyFile - set_parameters: - enableTestCommands: 1 - enableLocalhostAuthBypass: false + config: + shell_options: + global_vars: + TestData: + auth: true + authMechanism: SCRAM-SHA-1 + keyFile: *keyFile + keyFileData: *keyFileData + eval: jsTest.authenticate(db.getMongo()) + authenticationDatabase: local + authenticationMechanism: SCRAM-SHA-1 + password: *keyFileData + username: __system + readMode: commands + hooks: + - class: CleanEveryN + n: 20 + fixture: + class: MongoDFixture + mongod_options: + auth: '' + keyFile: *keyFile + set_parameters: + enableTestCommands: 1 + enableLocalhostAuthBypass: false diff --git a/buildscripts/resmokeconfig/suites/aggregation_ese.yml b/buildscripts/resmokeconfig/suites/aggregation_ese.yml index 395a8a37898..842b4de059c 100644 --- a/buildscripts/resmokeconfig/suites/aggregation_ese.yml +++ b/buildscripts/resmokeconfig/suites/aggregation_ese.yml @@ -2,31 +2,31 @@ config_variables: - &keyFile src/mongo/db/modules/enterprise/jstests/encryptdb/libs/ekf2 +test_kind: js_test + selector: - js_test: - roots: - - jstests/aggregation/*.js - - jstests/aggregation/bugs/*.js - - jstests/aggregation/expressions/*.js - - jstests/aggregation/sources/*/*.js - - src/mongo/db/modules/*/jstests/aggregation/*.js - exclude_files: - # Skip any tests that run with auth explicitly. - - jstests/aggregation/*[aA]uth*.js + roots: + - jstests/aggregation/*.js + - jstests/aggregation/bugs/*.js + - jstests/aggregation/expressions/*.js + - jstests/aggregation/sources/*/*.js + - src/mongo/db/modules/*/jstests/aggregation/*.js + exclude_files: + # Skip any tests that run with auth explicitly. + - jstests/aggregation/*[aA]uth*.js executor: - js_test: - config: - shell_options: - readMode: commands - hooks: - - class: ValidateCollections - - class: CleanEveryN - n: 20 - fixture: - class: MongoDFixture - mongod_options: - enableEncryption: '' - encryptionKeyFile: *keyFile - set_parameters: - enableTestCommands: 1 + config: + shell_options: + readMode: commands + hooks: + - class: ValidateCollections + - class: CleanEveryN + n: 20 + fixture: + class: MongoDFixture + mongod_options: + enableEncryption: '' + encryptionKeyFile: *keyFile + set_parameters: + enableTestCommands: 1 diff --git a/buildscripts/resmokeconfig/suites/aggregation_facet_unwind_passthrough.yml b/buildscripts/resmokeconfig/suites/aggregation_facet_unwind_passthrough.yml index 02b5e483b17..a5f4218690a 100644 --- a/buildscripts/resmokeconfig/suites/aggregation_facet_unwind_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/aggregation_facet_unwind_passthrough.yml @@ -1,25 +1,25 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/aggregation/*.js - - jstests/aggregation/bugs/*.js - - jstests/aggregation/expressions/*.js - - jstests/aggregation/sources/*/*.js - exclude_with_any_tags: - - do_not_wrap_aggregations_in_facets + roots: + - jstests/aggregation/*.js + - jstests/aggregation/bugs/*.js + - jstests/aggregation/expressions/*.js + - jstests/aggregation/sources/*/*.js + exclude_with_any_tags: + - do_not_wrap_aggregations_in_facets executor: - js_test: - config: - shell_options: - readMode: commands - eval: load("jstests/libs/override_methods/implicitly_wrap_pipelines_in_facets.js"); - hooks: - - class: ValidateCollections - - class: CleanEveryN - n: 20 - fixture: - class: MongoDFixture - mongod_options: - set_parameters: - enableTestCommands: 1 + config: + shell_options: + readMode: commands + eval: load("jstests/libs/override_methods/implicitly_wrap_pipelines_in_facets.js"); + hooks: + - class: ValidateCollections + - class: CleanEveryN + n: 20 + fixture: + class: MongoDFixture + mongod_options: + set_parameters: + enableTestCommands: 1 diff --git a/buildscripts/resmokeconfig/suites/aggregation_read_concern_majority_passthrough.yml b/buildscripts/resmokeconfig/suites/aggregation_read_concern_majority_passthrough.yml index 695ac071892..9e765b5ff4d 100644 --- a/buildscripts/resmokeconfig/suites/aggregation_read_concern_majority_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/aggregation_read_concern_majority_passthrough.yml @@ -1,39 +1,39 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/aggregation/*.js - - jstests/aggregation/bugs/*.js - - jstests/aggregation/expressions/*.js - - jstests/aggregation/sources/*/*.js - exclude_files: - - jstests/aggregation/bugs/server18198.js # Uses a mocked mongo client to test read preference. - - jstests/aggregation/mongos_slaveok.js # Majority read on secondary requires afterOpTime. - - jstests/aggregation/sources/facet/use_cases.js # Cannot specify write concern when - # secondaryThrottle is not set. - - jstests/aggregation/testSlave.js # Majority read on secondary requires afterOpTime. + roots: + - jstests/aggregation/*.js + - jstests/aggregation/bugs/*.js + - jstests/aggregation/expressions/*.js + - jstests/aggregation/sources/*/*.js + exclude_files: + - jstests/aggregation/bugs/server18198.js # Uses a mocked mongo client to test read preference. + - jstests/aggregation/mongos_slaveok.js # Majority read on secondary requires afterOpTime. + - jstests/aggregation/sources/facet/use_cases.js # Cannot specify write concern when + # secondaryThrottle is not set. + - jstests/aggregation/testSlave.js # Majority read on secondary requires afterOpTime. executor: - js_test: - config: - shell_options: - global_vars: - TestData: - defaultReadConcernLevel: majority - enableMajorityReadConcern: '' - eval: "var testingReplication = true; load('jstests/libs/override_methods/set_read_and_write_concerns.js');" - readMode: commands - hooks: - - class: ValidateCollections - - class: CheckReplOplogs - - class: CheckReplDBHash - fixture: - class: ReplicaSetFixture - mongod_options: - bind_ip_all: '' - enableMajorityReadConcern: '' - set_parameters: - enableTestCommands: 1 - numInitialSyncAttempts: 1 - num_nodes: 2 - # Needs to be set for any ephemeral or no-journaling storage engine - write_concern_majority_journal_default: false + config: + shell_options: + global_vars: + TestData: + defaultReadConcernLevel: majority + enableMajorityReadConcern: '' + eval: "var testingReplication = true; load('jstests/libs/override_methods/set_read_and_write_concerns.js');" + readMode: commands + hooks: + - class: ValidateCollections + - class: CheckReplOplogs + - class: CheckReplDBHash + fixture: + class: ReplicaSetFixture + mongod_options: + bind_ip_all: '' + enableMajorityReadConcern: '' + set_parameters: + enableTestCommands: 1 + numInitialSyncAttempts: 1 + num_nodes: 2 + # Needs to be set for any ephemeral or no-journaling storage engine + write_concern_majority_journal_default: false diff --git a/buildscripts/resmokeconfig/suites/aggregation_sharded_collections_passthrough.yml b/buildscripts/resmokeconfig/suites/aggregation_sharded_collections_passthrough.yml index f47cd001802..0ee7c22228d 100644 --- a/buildscripts/resmokeconfig/suites/aggregation_sharded_collections_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/aggregation_sharded_collections_passthrough.yml @@ -1,57 +1,57 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/aggregation/*.js - - jstests/aggregation/bugs/*.js - - jstests/aggregation/expressions/*.js - - jstests/aggregation/sources/*/*.js - exclude_files: - # The following tests start their own ShardingTest. - - jstests/aggregation/bugs/server6118.js - - jstests/aggregation/bugs/server6179.js - - jstests/aggregation/bugs/server7781.js - - jstests/aggregation/mongos_slaveok.js - - jstests/aggregation/sources/addFields/use_cases.js - - jstests/aggregation/sources/addFields/weather.js - - jstests/aggregation/sources/facet/use_cases.js - - jstests/aggregation/sources/graphLookup/sharded.js - - jstests/aggregation/sources/lookup/lookup.js - - jstests/aggregation/sources/replaceRoot/address.js - - jstests/aggregation/testshard1.js - # The following tests start their own ReplSetTest. - - jstests/aggregation/testSlave.js - # The following tests start their own mongod. - - jstests/aggregation/bugs/cursor_timeout.js - - jstests/aggregation/bugs/lookup_unwind_getmore.js - - jstests/aggregation/bugs/lookup_unwind_killcursor.js - # TODO: Remove after SERVER-23229 is fixed. - - jstests/aggregation/bugs/groupMissing.js - exclude_with_any_tags: - # Tests tagged with the following will fail because they assume collections are not sharded. - - assumes_no_implicit_collection_creation_after_drop - - assumes_no_implicit_index_creation - - assumes_unsharded_collection - - cannot_create_unique_index_when_using_hashed_shard_key + roots: + - jstests/aggregation/*.js + - jstests/aggregation/bugs/*.js + - jstests/aggregation/expressions/*.js + - jstests/aggregation/sources/*/*.js + exclude_files: + # The following tests start their own ShardingTest. + - jstests/aggregation/bugs/server6118.js + - jstests/aggregation/bugs/server6179.js + - jstests/aggregation/bugs/server7781.js + - jstests/aggregation/mongos_slaveok.js + - jstests/aggregation/sources/addFields/use_cases.js + - jstests/aggregation/sources/addFields/weather.js + - jstests/aggregation/sources/facet/use_cases.js + - jstests/aggregation/sources/graphLookup/sharded.js + - jstests/aggregation/sources/lookup/lookup.js + - jstests/aggregation/sources/replaceRoot/address.js + - jstests/aggregation/testshard1.js + # The following tests start their own ReplSetTest. + - jstests/aggregation/testSlave.js + # The following tests start their own mongod. + - jstests/aggregation/bugs/cursor_timeout.js + - jstests/aggregation/bugs/lookup_unwind_getmore.js + - jstests/aggregation/bugs/lookup_unwind_killcursor.js + # TODO: Remove after SERVER-23229 is fixed. + - jstests/aggregation/bugs/groupMissing.js + exclude_with_any_tags: + # Tests tagged with the following will fail because they assume collections are not sharded. + - assumes_no_implicit_collection_creation_after_drop + - assumes_no_implicit_index_creation + - assumes_unsharded_collection + - cannot_create_unique_index_when_using_hashed_shard_key executor: - js_test: - config: - shell_options: - readMode: commands - eval: load("jstests/libs/override_methods/implicitly_shard_accessed_collections.js") - hooks: - - class: ValidateCollections - - class: CleanEveryN - n: 20 - fixture: - class: ShardedClusterFixture - mongos_options: - bind_ip_all: '' - set_parameters: - enableTestCommands: 1 - mongod_options: - bind_ip_all: '' - nopreallocj: '' - set_parameters: - enableTestCommands: 1 - numInitialSyncAttempts: 1 + config: + shell_options: + readMode: commands + eval: load("jstests/libs/override_methods/implicitly_shard_accessed_collections.js") + hooks: + - class: ValidateCollections + - class: CleanEveryN + n: 20 + fixture: + class: ShardedClusterFixture + mongos_options: + bind_ip_all: '' + set_parameters: + enableTestCommands: 1 + mongod_options: + bind_ip_all: '' + nopreallocj: '' + set_parameters: + enableTestCommands: 1 + numInitialSyncAttempts: 1 diff --git a/buildscripts/resmokeconfig/suites/audit.yml b/buildscripts/resmokeconfig/suites/audit.yml index ba62241e73b..eb2f7d00330 100644 --- a/buildscripts/resmokeconfig/suites/audit.yml +++ b/buildscripts/resmokeconfig/suites/audit.yml @@ -1,12 +1,12 @@ +test_kind: js_test + selector: - js_test: - roots: - - src/mongo/db/modules/*/jstests/audit/*.js + roots: + - src/mongo/db/modules/*/jstests/audit/*.js # audit tests start their own mongod's. executor: - js_test: - config: - shell_options: - nodb: '' - readMode: commands + config: + shell_options: + nodb: '' + readMode: commands diff --git a/buildscripts/resmokeconfig/suites/auth.yml b/buildscripts/resmokeconfig/suites/auth.yml index 2dec0319aa8..6467fa26d36 100644 --- a/buildscripts/resmokeconfig/suites/auth.yml +++ b/buildscripts/resmokeconfig/suites/auth.yml @@ -1,15 +1,15 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/auth/*.js - exclude_files: - # Skip until SERVER-25618 is resolved. - - jstests/auth/repl.js + roots: + - jstests/auth/*.js + exclude_files: + # Skip until SERVER-25618 is resolved. + - jstests/auth/repl.js # Auth tests start their own mongod's. executor: - js_test: - config: - shell_options: - nodb: '' - readMode: commands + config: + shell_options: + nodb: '' + readMode: commands diff --git a/buildscripts/resmokeconfig/suites/auth_audit.yml b/buildscripts/resmokeconfig/suites/auth_audit.yml index 2cc841760ac..7ac094bfff1 100644 --- a/buildscripts/resmokeconfig/suites/auth_audit.yml +++ b/buildscripts/resmokeconfig/suites/auth_audit.yml @@ -1,18 +1,18 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/auth/*.js - exclude_files: - # Skip until SERVER-25618 is resolved. - - jstests/auth/repl.js + roots: + - jstests/auth/*.js + exclude_files: + # Skip until SERVER-25618 is resolved. + - jstests/auth/repl.js # Auth tests start their own mongod's. executor: - js_test: - config: - shell_options: - nodb: '' - readMode: commands - global_vars: - TestData: - auditDestination: 'console' + config: + shell_options: + nodb: '' + readMode: commands + global_vars: + TestData: + auditDestination: 'console' diff --git a/buildscripts/resmokeconfig/suites/bulk_gle_passthrough.yml b/buildscripts/resmokeconfig/suites/bulk_gle_passthrough.yml index 8e88985f671..2b9d4c875a0 100644 --- a/buildscripts/resmokeconfig/suites/bulk_gle_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/bulk_gle_passthrough.yml @@ -1,22 +1,22 @@ +test_kind: js_test + selector: - js_test: - roots: - # Define these tests as the roots so that tags can be used to do further refinement. This is in - # contrast to using jstests/core/*.js as a root, and using include_files as a whitelist. - - jstests/core/bulk*.js + roots: + # Define these tests as the roots so that tags can be used to do further refinement. This is in + # contrast to using jstests/core/*.js as a root, and using include_files as a whitelist. + - jstests/core/bulk*.js executor: - js_test: - config: - shell_options: - readMode: legacy - writeMode: legacy - hooks: - - class: ValidateCollections - - class: CleanEveryN - n: 20 - fixture: - class: MongoDFixture - mongod_options: - set_parameters: - enableTestCommands: 1 + config: + shell_options: + readMode: legacy + writeMode: legacy + hooks: + - class: ValidateCollections + - class: CleanEveryN + n: 20 + fixture: + class: MongoDFixture + mongod_options: + set_parameters: + enableTestCommands: 1 diff --git a/buildscripts/resmokeconfig/suites/causally_consistent_jscore_passthrough.yml b/buildscripts/resmokeconfig/suites/causally_consistent_jscore_passthrough.yml index 3ce0778d644..7470de4a880 100644 --- a/buildscripts/resmokeconfig/suites/causally_consistent_jscore_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/causally_consistent_jscore_passthrough.yml @@ -1,142 +1,142 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/core/**/*.js - exclude_files: - # The following tests fail because a certain command or functionality is not supported on - # mongos. This command or functionality is placed in a comment next to the failing test. - - jstests/core/apitest_db.js # profiling. - - jstests/core/apply_ops*.js # applyOps, SERVER-1439. - - jstests/core/capped6.js # captrunc. - - jstests/core/capped_convertToCapped1.js # cloneCollectionAsCapped. - - jstests/core/capped_empty.js # emptycapped. - - jstests/core/capped_update.js # uses godinsert and can't run under replication. - - jstests/core/check_shard_index.js # checkShardingIndex. - - jstests/core/collection_truncate.js # emptycapped. - - jstests/core/compact_keeps_indexes.js # compact. - - jstests/core/currentop.js # uses fsync. - - jstests/core/dbadmin.js # "local" database. - - jstests/core/dbhash.js # dbhash. - - jstests/core/dbhash2.js # dbhash. - - jstests/core/diagdata.js # Command not supported in mongos - - jstests/core/dropdb_race.js # syncdelay. - - jstests/core/evalb.js # db.eval() and profiling. - - jstests/core/fsync.js # uses fsync. - - jstests/core/geo_haystack*.js # geoSearch. - - jstests/core/geo_s2cursorlimitskip.js # db.eval() and profiling. - - jstests/core/geo_update_btree2.js # notablescan. - - jstests/core/index_bigkeys_nofail.js # failIndexKeyTooLong. - - jstests/core/index_bigkeys_validation.js # failIndexKeyTooLong. - - jstests/core/max_time_ms.js # sleep, SERVER-2212. - - jstests/core/notablescan.js # notablescan. - - jstests/core/profile*.js # profiling. - - jstests/core/repair_database.js # repairDatabase - - jstests/core/repair_database_input_validation.js # repairDatabase - - jstests/core/repair_server12955.js # repairDatabase - - jstests/core/stages*.js # stageDebug. - - jstests/core/startup_log.js # "local" database. - - jstests/core/storageDetailsCommand.js # diskStorageStats. - - jstests/core/top.js # top. - # The following tests fail because mongos behaves differently from mongod when testing certain - # functionality. The differences are in a comment next to the failing test. - - jstests/core/explain_missing_database.js # Behavior with no db different on mongos. - - jstests/core/geo_2d_explain.js # executionSuccess in different spot in explain(). - - jstests/core/geo_s2explain.js # inputStage in different spot in explain(). - - jstests/core/geo_s2sparse.js # keysPerIndex in different spot in validate(). - - jstests/core/operation_latency_histogram.js # Stats are counted differently on mongos, SERVER-24880. - # TODO: SERVER-18292 remove once OP_COMMAND is implemented in mongos. - - jstests/core/invalid_db_name.js - - jstests/core/validate_cmd_ns.js - - jstests/core/views/invalid_system_views.js # We expect listCollections to fail when there's an invalid view. - # TODO: SERVER-27269: mongos can't establish cursor if view has $collStats and views another view. - - jstests/core/views/views_coll_stats.js - - jstests/core/killop_drop_collection.js # Uses fsyncLock. - # Tests that won't work with an injected 'majority' readConcern - # and/or an injected 'majority' writeConcern. Where a function is - # listed the reason is we don't have a reliable solution to override - # the write concern for that function. - - jstests/core/batch_write_command*.js # these tests use various write concerns - - jstests/core/bench_test*.js # benchRun() used for writes - - jstests/core/crud_api.js # has specific w:0 tests - - jstests/core/error2.js # db.eval() used - - jstests/core/eval0.js # db.eval() used - - jstests/core/eval1.js # db.eval() used - - jstests/core/eval3.js # db.eval() used - - jstests/core/eval4.js # db.eval() used - - jstests/core/eval5.js # db.eval() used - - jstests/core/eval6.js # db.eval() used - - jstests/core/eval7.js # db.eval() used - - jstests/core/eval9.js # db.eval() used - - jstests/core/evala.js # db.eval() used - - jstests/core/evalc.js # db.eval() used - - jstests/core/evald.js # db.eval() used - - jstests/core/evale.js # db.eval() used - - jstests/core/evalg.js # db.eval() used - - jstests/core/eval_mr.js # db.eval() used - - jstests/core/eval_nolock.js # db.eval() used - - jstests/core/js3.js # db.dbEval() used - - jstests/core/js7.js # db.eval() used - - jstests/core/js9.js # db.eval() used - - jstests/core/mr_merge.js # mr temp tables aren't replicated - - jstests/core/mr_merge2.js # mr temp tables aren't replicated - - jstests/core/mr_outreduce.js # mr temp tables aren't replicated - - jstests/core/mr_outreduce2.js # mr temp tables aren't replicated - - jstests/core/opcounters_active.js # off by n problem with opcounters - - jstests/core/opcounters_write_cmd.js # off by n problem with opcounters - - jstests/core/read_after_optime.js # verifies read after optime fails on standalone - - jstests/core/remove8.js # db.eval() used - - jstests/core/rename4.js # db.eval() used - - jstests/core/shell1.js # tests setSlaveOk() variations on standalone mongod - - jstests/core/shellkillop.js # db.eval() used - - jstests/core/shell_writeconcern.js # checks write concern shell helpers - - jstests/core/storefunc.js # db.eval() used - - jstests/core/write_result.js # Tests invalid writeConcern, we shouldn't override. - # Tests that need triaging & remediation | blacklist decision - # Comments list possible problem point under review. - - jstests/core/stages_delete.js # Uses stageDebug command for deletes. - # Tests that fail for Causal Consistency as they have statements that do not support - # non-local read concern. - - jstests/core/geo_mapreduce.js - - jstests/core/geo_mapreduce2.js - - jstests/core/geo_big_polygon3.js - - jstests/core/mr*.js - - jstests/core/profile_mapreduce.js - - jstests/core/collation.js - - jstests/core/loadserverscripts.js - - jstests/core/bypass_doc_validation.js - - jstests/core/capped_max1.js - - jstests/core/commands_namespace_parsing.js - - jstests/core/tailable_skip_limit.js - - jstests/core/constructors.js - - jstests/core/index_stats.js - - jstests/core/views/views_all_commands.js - - jstests/core/or4.js - - jstests/core/recursion.js - - jstests/core/temp_cleanup.js + roots: + - jstests/core/**/*.js + exclude_files: + # The following tests fail because a certain command or functionality is not supported on + # mongos. This command or functionality is placed in a comment next to the failing test. + - jstests/core/apitest_db.js # profiling. + - jstests/core/apply_ops*.js # applyOps, SERVER-1439. + - jstests/core/capped6.js # captrunc. + - jstests/core/capped_convertToCapped1.js # cloneCollectionAsCapped. + - jstests/core/capped_empty.js # emptycapped. + - jstests/core/capped_update.js # uses godinsert and can't run under replication. + - jstests/core/check_shard_index.js # checkShardingIndex. + - jstests/core/collection_truncate.js # emptycapped. + - jstests/core/compact_keeps_indexes.js # compact. + - jstests/core/currentop.js # uses fsync. + - jstests/core/dbadmin.js # "local" database. + - jstests/core/dbhash.js # dbhash. + - jstests/core/dbhash2.js # dbhash. + - jstests/core/diagdata.js # Command not supported in mongos + - jstests/core/dropdb_race.js # syncdelay. + - jstests/core/evalb.js # db.eval() and profiling. + - jstests/core/fsync.js # uses fsync. + - jstests/core/geo_haystack*.js # geoSearch. + - jstests/core/geo_s2cursorlimitskip.js # db.eval() and profiling. + - jstests/core/geo_update_btree2.js # notablescan. + - jstests/core/index_bigkeys_nofail.js # failIndexKeyTooLong. + - jstests/core/index_bigkeys_validation.js # failIndexKeyTooLong. + - jstests/core/max_time_ms.js # sleep, SERVER-2212. + - jstests/core/notablescan.js # notablescan. + - jstests/core/profile*.js # profiling. + - jstests/core/repair_database.js # repairDatabase + - jstests/core/repair_database_input_validation.js # repairDatabase + - jstests/core/repair_server12955.js # repairDatabase + - jstests/core/stages*.js # stageDebug. + - jstests/core/startup_log.js # "local" database. + - jstests/core/storageDetailsCommand.js # diskStorageStats. + - jstests/core/top.js # top. + # The following tests fail because mongos behaves differently from mongod when testing certain + # functionality. The differences are in a comment next to the failing test. + - jstests/core/explain_missing_database.js # Behavior with no db different on mongos. + - jstests/core/geo_2d_explain.js # executionSuccess in different spot in explain(). + - jstests/core/geo_s2explain.js # inputStage in different spot in explain(). + - jstests/core/geo_s2sparse.js # keysPerIndex in different spot in validate(). + - jstests/core/operation_latency_histogram.js # Stats are counted differently on mongos, SERVER-24880. + # TODO: SERVER-18292 remove once OP_COMMAND is implemented in mongos. + - jstests/core/invalid_db_name.js + - jstests/core/validate_cmd_ns.js + - jstests/core/views/invalid_system_views.js # We expect listCollections to fail when there's an invalid view. + # TODO: SERVER-27269: mongos can't establish cursor if view has $collStats and views another view. + - jstests/core/views/views_coll_stats.js + - jstests/core/killop_drop_collection.js # Uses fsyncLock. + # Tests that won't work with an injected 'majority' readConcern + # and/or an injected 'majority' writeConcern. Where a function is + # listed the reason is we don't have a reliable solution to override + # the write concern for that function. + - jstests/core/batch_write_command*.js # these tests use various write concerns + - jstests/core/bench_test*.js # benchRun() used for writes + - jstests/core/crud_api.js # has specific w:0 tests + - jstests/core/error2.js # db.eval() used + - jstests/core/eval0.js # db.eval() used + - jstests/core/eval1.js # db.eval() used + - jstests/core/eval3.js # db.eval() used + - jstests/core/eval4.js # db.eval() used + - jstests/core/eval5.js # db.eval() used + - jstests/core/eval6.js # db.eval() used + - jstests/core/eval7.js # db.eval() used + - jstests/core/eval9.js # db.eval() used + - jstests/core/evala.js # db.eval() used + - jstests/core/evalc.js # db.eval() used + - jstests/core/evald.js # db.eval() used + - jstests/core/evale.js # db.eval() used + - jstests/core/evalg.js # db.eval() used + - jstests/core/eval_mr.js # db.eval() used + - jstests/core/eval_nolock.js # db.eval() used + - jstests/core/js3.js # db.dbEval() used + - jstests/core/js7.js # db.eval() used + - jstests/core/js9.js # db.eval() used + - jstests/core/mr_merge.js # mr temp tables aren't replicated + - jstests/core/mr_merge2.js # mr temp tables aren't replicated + - jstests/core/mr_outreduce.js # mr temp tables aren't replicated + - jstests/core/mr_outreduce2.js # mr temp tables aren't replicated + - jstests/core/opcounters_active.js # off by n problem with opcounters + - jstests/core/opcounters_write_cmd.js # off by n problem with opcounters + - jstests/core/read_after_optime.js # verifies read after optime fails on standalone + - jstests/core/remove8.js # db.eval() used + - jstests/core/rename4.js # db.eval() used + - jstests/core/shell1.js # tests setSlaveOk() variations on standalone mongod + - jstests/core/shellkillop.js # db.eval() used + - jstests/core/shell_writeconcern.js # checks write concern shell helpers + - jstests/core/storefunc.js # db.eval() used + - jstests/core/write_result.js # Tests invalid writeConcern, we shouldn't override. + # Tests that need triaging & remediation | blacklist decision + # Comments list possible problem point under review. + - jstests/core/stages_delete.js # Uses stageDebug command for deletes. + # Tests that fail for Causal Consistency as they have statements that do not support + # non-local read concern. + - jstests/core/geo_mapreduce.js + - jstests/core/geo_mapreduce2.js + - jstests/core/geo_big_polygon3.js + - jstests/core/mr*.js + - jstests/core/profile_mapreduce.js + - jstests/core/collation.js + - jstests/core/loadserverscripts.js + - jstests/core/bypass_doc_validation.js + - jstests/core/capped_max1.js + - jstests/core/commands_namespace_parsing.js + - jstests/core/tailable_skip_limit.js + - jstests/core/constructors.js + - jstests/core/index_stats.js + - jstests/core/views/views_all_commands.js + - jstests/core/or4.js + - jstests/core/recursion.js + - jstests/core/temp_cleanup.js executor: - js_test: - config: - shell_options: - eval: load("jstests/libs/override_methods/enable_causal_consistency.js") - readMode: commands - hooks: - - class: ValidateCollections - - class: CleanEveryN - n: 20 - fixture: - class: ShardedClusterFixture - mongos_options: - bind_ip_all: '' - set_parameters: - enableTestCommands: 1 - mongod_options: - bind_ip_all: '' - nopreallocj: '' - enableMajorityReadConcern: '' - set_parameters: - enableTestCommands: 1 - numInitialSyncAttempts: 1 - num_rs_nodes_per_shard: 2 - enable_sharding: - - test + config: + shell_options: + eval: load("jstests/libs/override_methods/enable_causal_consistency.js") + readMode: commands + hooks: + - class: ValidateCollections + - class: CleanEveryN + n: 20 + fixture: + class: ShardedClusterFixture + mongos_options: + bind_ip_all: '' + set_parameters: + enableTestCommands: 1 + mongod_options: + bind_ip_all: '' + nopreallocj: '' + enableMajorityReadConcern: '' + set_parameters: + enableTestCommands: 1 + numInitialSyncAttempts: 1 + num_rs_nodes_per_shard: 2 + enable_sharding: + - test diff --git a/buildscripts/resmokeconfig/suites/concurrency.yml b/buildscripts/resmokeconfig/suites/concurrency.yml index e585902274d..6ba0a320d77 100644 --- a/buildscripts/resmokeconfig/suites/concurrency.yml +++ b/buildscripts/resmokeconfig/suites/concurrency.yml @@ -1,26 +1,26 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/concurrency/*.js - exclude_files: - # Skip replication and sharding tests because they're run in different suites - - jstests/concurrency/fsm_all_replication*.js - - jstests/concurrency/fsm_all_sharded*.js - # Skip fsm_all_simultaneous.js to avoid triggering the 6-hour timeout in Evergreen when this - # suite is run with --repeat=10 on the Linux Repeated Execution variant. - - jstests/concurrency/fsm_all_simultaneous.js + roots: + - jstests/concurrency/*.js + exclude_files: + # Skip replication and sharding tests because they're run in different suites + - jstests/concurrency/fsm_all_replication*.js + - jstests/concurrency/fsm_all_sharded*.js + # Skip fsm_all_simultaneous.js to avoid triggering the 6-hour timeout in Evergreen when this + # suite is run with --repeat=10 on the Linux Repeated Execution variant. + - jstests/concurrency/fsm_all_simultaneous.js executor: - js_test: - config: - shell_options: - readMode: commands - hooks: - - class: ValidateCollections - - class: CleanEveryN - n: 20 - fixture: - class: MongoDFixture - mongod_options: - set_parameters: - enableTestCommands: 1 + config: + shell_options: + readMode: commands + hooks: + - class: ValidateCollections + - class: CleanEveryN + n: 20 + fixture: + class: MongoDFixture + mongod_options: + set_parameters: + enableTestCommands: 1 diff --git a/buildscripts/resmokeconfig/suites/concurrency_replication.yml b/buildscripts/resmokeconfig/suites/concurrency_replication.yml index 8c9d272caea..a846207bf7a 100644 --- a/buildscripts/resmokeconfig/suites/concurrency_replication.yml +++ b/buildscripts/resmokeconfig/suites/concurrency_replication.yml @@ -1,12 +1,12 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/concurrency/fsm_all_replication*.js + roots: + - jstests/concurrency/fsm_all_replication*.js # Concurrency tests that run against a replica set start one themselves. executor: - js_test: - config: - shell_options: - nodb: '' - readMode: commands + config: + shell_options: + nodb: '' + readMode: commands diff --git a/buildscripts/resmokeconfig/suites/concurrency_sharded.yml b/buildscripts/resmokeconfig/suites/concurrency_sharded.yml index b5bd8b7169e..008e6381a64 100644 --- a/buildscripts/resmokeconfig/suites/concurrency_sharded.yml +++ b/buildscripts/resmokeconfig/suites/concurrency_sharded.yml @@ -1,12 +1,12 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/concurrency/fsm_all_sharded*.js + roots: + - jstests/concurrency/fsm_all_sharded*.js # Concurrency tests that run against a sharded cluster start one themselves. executor: - js_test: - config: - shell_options: - nodb: '' - readMode: commands + config: + shell_options: + nodb: '' + readMode: commands diff --git a/buildscripts/resmokeconfig/suites/core.yml b/buildscripts/resmokeconfig/suites/core.yml index 7532b70635d..1d417e9db18 100644 --- a/buildscripts/resmokeconfig/suites/core.yml +++ b/buildscripts/resmokeconfig/suites/core.yml @@ -1,20 +1,20 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/core/**/*.js + roots: + - jstests/core/**/*.js executor: - js_test: - config: - shell_options: - readMode: commands - hooks: - - class: ValidateCollections - - class: CleanEveryN - n: 20 - fixture: - class: MongoDFixture - mongod_options: - bind_ip_all: '' - set_parameters: - enableTestCommands: 1 + config: + shell_options: + readMode: commands + hooks: + - class: ValidateCollections + - class: CleanEveryN + n: 20 + fixture: + class: MongoDFixture + mongod_options: + bind_ip_all: '' + set_parameters: + enableTestCommands: 1 diff --git a/buildscripts/resmokeconfig/suites/core_auth.yml b/buildscripts/resmokeconfig/suites/core_auth.yml index 78cbad244e5..d1d90dfaa12 100644 --- a/buildscripts/resmokeconfig/suites/core_auth.yml +++ b/buildscripts/resmokeconfig/suites/core_auth.yml @@ -3,38 +3,38 @@ config_variables: - &keyFile jstests/libs/authTestsKey - &keyFileData Thiskeyisonlyforrunningthesuitewithauthenticationdontuseitinanytestsdirectly +test_kind: js_test + selector: - js_test: - roots: - - jstests/core/**/*.js - exclude_files: - # Skip any tests that run with auth explicitly. - - jstests/core/**/*[aA]uth*.js + roots: + - jstests/core/**/*.js + exclude_files: + # Skip any tests that run with auth explicitly. + - jstests/core/**/*[aA]uth*.js executor: - js_test: - config: - shell_options: - global_vars: - TestData: - auth: true - authMechanism: SCRAM-SHA-1 - keyFile: *keyFile - keyFileData: *keyFileData - eval: jsTest.authenticate(db.getMongo()) - authenticationDatabase: local - authenticationMechanism: SCRAM-SHA-1 - password: *keyFileData - username: __system - readMode: commands - hooks: - - class: CleanEveryN - n: 20 - fixture: - class: MongoDFixture - mongod_options: - auth: '' - keyFile: *keyFile - set_parameters: - enableTestCommands: 1 - enableLocalhostAuthBypass: false + config: + shell_options: + global_vars: + TestData: + auth: true + authMechanism: SCRAM-SHA-1 + keyFile: *keyFile + keyFileData: *keyFileData + eval: jsTest.authenticate(db.getMongo()) + authenticationDatabase: local + authenticationMechanism: SCRAM-SHA-1 + password: *keyFileData + username: __system + readMode: commands + hooks: + - class: CleanEveryN + n: 20 + fixture: + class: MongoDFixture + mongod_options: + auth: '' + keyFile: *keyFile + set_parameters: + enableTestCommands: 1 + enableLocalhostAuthBypass: false diff --git a/buildscripts/resmokeconfig/suites/core_ese.yml b/buildscripts/resmokeconfig/suites/core_ese.yml index 74ab7c9b195..1a851cbbd2c 100644 --- a/buildscripts/resmokeconfig/suites/core_ese.yml +++ b/buildscripts/resmokeconfig/suites/core_ese.yml @@ -2,24 +2,24 @@ config_variables: - &keyFile src/mongo/db/modules/enterprise/jstests/encryptdb/libs/ekf2 +test_kind: js_test + selector: - js_test: - roots: - - jstests/core/**/*.js + roots: + - jstests/core/**/*.js executor: - js_test: - config: - shell_options: - readMode: commands - hooks: - - class: ValidateCollections - - class: CleanEveryN - n: 20 - fixture: - class: MongoDFixture - mongod_options: - enableEncryption: '' - encryptionKeyFile: *keyFile - set_parameters: - enableTestCommands: 1 + config: + shell_options: + readMode: commands + hooks: + - class: ValidateCollections + - class: CleanEveryN + n: 20 + fixture: + class: MongoDFixture + mongod_options: + enableEncryption: '' + encryptionKeyFile: *keyFile + set_parameters: + enableTestCommands: 1 diff --git a/buildscripts/resmokeconfig/suites/core_minimum_batch_size.yml b/buildscripts/resmokeconfig/suites/core_minimum_batch_size.yml index 085c32c8c29..96fa4b9ad94 100644 --- a/buildscripts/resmokeconfig/suites/core_minimum_batch_size.yml +++ b/buildscripts/resmokeconfig/suites/core_minimum_batch_size.yml @@ -1,31 +1,31 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/core/**/*.js - exclude_files: - # The following tests fail when specifying a minimal batchSize: - - jstests/core/find9.js # Reduction of objsLeftInBatch. - - jstests/core/finda.js # Reduction of objsLeftInBatch. - - jstests/core/profile1.js # Extra operation for a getmore. - - jstests/core/profile2.js # Extra operation for a getmore. - - jstests/core/sortk.js # Negative limit value changes result to batchSize. - - jstests/core/tailable_skip_limit.js # Negative limit value changes result to batchSize. + roots: + - jstests/core/**/*.js + exclude_files: + # The following tests fail when specifying a minimal batchSize: + - jstests/core/find9.js # Reduction of objsLeftInBatch. + - jstests/core/finda.js # Reduction of objsLeftInBatch. + - jstests/core/profile1.js # Extra operation for a getmore. + - jstests/core/profile2.js # Extra operation for a getmore. + - jstests/core/sortk.js # Negative limit value changes result to batchSize. + - jstests/core/tailable_skip_limit.js # Negative limit value changes result to batchSize. executor: - js_test: - config: - shell_options: - global_vars: - TestData: - batchSize: 2 # Changes the default batchSize of db.coll.find() from 0 to 2. - readMode: commands - eval: load("jstests/libs/override_methods/find_batch_size.js"); - hooks: - - class: ValidateCollections - - class: CleanEveryN - n: 20 - fixture: - class: MongoDFixture - mongod_options: - set_parameters: - enableTestCommands: 1 + config: + shell_options: + global_vars: + TestData: + batchSize: 2 # Changes the default batchSize of db.coll.find() from 0 to 2. + readMode: commands + eval: load("jstests/libs/override_methods/find_batch_size.js"); + hooks: + - class: ValidateCollections + - class: CleanEveryN + n: 20 + fixture: + class: MongoDFixture + mongod_options: + set_parameters: + enableTestCommands: 1 diff --git a/buildscripts/resmokeconfig/suites/core_op_query.yml b/buildscripts/resmokeconfig/suites/core_op_query.yml index 5ec056a57ff..56d4de905e2 100644 --- a/buildscripts/resmokeconfig/suites/core_op_query.yml +++ b/buildscripts/resmokeconfig/suites/core_op_query.yml @@ -1,20 +1,20 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/core/**/*.js + roots: + - jstests/core/**/*.js executor: - js_test: - config: - shell_options: - rpcProtocols: opQueryOnly - readMode: commands - hooks: - - class: ValidateCollections - - class: CleanEveryN - n: 20 - fixture: - class: MongoDFixture - mongod_options: - set_parameters: - enableTestCommands: 1 + config: + shell_options: + rpcProtocols: opQueryOnly + readMode: commands + hooks: + - class: ValidateCollections + - class: CleanEveryN + n: 20 + fixture: + class: MongoDFixture + mongod_options: + set_parameters: + enableTestCommands: 1 diff --git a/buildscripts/resmokeconfig/suites/dbtest.yml b/buildscripts/resmokeconfig/suites/dbtest.yml index 2eab07bdfcb..da62ab67992 100644 --- a/buildscripts/resmokeconfig/suites/dbtest.yml +++ b/buildscripts/resmokeconfig/suites/dbtest.yml @@ -1,8 +1,8 @@ -selector: - db_test: {} +test_kind: db_test + +selector: {} executor: - db_test: - config: - dbtest_options: - dur: '' + config: + dbtest_options: + dur: '' diff --git a/buildscripts/resmokeconfig/suites/decimal.yml b/buildscripts/resmokeconfig/suites/decimal.yml index 62cb11ecab2..0ad21c91338 100644 --- a/buildscripts/resmokeconfig/suites/decimal.yml +++ b/buildscripts/resmokeconfig/suites/decimal.yml @@ -1,19 +1,19 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/decimal/*.js + roots: + - jstests/decimal/*.js executor: - js_test: - config: - shell_options: - readMode: commands - hooks: - - class: ValidateCollections - - class: CleanEveryN - n: 20 - fixture: - class: MongoDFixture - mongod_options: - set_parameters: - enableTestCommands: 1 + config: + shell_options: + readMode: commands + hooks: + - class: ValidateCollections + - class: CleanEveryN + n: 20 + fixture: + class: MongoDFixture + mongod_options: + set_parameters: + enableTestCommands: 1 diff --git a/buildscripts/resmokeconfig/suites/disk_mmapv1.yml b/buildscripts/resmokeconfig/suites/disk_mmapv1.yml index 194e5121cf9..7538b5fc026 100644 --- a/buildscripts/resmokeconfig/suites/disk_mmapv1.yml +++ b/buildscripts/resmokeconfig/suites/disk_mmapv1.yml @@ -1,29 +1,29 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/disk/*.js - exclude_files: - - jstests/disk/repair2.js # SERVER-18256 - # The following tests require a dedicated disk partition to be set up. Otherwise they will - # silently be no-ops. - - jstests/disk/repair3.js - - jstests/disk/repair4.js + roots: + - jstests/disk/*.js + exclude_files: + - jstests/disk/repair2.js # SERVER-18256 + # The following tests require a dedicated disk partition to be set up. Otherwise they will + # silently be no-ops. + - jstests/disk/repair3.js + - jstests/disk/repair4.js executor: - js_test: - config: - shell_options: - global_vars: - TestData: - storageEngine: mmapv1 - readMode: commands - hooks: - - class: ValidateCollections - - class: CleanEveryN - n: 1 - fixture: - class: MongoDFixture - mongod_options: - set_parameters: - enableTestCommands: 1 - storageEngine: mmapv1 + config: + shell_options: + global_vars: + TestData: + storageEngine: mmapv1 + readMode: commands + hooks: + - class: ValidateCollections + - class: CleanEveryN + n: 1 + fixture: + class: MongoDFixture + mongod_options: + set_parameters: + enableTestCommands: 1 + storageEngine: mmapv1 diff --git a/buildscripts/resmokeconfig/suites/disk_wiredtiger.yml b/buildscripts/resmokeconfig/suites/disk_wiredtiger.yml index a2ce2019a44..99d9c7e269e 100644 --- a/buildscripts/resmokeconfig/suites/disk_wiredtiger.yml +++ b/buildscripts/resmokeconfig/suites/disk_wiredtiger.yml @@ -1,23 +1,23 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/disk/*.js + roots: + - jstests/disk/*.js executor: - js_test: - config: - shell_options: - global_vars: - TestData: - storageEngine: wiredTiger - readMode: commands - hooks: - - class: ValidateCollections - - class: CleanEveryN - n: 1 - fixture: - class: MongoDFixture - mongod_options: - set_parameters: - enableTestCommands: 1 - storageEngine: wiredTiger + config: + shell_options: + global_vars: + TestData: + storageEngine: wiredTiger + readMode: commands + hooks: + - class: ValidateCollections + - class: CleanEveryN + n: 1 + fixture: + class: MongoDFixture + mongod_options: + set_parameters: + enableTestCommands: 1 + storageEngine: wiredTiger diff --git a/buildscripts/resmokeconfig/suites/dur_jscore_passthrough.yml b/buildscripts/resmokeconfig/suites/dur_jscore_passthrough.yml index 347d23de967..14e390e7ff3 100644 --- a/buildscripts/resmokeconfig/suites/dur_jscore_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/dur_jscore_passthrough.yml @@ -1,25 +1,25 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/core/**/*.js - exclude_files: - - jstests/core/repair*.js # Fails on recovery. - - jstests/core/shellkillop.js # Takes forever and doesn't test anything new. + roots: + - jstests/core/**/*.js + exclude_files: + - jstests/core/repair*.js # Fails on recovery. + - jstests/core/shellkillop.js # Takes forever and doesn't test anything new. executor: - js_test: - config: - shell_options: - readMode: commands - hooks: - - class: ValidateCollections - - class: CleanEveryN - n: 20 - fixture: - class: MongoDFixture - mongod_options: - journal: '' - set_parameters: - enableTestCommands: 1 - smallfiles: '' - durOptions: 8 + config: + shell_options: + readMode: commands + hooks: + - class: ValidateCollections + - class: CleanEveryN + n: 20 + fixture: + class: MongoDFixture + mongod_options: + journal: '' + set_parameters: + enableTestCommands: 1 + smallfiles: '' + durOptions: 8 diff --git a/buildscripts/resmokeconfig/suites/durability.yml b/buildscripts/resmokeconfig/suites/durability.yml index 0653ff7ce02..9dbc458c837 100644 --- a/buildscripts/resmokeconfig/suites/durability.yml +++ b/buildscripts/resmokeconfig/suites/durability.yml @@ -1,18 +1,18 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/dur/*.js - exclude_files: - # SERVER-19124 closeall.js causes the task to time out in Evergreen. - - jstests/dur/closeall.js + roots: + - jstests/dur/*.js + exclude_files: + # SERVER-19124 closeall.js causes the task to time out in Evergreen. + - jstests/dur/closeall.js # Durability tests start their own mongod's. executor: - js_test: - config: - shell_options: - global_vars: - TestData: - storageEngine: mmapv1 - nodb: '' - readMode: commands + config: + shell_options: + global_vars: + TestData: + storageEngine: mmapv1 + nodb: '' + readMode: commands diff --git a/buildscripts/resmokeconfig/suites/ese.yml b/buildscripts/resmokeconfig/suites/ese.yml index 60b25db5509..79bbe88294b 100644 --- a/buildscripts/resmokeconfig/suites/ese.yml +++ b/buildscripts/resmokeconfig/suites/ese.yml @@ -1,12 +1,12 @@ +test_kind: js_test + selector: - js_test: - roots: - - src/mongo/db/modules/*/jstests/encryptdb/*.js + roots: + - src/mongo/db/modules/*/jstests/encryptdb/*.js # Encrypted storage engine tests start their own mongod processes executor: - js_test: - config: - shell_options: - nodb: '' - readMode: commands + config: + shell_options: + nodb: '' + readMode: commands diff --git a/buildscripts/resmokeconfig/suites/external_auth.yml b/buildscripts/resmokeconfig/suites/external_auth.yml index cadb6603185..09ed96fe4e3 100644 --- a/buildscripts/resmokeconfig/suites/external_auth.yml +++ b/buildscripts/resmokeconfig/suites/external_auth.yml @@ -1,16 +1,16 @@ +test_kind: js_test + selector: - js_test: - roots: - - src/mongo/db/modules/enterprise/jstests/external_auth/*.js + roots: + - src/mongo/db/modules/enterprise/jstests/external_auth/*.js executor: - js_test: - config: - shell_options: - nodb: '' - readMode: commands - gssapiServiceName: "mockservice" - process_kwargs: - env_vars: - KRB5_TRACE: /dev/stdout - KRB5_CONFIG: src/mongo/db/modules/enterprise/jstests/external_auth/assets/krb5.conf + config: + shell_options: + nodb: '' + readMode: commands + gssapiServiceName: "mockservice" + process_kwargs: + env_vars: + KRB5_TRACE: /dev/stdout + KRB5_CONFIG: src/mongo/db/modules/enterprise/jstests/external_auth/assets/krb5.conf diff --git a/buildscripts/resmokeconfig/suites/failpoints.yml b/buildscripts/resmokeconfig/suites/failpoints.yml index 5943ce0f49e..a1032b384fa 100644 --- a/buildscripts/resmokeconfig/suites/failpoints.yml +++ b/buildscripts/resmokeconfig/suites/failpoints.yml @@ -1,12 +1,12 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/fail_point/*.js + roots: + - jstests/fail_point/*.js # Failpoint tests start their own mongod's. executor: - js_test: - config: - shell_options: - nodb: '' - readMode: commands + config: + shell_options: + nodb: '' + readMode: commands diff --git a/buildscripts/resmokeconfig/suites/failpoints_auth.yml b/buildscripts/resmokeconfig/suites/failpoints_auth.yml index 04c514080be..044381d1e34 100644 --- a/buildscripts/resmokeconfig/suites/failpoints_auth.yml +++ b/buildscripts/resmokeconfig/suites/failpoints_auth.yml @@ -3,24 +3,24 @@ config_variables: - &keyFile jstests/libs/authTestsKey - &keyFileData Thiskeyisonlyforrunningthesuitewithauthenticationdontuseitinanytestsdirectly +test_kind: js_test + selector: - js_test: - roots: - - jstests/fail_point/*.js - exclude_files: - # Skip any tests that run with auth explicitly. - - jstests/fail_point/*[aA]uth*.js + roots: + - jstests/fail_point/*.js + exclude_files: + # Skip any tests that run with auth explicitly. + - jstests/fail_point/*[aA]uth*.js # Failpoint tests start their own mongod's. executor: - js_test: - config: - shell_options: - global_vars: - TestData: - auth: true - authMechanism: SCRAM-SHA-1 - keyFile: *keyFile - keyFileData: *keyFileData - nodb: '' - readMode: commands + config: + shell_options: + global_vars: + TestData: + auth: true + authMechanism: SCRAM-SHA-1 + keyFile: *keyFile + keyFileData: *keyFileData + nodb: '' + readMode: commands diff --git a/buildscripts/resmokeconfig/suites/gle_auth.yml b/buildscripts/resmokeconfig/suites/gle_auth.yml index ad8bc84c190..084f391867f 100644 --- a/buildscripts/resmokeconfig/suites/gle_auth.yml +++ b/buildscripts/resmokeconfig/suites/gle_auth.yml @@ -3,38 +3,38 @@ config_variables: - &keyFile jstests/libs/authTestsKey - &keyFileData Thiskeyisonlyforrunningthesuitewithauthenticationdontuseitinanytestsdirectly +test_kind: js_test + selector: - js_test: - roots: - - jstests/gle/*.js - exclude_files: - # Skip any tests that run with auth explicitly. - - jstests/gle/*[aA]uth*.js + roots: + - jstests/gle/*.js + exclude_files: + # Skip any tests that run with auth explicitly. + - jstests/gle/*[aA]uth*.js executor: - js_test: - config: - shell_options: - global_vars: - TestData: - auth: true - authMechanism: SCRAM-SHA-1 - keyFile: *keyFile - keyFileData: *keyFileData - eval: jsTest.authenticate(db.getMongo()) - authenticationDatabase: local - authenticationMechanism: SCRAM-SHA-1 - password: *keyFileData - username: __system - readMode: commands - hooks: - - class: CleanEveryN - n: 20 - fixture: - class: MongoDFixture - mongod_options: - auth: '' - keyFile: *keyFile - set_parameters: - enableTestCommands: 1 - enableLocalhostAuthBypass: false + config: + shell_options: + global_vars: + TestData: + auth: true + authMechanism: SCRAM-SHA-1 + keyFile: *keyFile + keyFileData: *keyFileData + eval: jsTest.authenticate(db.getMongo()) + authenticationDatabase: local + authenticationMechanism: SCRAM-SHA-1 + password: *keyFileData + username: __system + readMode: commands + hooks: + - class: CleanEveryN + n: 20 + fixture: + class: MongoDFixture + mongod_options: + auth: '' + keyFile: *keyFile + set_parameters: + enableTestCommands: 1 + enableLocalhostAuthBypass: false diff --git a/buildscripts/resmokeconfig/suites/gle_auth_basics_passthrough.yml b/buildscripts/resmokeconfig/suites/gle_auth_basics_passthrough.yml index ebbd50f5f0c..9ce634bf741 100644 --- a/buildscripts/resmokeconfig/suites/gle_auth_basics_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/gle_auth_basics_passthrough.yml @@ -3,32 +3,32 @@ config_variables: - &keyFile jstests/libs/authTestsKey - &keyFileData Thiskeyisonlyforrunningthesuitewithauthenticationdontuseitinanytestsdirectly +test_kind: js_test + selector: - js_test: - roots: - - jstests/gle/core/*.js + roots: + - jstests/gle/core/*.js executor: - js_test: - config: - shell_options: - global_vars: - TestData: - auth: true - authMechanism: SCRAM-SHA-1 - keyFile: *keyFile - keyFileData: *keyFileData - eval: jsTest.authenticate(db.getMongo()) - authenticationDatabase: local - authenticationMechanism: SCRAM-SHA-1 - password: *keyFileData - username: __system - readMode: commands - fixture: - class: MongoDFixture - mongod_options: - auth: '' - keyFile: *keyFile - set_parameters: - enableTestCommands: 1 - enableLocalhostAuthBypass: false + config: + shell_options: + global_vars: + TestData: + auth: true + authMechanism: SCRAM-SHA-1 + keyFile: *keyFile + keyFileData: *keyFileData + eval: jsTest.authenticate(db.getMongo()) + authenticationDatabase: local + authenticationMechanism: SCRAM-SHA-1 + password: *keyFileData + username: __system + readMode: commands + fixture: + class: MongoDFixture + mongod_options: + auth: '' + keyFile: *keyFile + set_parameters: + enableTestCommands: 1 + enableLocalhostAuthBypass: false diff --git a/buildscripts/resmokeconfig/suites/integration_tests_replset.yml b/buildscripts/resmokeconfig/suites/integration_tests_replset.yml index cc59aba19d0..c9467fa0368 100644 --- a/buildscripts/resmokeconfig/suites/integration_tests_replset.yml +++ b/buildscripts/resmokeconfig/suites/integration_tests_replset.yml @@ -1,19 +1,19 @@ +test_kind: cpp_integration_test + selector: - cpp_integration_test: - root: build/integration_tests.txt + root: build/integration_tests.txt executor: - cpp_integration_test: - config: {} - hooks: - - class: ValidateCollections - - class: CheckReplOplogs - - class: CheckReplDBHash - fixture: - class: ReplicaSetFixture - mongod_options: - bind_ip_all: '' - set_parameters: - enableTestCommands: 1 - numInitialSyncAttempts: 1 - num_nodes: 2 + config: {} + hooks: + - class: ValidateCollections + - class: CheckReplOplogs + - class: CheckReplDBHash + fixture: + class: ReplicaSetFixture + mongod_options: + bind_ip_all: '' + set_parameters: + enableTestCommands: 1 + numInitialSyncAttempts: 1 + num_nodes: 2 diff --git a/buildscripts/resmokeconfig/suites/integration_tests_sharded.yml b/buildscripts/resmokeconfig/suites/integration_tests_sharded.yml index c7e60faaf31..2942a01474a 100644 --- a/buildscripts/resmokeconfig/suites/integration_tests_sharded.yml +++ b/buildscripts/resmokeconfig/suites/integration_tests_sharded.yml @@ -1,24 +1,24 @@ +test_kind: cpp_integration_test + selector: - cpp_integration_test: - root: build/integration_tests.txt - exclude_files: - - build/integration_tests/network_interface_asio_integration_test* + root: build/integration_tests.txt + exclude_files: + - build/integration_tests/network_interface_asio_integration_test* executor: - cpp_integration_test: - config: {} - hooks: - - class: ValidateCollections - fixture: - class: ShardedClusterFixture - mongod_options: - bind_ip_all: '' - set_parameters: - enableTestCommands: 1 - numInitialSyncAttempts: 1 - mongos_options: - bind_ip_all: '' - set_parameters: - enableTestCommands: 1 - enable_sharding: - - test + config: {} + hooks: + - class: ValidateCollections + fixture: + class: ShardedClusterFixture + mongod_options: + bind_ip_all: '' + set_parameters: + enableTestCommands: 1 + numInitialSyncAttempts: 1 + mongos_options: + bind_ip_all: '' + set_parameters: + enableTestCommands: 1 + enable_sharding: + - test diff --git a/buildscripts/resmokeconfig/suites/integration_tests_standalone.yml b/buildscripts/resmokeconfig/suites/integration_tests_standalone.yml index 938526d48c1..1ab54b6e61f 100644 --- a/buildscripts/resmokeconfig/suites/integration_tests_standalone.yml +++ b/buildscripts/resmokeconfig/suites/integration_tests_standalone.yml @@ -1,17 +1,17 @@ +test_kind: cpp_integration_test + selector: - cpp_integration_test: - root: build/integration_tests.txt + root: build/integration_tests.txt executor: - cpp_integration_test: - config: {} - hooks: - - class: ValidateCollections - - class: CleanEveryN - n: 20 - fixture: - class: MongoDFixture - mongod_options: - bind_ip_all: '' - set_parameters: - enableTestCommands: 1 + config: {} + hooks: + - class: ValidateCollections + - class: CleanEveryN + n: 20 + fixture: + class: MongoDFixture + mongod_options: + bind_ip_all: '' + set_parameters: + enableTestCommands: 1 diff --git a/buildscripts/resmokeconfig/suites/jstestfuzz.yml b/buildscripts/resmokeconfig/suites/jstestfuzz.yml index 872c2a1f229..b72c0457ec8 100644 --- a/buildscripts/resmokeconfig/suites/jstestfuzz.yml +++ b/buildscripts/resmokeconfig/suites/jstestfuzz.yml @@ -1,26 +1,26 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstestfuzz/out/*.js + roots: + - jstestfuzz/out/*.js executor: - js_test: - config: - shell_options: - readMode: commands - hooks: - - class: ValidateCollections - shell_options: - global_vars: - TestData: - skipValidationOnInvalidViewDefinitions: true - forceValidationWithFeatureCompatibilityVersion: "3.4" - fixture: - class: MongoDFixture - mongod_options: - noprealloc: '' - set_parameters: - enableTestCommands: 1 - smallfiles: '' - verbose: '' + config: + shell_options: + readMode: commands + hooks: + - class: ValidateCollections + shell_options: + global_vars: + TestData: + skipValidationOnInvalidViewDefinitions: true + forceValidationWithFeatureCompatibilityVersion: "3.4" + fixture: + class: MongoDFixture + mongod_options: + noprealloc: '' + set_parameters: + enableTestCommands: 1 + smallfiles: '' + verbose: '' diff --git a/buildscripts/resmokeconfig/suites/jstestfuzz_replication.yml b/buildscripts/resmokeconfig/suites/jstestfuzz_replication.yml index 5331ec7e6fe..70ed651886a 100644 --- a/buildscripts/resmokeconfig/suites/jstestfuzz_replication.yml +++ b/buildscripts/resmokeconfig/suites/jstestfuzz_replication.yml @@ -1,32 +1,32 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstestfuzz/out/*.js + roots: + - jstestfuzz/out/*.js executor: - js_test: - config: - shell_options: - readMode: commands - hooks: - - class: ValidateCollections - shell_options: - global_vars: - TestData: - skipValidationOnInvalidViewDefinitions: true - forceValidationWithFeatureCompatibilityVersion: "3.4" - - class: CheckReplOplogs - - class: CheckReplDBHash - shell_options: - global_vars: - TestData: - skipValidationOnInvalidViewDefinitions: true - fixture: - class: ReplicaSetFixture - mongod_options: - bind_ip_all: '' - set_parameters: - enableTestCommands: 1 - numInitialSyncAttempts: 1 - verbose: '' - num_nodes: 2 + config: + shell_options: + readMode: commands + hooks: + - class: ValidateCollections + shell_options: + global_vars: + TestData: + skipValidationOnInvalidViewDefinitions: true + forceValidationWithFeatureCompatibilityVersion: "3.4" + - class: CheckReplOplogs + - class: CheckReplDBHash + shell_options: + global_vars: + TestData: + skipValidationOnInvalidViewDefinitions: true + fixture: + class: ReplicaSetFixture + mongod_options: + bind_ip_all: '' + set_parameters: + enableTestCommands: 1 + numInitialSyncAttempts: 1 + verbose: '' + num_nodes: 2 diff --git a/buildscripts/resmokeconfig/suites/jstestfuzz_replication_initsync.yml b/buildscripts/resmokeconfig/suites/jstestfuzz_replication_initsync.yml index a969ded4d38..9c9bc152bce 100644 --- a/buildscripts/resmokeconfig/suites/jstestfuzz_replication_initsync.yml +++ b/buildscripts/resmokeconfig/suites/jstestfuzz_replication_initsync.yml @@ -1,35 +1,35 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstestfuzz/out/*.js + roots: + - jstestfuzz/out/*.js executor: - js_test: - config: - shell_options: - readMode: commands - global_vars: - TestData: - ignoreCommandsIncompatibleWithInitialSync: true - hooks: - - class: BackgroundInitialSync - n: 1 - shell_options: - global_vars: - TestData: - skipValidationOnInvalidViewDefinitions: true - forceValidationWithFeatureCompatibilityVersion: "3.4" - fixture: - class: ReplicaSetFixture - mongod_options: - oplogSize: 511 - bind_ip_all: '' - verbose: '' - set_parameters: - logComponentVerbosity: - replication: 2 - enableTestCommands: 1 - numInitialSyncAttempts: 2 - numInitialSyncConnectAttempts: 60 - num_nodes: 2 - start_initial_sync_node: True + config: + shell_options: + readMode: commands + global_vars: + TestData: + ignoreCommandsIncompatibleWithInitialSync: true + hooks: + - class: BackgroundInitialSync + n: 1 + shell_options: + global_vars: + TestData: + skipValidationOnInvalidViewDefinitions: true + forceValidationWithFeatureCompatibilityVersion: "3.4" + fixture: + class: ReplicaSetFixture + mongod_options: + oplogSize: 511 + bind_ip_all: '' + verbose: '' + set_parameters: + logComponentVerbosity: + replication: 2 + enableTestCommands: 1 + numInitialSyncAttempts: 2 + numInitialSyncConnectAttempts: 60 + num_nodes: 2 + start_initial_sync_node: True diff --git a/buildscripts/resmokeconfig/suites/jstestfuzz_replication_resync.yml b/buildscripts/resmokeconfig/suites/jstestfuzz_replication_resync.yml index d2a6dbccc85..95ffc352da8 100644 --- a/buildscripts/resmokeconfig/suites/jstestfuzz_replication_resync.yml +++ b/buildscripts/resmokeconfig/suites/jstestfuzz_replication_resync.yml @@ -1,36 +1,36 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstestfuzz/out/*.js + roots: + - jstestfuzz/out/*.js executor: - js_test: - config: - shell_options: - readMode: commands - global_vars: - TestData: - ignoreCommandsIncompatibleWithInitialSync: true - hooks: - - class: BackgroundInitialSync - use_resync: true - n: 1 - shell_options: - global_vars: - TestData: - skipValidationOnInvalidViewDefinitions: true - forceValidationWithFeatureCompatibilityVersion: "3.4" - fixture: - class: ReplicaSetFixture - mongod_options: - oplogSize: 511 - bind_ip_all: '' - verbose: '' - set_parameters: - logComponentVerbosity: - replication: 2 - enableTestCommands: 1 - numInitialSyncAttempts: 1 - numInitialSyncConnectAttempts: 60 - num_nodes: 2 - start_initial_sync_node: True + config: + shell_options: + readMode: commands + global_vars: + TestData: + ignoreCommandsIncompatibleWithInitialSync: true + hooks: + - class: BackgroundInitialSync + use_resync: true + n: 1 + shell_options: + global_vars: + TestData: + skipValidationOnInvalidViewDefinitions: true + forceValidationWithFeatureCompatibilityVersion: "3.4" + fixture: + class: ReplicaSetFixture + mongod_options: + oplogSize: 511 + bind_ip_all: '' + verbose: '' + set_parameters: + logComponentVerbosity: + replication: 2 + enableTestCommands: 1 + numInitialSyncAttempts: 1 + numInitialSyncConnectAttempts: 60 + num_nodes: 2 + start_initial_sync_node: True diff --git a/buildscripts/resmokeconfig/suites/jstestfuzz_sharded.yml b/buildscripts/resmokeconfig/suites/jstestfuzz_sharded.yml index c7bdd2a80bf..a5c31b21582 100644 --- a/buildscripts/resmokeconfig/suites/jstestfuzz_sharded.yml +++ b/buildscripts/resmokeconfig/suites/jstestfuzz_sharded.yml @@ -1,31 +1,31 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstestfuzz/out/*.js + roots: + - jstestfuzz/out/*.js executor: - js_test: - config: - shell_options: - readMode: commands - hooks: - - class: ValidateCollections - shell_options: - global_vars: - TestData: - skipValidationOnInvalidViewDefinitions: true - forceValidationWithFeatureCompatibilityVersion: "3.4" - fixture: - class: ShardedClusterFixture - mongos_options: - set_parameters: - enableTestCommands: 1 - bind_ip_all: '' - verbose: '' - mongod_options: - set_parameters: - enableTestCommands: 1 - numInitialSyncAttempts: 1 - verbose: '' - bind_ip_all: '' - num_shards: 2 + config: + shell_options: + readMode: commands + hooks: + - class: ValidateCollections + shell_options: + global_vars: + TestData: + skipValidationOnInvalidViewDefinitions: true + forceValidationWithFeatureCompatibilityVersion: "3.4" + fixture: + class: ShardedClusterFixture + mongos_options: + set_parameters: + enableTestCommands: 1 + bind_ip_all: '' + verbose: '' + mongod_options: + set_parameters: + enableTestCommands: 1 + numInitialSyncAttempts: 1 + verbose: '' + bind_ip_all: '' + num_shards: 2 diff --git a/buildscripts/resmokeconfig/suites/master_slave.yml b/buildscripts/resmokeconfig/suites/master_slave.yml index 8ada95d1760..eb3dfbc4ef3 100644 --- a/buildscripts/resmokeconfig/suites/master_slave.yml +++ b/buildscripts/resmokeconfig/suites/master_slave.yml @@ -1,14 +1,14 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/master_slave/*.js - exclude_files: - # Skip until SERVER-25618 is resolved. - - jstests/master_slave/block1.js + roots: + - jstests/master_slave/*.js + exclude_files: + # Skip until SERVER-25618 is resolved. + - jstests/master_slave/block1.js executor: - js_test: - config: - shell_options: - nodb: '' - readMode: commands + config: + shell_options: + nodb: '' + readMode: commands diff --git a/buildscripts/resmokeconfig/suites/master_slave_auth.yml b/buildscripts/resmokeconfig/suites/master_slave_auth.yml index 6ce42adbe9a..4ba765fc9f0 100644 --- a/buildscripts/resmokeconfig/suites/master_slave_auth.yml +++ b/buildscripts/resmokeconfig/suites/master_slave_auth.yml @@ -3,25 +3,25 @@ config_variables: - &keyFile jstests/libs/authTestsKey - &keyFileData Thiskeyisonlyforrunningthesuitewithauthenticationdontuseitinanytestsdirectly +test_kind: js_test + selector: - js_test: - roots: - - jstests/master_slave/*.js - exclude_files: - # Skip any tests that run with auth explicitly. - - jstests/master_slave/*[aA]uth*.js - # Skip until SERVER-25618 is resolved. - - jstests/master_slave/block1.js + roots: + - jstests/master_slave/*.js + exclude_files: + # Skip any tests that run with auth explicitly. + - jstests/master_slave/*[aA]uth*.js + # Skip until SERVER-25618 is resolved. + - jstests/master_slave/block1.js executor: - js_test: - config: - shell_options: - global_vars: - TestData: - auth: true - authMechanism: SCRAM-SHA-1 - keyFile: *keyFile - keyFileData: *keyFileData - nodb: '' - readMode: commands + config: + shell_options: + global_vars: + TestData: + auth: true + authMechanism: SCRAM-SHA-1 + keyFile: *keyFile + keyFileData: *keyFileData + nodb: '' + readMode: commands diff --git a/buildscripts/resmokeconfig/suites/master_slave_jscore_passthrough.yml b/buildscripts/resmokeconfig/suites/master_slave_jscore_passthrough.yml index 9201e6d7071..54a0d791121 100644 --- a/buildscripts/resmokeconfig/suites/master_slave_jscore_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/master_slave_jscore_passthrough.yml @@ -1,28 +1,28 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/core/**/*.js - exclude_files: - # These tests are not expected to pass with master-slave: - - jstests/core/dbadmin.js - - jstests/core/opcounters_write_cmd.js - - jstests/core/capped_update.js + roots: + - jstests/core/**/*.js + exclude_files: + # These tests are not expected to pass with master-slave: + - jstests/core/dbadmin.js + - jstests/core/opcounters_write_cmd.js + - jstests/core/capped_update.js executor: - js_test: - config: - shell_options: - eval: "testingReplication = true;" - readMode: commands - hooks: - - class: ValidateCollections - - class: CheckReplDBHash - - class: CleanEveryN - n: 20 - fixture: - class: MasterSlaveFixture - mongod_options: - bind_ip_all: '' - oplogSize: 511 - set_parameters: - enableTestCommands: 1 + config: + shell_options: + eval: "testingReplication = true;" + readMode: commands + hooks: + - class: ValidateCollections + - class: CheckReplDBHash + - class: CleanEveryN + n: 20 + fixture: + class: MasterSlaveFixture + mongod_options: + bind_ip_all: '' + oplogSize: 511 + set_parameters: + enableTestCommands: 1 diff --git a/buildscripts/resmokeconfig/suites/mmap.yml b/buildscripts/resmokeconfig/suites/mmap.yml index 6fc951c25cb..618dd2dd151 100644 --- a/buildscripts/resmokeconfig/suites/mmap.yml +++ b/buildscripts/resmokeconfig/suites/mmap.yml @@ -1,23 +1,23 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/mmap_v1/*.js + roots: + - jstests/mmap_v1/*.js executor: - js_test: - config: - shell_options: - global_vars: - TestData: - storageEngine: mmapv1 - readMode: commands - hooks: - - class: ValidateCollections - - class: CleanEveryN - n: 20 - fixture: - class: MongoDFixture - mongod_options: - set_parameters: - enableTestCommands: 1 - storageEngine: mmapv1 + config: + shell_options: + global_vars: + TestData: + storageEngine: mmapv1 + readMode: commands + hooks: + - class: ValidateCollections + - class: CleanEveryN + n: 20 + fixture: + class: MongoDFixture + mongod_options: + set_parameters: + enableTestCommands: 1 + storageEngine: mmapv1 diff --git a/buildscripts/resmokeconfig/suites/mongos_test.yml b/buildscripts/resmokeconfig/suites/mongos_test.yml index e9fd1cc80fe..28260b197ee 100644 --- a/buildscripts/resmokeconfig/suites/mongos_test.yml +++ b/buildscripts/resmokeconfig/suites/mongos_test.yml @@ -1,3 +1,4 @@ +test_kind: mongos_test + selector: - mongos_test: - test: '' + test: '' diff --git a/buildscripts/resmokeconfig/suites/multiversion.yml b/buildscripts/resmokeconfig/suites/multiversion.yml index f1ca7bcdede..b71eddc93a1 100644 --- a/buildscripts/resmokeconfig/suites/multiversion.yml +++ b/buildscripts/resmokeconfig/suites/multiversion.yml @@ -1,19 +1,19 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/multiVersion/*.js - exclude_files: - # Multi storageEngine tests - - jstests/multiVersion/mixed_storage_version_replication.js - - jstests/multiVersion/transitioning_to_and_from_WT.js - # TODO: SERVER-21578 - - jstests/multiVersion/balancer_multiVersion_detect.js - # TODO: SERVER-28104 - - jstests/multiVersion/minor_version_tags_new_old_new.js + roots: + - jstests/multiVersion/*.js + exclude_files: + # Multi storageEngine tests + - jstests/multiVersion/mixed_storage_version_replication.js + - jstests/multiVersion/transitioning_to_and_from_WT.js + # TODO: SERVER-21578 + - jstests/multiVersion/balancer_multiVersion_detect.js + # TODO: SERVER-28104 + - jstests/multiVersion/minor_version_tags_new_old_new.js # Multiversion tests start their own mongod's. executor: - js_test: - config: - shell_options: - nodb: '' + config: + shell_options: + nodb: '' diff --git a/buildscripts/resmokeconfig/suites/multiversion_auth.yml b/buildscripts/resmokeconfig/suites/multiversion_auth.yml index 9c39f868168..d8161c6ce47 100644 --- a/buildscripts/resmokeconfig/suites/multiversion_auth.yml +++ b/buildscripts/resmokeconfig/suites/multiversion_auth.yml @@ -3,32 +3,32 @@ config_variables: - &keyFile jstests/libs/authTestsKey - &keyFileData Thiskeyisonlyforrunningthesuitewithauthenticationdontuseitinanytestsdirectly +test_kind: js_test + selector: - js_test: - roots: - - jstests/multiVersion/*.js - exclude_files: - # Multi storageEngine tests - - jstests/multiVersion/mixed_storage_version_replication.js - - jstests/multiVersion/transitioning_to_and_from_WT.js - # TODO: SERVER-21578 - - jstests/multiVersion/balancer_multiVersion_detect.js - # TODO: SERVER-28104 - - jstests/multiVersion/minor_version_tags_new_old_new.js + roots: + - jstests/multiVersion/*.js + exclude_files: + # Multi storageEngine tests + - jstests/multiVersion/mixed_storage_version_replication.js + - jstests/multiVersion/transitioning_to_and_from_WT.js + # TODO: SERVER-21578 + - jstests/multiVersion/balancer_multiVersion_detect.js + # TODO: SERVER-28104 + - jstests/multiVersion/minor_version_tags_new_old_new.js # Multiversion tests start their own mongod's. executor: - js_test: - config: - shell_options: - global_vars: - TestData: - auth: true - authMechanism: SCRAM-SHA-1 - keyFile: *keyFile - keyFileData: *keyFileData - authenticationDatabase: local - authenticationMechanism: SCRAM-SHA-1 - password: *keyFileData - username: __system - nodb: '' + config: + shell_options: + global_vars: + TestData: + auth: true + authMechanism: SCRAM-SHA-1 + keyFile: *keyFile + keyFileData: *keyFileData + authenticationDatabase: local + authenticationMechanism: SCRAM-SHA-1 + password: *keyFileData + username: __system + nodb: '' diff --git a/buildscripts/resmokeconfig/suites/multiversion_multistorage_engine.yml b/buildscripts/resmokeconfig/suites/multiversion_multistorage_engine.yml index f2fb47085eb..df3ab5b0700 100644 --- a/buildscripts/resmokeconfig/suites/multiversion_multistorage_engine.yml +++ b/buildscripts/resmokeconfig/suites/multiversion_multistorage_engine.yml @@ -1,12 +1,12 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/multiVersion/mixed_storage_version_replication.js - - jstests/multiVersion/transitioning_to_and_from_WT.js + roots: + - jstests/multiVersion/mixed_storage_version_replication.js + - jstests/multiVersion/transitioning_to_and_from_WT.js # Multiversion tests start their own mongod's. executor: - js_test: - config: - shell_options: - nodb: '' + config: + shell_options: + nodb: '' diff --git a/buildscripts/resmokeconfig/suites/no_passthrough.yml b/buildscripts/resmokeconfig/suites/no_passthrough.yml index 2afbe6ae044..ac0c08980a0 100644 --- a/buildscripts/resmokeconfig/suites/no_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/no_passthrough.yml @@ -1,15 +1,15 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/noPassthrough/*.js - exclude_files: - # Disable inmem_full as per SERVER-27014 - - jstests/noPassthrough/inmem_full.js + roots: + - jstests/noPassthrough/*.js + exclude_files: + # Disable inmem_full as per SERVER-27014 + - jstests/noPassthrough/inmem_full.js # noPassthrough tests start their own mongod's. executor: - js_test: - config: - shell_options: - nodb: '' - readMode: commands + config: + shell_options: + nodb: '' + readMode: commands diff --git a/buildscripts/resmokeconfig/suites/no_passthrough_with_mongod.yml b/buildscripts/resmokeconfig/suites/no_passthrough_with_mongod.yml index fa8e62813d1..a77c75a7dbe 100644 --- a/buildscripts/resmokeconfig/suites/no_passthrough_with_mongod.yml +++ b/buildscripts/resmokeconfig/suites/no_passthrough_with_mongod.yml @@ -1,19 +1,19 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/noPassthroughWithMongod/*.js + roots: + - jstests/noPassthroughWithMongod/*.js executor: - js_test: - config: - shell_options: - readMode: commands - hooks: - - class: ValidateCollections - - class: CleanEveryN - n: 20 - fixture: - class: MongoDFixture - mongod_options: - set_parameters: - enableTestCommands: 1 + config: + shell_options: + readMode: commands + hooks: + - class: ValidateCollections + - class: CleanEveryN + n: 20 + fixture: + class: MongoDFixture + mongod_options: + set_parameters: + enableTestCommands: 1 diff --git a/buildscripts/resmokeconfig/suites/no_server.yml b/buildscripts/resmokeconfig/suites/no_server.yml index 1a2d5edec99..41a61ee5a94 100644 --- a/buildscripts/resmokeconfig/suites/no_server.yml +++ b/buildscripts/resmokeconfig/suites/no_server.yml @@ -1,6 +1,7 @@ +test_kind: js_test + executor: - js_test: - config: - shell_options: - nodb: '' - readMode: commands + config: + shell_options: + nodb: '' + readMode: commands diff --git a/buildscripts/resmokeconfig/suites/parallel.yml b/buildscripts/resmokeconfig/suites/parallel.yml index 7f42d19c18c..cbd7ca70a78 100644 --- a/buildscripts/resmokeconfig/suites/parallel.yml +++ b/buildscripts/resmokeconfig/suites/parallel.yml @@ -1,19 +1,19 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/parallel/*.js + roots: + - jstests/parallel/*.js executor: - js_test: - config: - shell_options: - readMode: commands - hooks: - - class: ValidateCollections - - class: CleanEveryN - n: 20 - fixture: - class: MongoDFixture - mongod_options: - set_parameters: - enableTestCommands: 1 + config: + shell_options: + readMode: commands + hooks: + - class: ValidateCollections + - class: CleanEveryN + n: 20 + fixture: + class: MongoDFixture + mongod_options: + set_parameters: + enableTestCommands: 1 diff --git a/buildscripts/resmokeconfig/suites/read_concern_linearizable_passthrough.yml b/buildscripts/resmokeconfig/suites/read_concern_linearizable_passthrough.yml index 58406452df8..f2df7250e73 100644 --- a/buildscripts/resmokeconfig/suites/read_concern_linearizable_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/read_concern_linearizable_passthrough.yml @@ -1,101 +1,101 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/core/**/*.js - exclude_files: - # Tests that won't work with an injected 'linearizable' readConcern - # and/or an injected 'majority' writeConcern. Where a function is - # listed the reason is we don't have a reliable solution to override - # the write concern for that function. - - jstests/core/batch_write_command*.js # these tests use various write concerns - - jstests/core/bench_test*.js # benchRun() used for writes - - jstests/core/capped_update.js # uses godinsert and can't run under replication. - - jstests/core/crud_api.js # has specific w:0 tests - - jstests/core/error2.js # db.eval() used - - jstests/core/eval0.js # db.eval() used - - jstests/core/eval1.js # db.eval() used - - jstests/core/eval3.js # db.eval() used - - jstests/core/eval4.js # db.eval() used - - jstests/core/eval5.js # db.eval() used - - jstests/core/eval6.js # db.eval() used - - jstests/core/eval7.js # db.eval() used - - jstests/core/eval9.js # db.eval() used - - jstests/core/evala.js # db.eval() used - - jstests/core/evalb.js # db.eval() used - - jstests/core/evalc.js # db.eval() used - - jstests/core/evald.js # db.eval() used - - jstests/core/evale.js # db.eval() used - - jstests/core/evalg.js # db.eval() used - - jstests/core/eval_mr.js # db.eval() used - - jstests/core/eval_nolock.js # db.eval() used - - jstests/core/fsync.js # Uses fsyncLock() which prevents a linearizable read from writing - # an entry to the oplog. - - jstests/core/geo_s2cursorlimitskip.js # drops system.profile collection and counts ops. - - jstests/core/js3.js # db.dbEval() used - - jstests/core/js7.js # db.eval() used - - jstests/core/js9.js # db.eval() used - - jstests/core/max_time_ms.js # SERVER-27665 maxTimeNeverTimeOut failPoint. - - jstests/core/mr_merge.js # mr temp tables aren't replicated - - jstests/core/mr_merge2.js # mr temp tables aren't replicated - - jstests/core/mr_outreduce.js # mr temp tables aren't replicated - - jstests/core/mr_outreduce2.js # mr temp tables aren't replicated - - jstests/core/opcounters_active.js # off by n problem with opcounters - - jstests/core/opcounters_write_cmd.js # off by n problem with opcounters - - jstests/core/profile1.js # system.profile not replicated - - jstests/core/profile2.js # system.profile not replicated - - jstests/core/profile3.js # system.profile not replicated - - jstests/core/profile_agg.js # system.profile not replicated - - jstests/core/profile_count.js # system.profile not replicated - - jstests/core/profile_delete.js # system.profile not replicated - - jstests/core/profile_distinct.js # system.profile not replicated - - jstests/core/profile_find.js # system.profile not replicated - - jstests/core/profile_findandmodify.js # system.profile not replicated - - jstests/core/profile_geonear.js # system.profile not replicated - - jstests/core/profile_getmore.js # system.profile not replicated - - jstests/core/profile_group.js # system.profile not replicated - - jstests/core/profile_insert.js # system.profile not replicated - - jstests/core/profile_list_collections.js # system.profile not replicated - - jstests/core/profile_list_indexes.js # system.profile not replicated - - jstests/core/profile_mapreduce.js # system.profile not replicated - - jstests/core/profile_parallel_collection_scan.js # system.profile not replicated - - jstests/core/profile_repair_cursor.js # system.profile not replicated - - jstests/core/profile_sampling.js # system.profile not replicated - - jstests/core/profile_update.js # system.profile not replicated - - jstests/core/read_after_optime.js # verifies read after optime fails on standalone - - jstests/core/remove8.js # db.eval() used - - jstests/core/rename4.js # db.eval() used - - jstests/core/shell1.js # tests setSlaveOk() variations on standalone mongod - - jstests/core/shellkillop.js # db.eval() used - - jstests/core/shell_writeconcern.js # checks write concern shell helpers - - jstests/core/storefunc.js # db.eval() used - - jstests/core/write_result.js # Tests invalid writeConcern, we shouldn't override. - # Tests that need triaging & remediation | blacklist decision - # Comments list possible problem point under review. - - jstests/core/capped6.js # Uses captrunc test command. - - jstests/core/stages_delete.js # Uses stageDebug command for deletes. + roots: + - jstests/core/**/*.js + exclude_files: + # Tests that won't work with an injected 'linearizable' readConcern + # and/or an injected 'majority' writeConcern. Where a function is + # listed the reason is we don't have a reliable solution to override + # the write concern for that function. + - jstests/core/batch_write_command*.js # these tests use various write concerns + - jstests/core/bench_test*.js # benchRun() used for writes + - jstests/core/capped_update.js # uses godinsert and can't run under replication. + - jstests/core/crud_api.js # has specific w:0 tests + - jstests/core/error2.js # db.eval() used + - jstests/core/eval0.js # db.eval() used + - jstests/core/eval1.js # db.eval() used + - jstests/core/eval3.js # db.eval() used + - jstests/core/eval4.js # db.eval() used + - jstests/core/eval5.js # db.eval() used + - jstests/core/eval6.js # db.eval() used + - jstests/core/eval7.js # db.eval() used + - jstests/core/eval9.js # db.eval() used + - jstests/core/evala.js # db.eval() used + - jstests/core/evalb.js # db.eval() used + - jstests/core/evalc.js # db.eval() used + - jstests/core/evald.js # db.eval() used + - jstests/core/evale.js # db.eval() used + - jstests/core/evalg.js # db.eval() used + - jstests/core/eval_mr.js # db.eval() used + - jstests/core/eval_nolock.js # db.eval() used + - jstests/core/fsync.js # Uses fsyncLock() which prevents a linearizable read from writing + # an entry to the oplog. + - jstests/core/geo_s2cursorlimitskip.js # drops system.profile collection and counts ops. + - jstests/core/js3.js # db.dbEval() used + - jstests/core/js7.js # db.eval() used + - jstests/core/js9.js # db.eval() used + - jstests/core/max_time_ms.js # SERVER-27665 maxTimeNeverTimeOut failPoint. + - jstests/core/mr_merge.js # mr temp tables aren't replicated + - jstests/core/mr_merge2.js # mr temp tables aren't replicated + - jstests/core/mr_outreduce.js # mr temp tables aren't replicated + - jstests/core/mr_outreduce2.js # mr temp tables aren't replicated + - jstests/core/opcounters_active.js # off by n problem with opcounters + - jstests/core/opcounters_write_cmd.js # off by n problem with opcounters + - jstests/core/profile1.js # system.profile not replicated + - jstests/core/profile2.js # system.profile not replicated + - jstests/core/profile3.js # system.profile not replicated + - jstests/core/profile_agg.js # system.profile not replicated + - jstests/core/profile_count.js # system.profile not replicated + - jstests/core/profile_delete.js # system.profile not replicated + - jstests/core/profile_distinct.js # system.profile not replicated + - jstests/core/profile_find.js # system.profile not replicated + - jstests/core/profile_findandmodify.js # system.profile not replicated + - jstests/core/profile_geonear.js # system.profile not replicated + - jstests/core/profile_getmore.js # system.profile not replicated + - jstests/core/profile_group.js # system.profile not replicated + - jstests/core/profile_insert.js # system.profile not replicated + - jstests/core/profile_list_collections.js # system.profile not replicated + - jstests/core/profile_list_indexes.js # system.profile not replicated + - jstests/core/profile_mapreduce.js # system.profile not replicated + - jstests/core/profile_parallel_collection_scan.js # system.profile not replicated + - jstests/core/profile_repair_cursor.js # system.profile not replicated + - jstests/core/profile_sampling.js # system.profile not replicated + - jstests/core/profile_update.js # system.profile not replicated + - jstests/core/read_after_optime.js # verifies read after optime fails on standalone + - jstests/core/remove8.js # db.eval() used + - jstests/core/rename4.js # db.eval() used + - jstests/core/shell1.js # tests setSlaveOk() variations on standalone mongod + - jstests/core/shellkillop.js # db.eval() used + - jstests/core/shell_writeconcern.js # checks write concern shell helpers + - jstests/core/storefunc.js # db.eval() used + - jstests/core/write_result.js # Tests invalid writeConcern, we shouldn't override. + # Tests that need triaging & remediation | blacklist decision + # Comments list possible problem point under review. + - jstests/core/capped6.js # Uses captrunc test command. + - jstests/core/stages_delete.js # Uses stageDebug command for deletes. executor: - js_test: - config: - shell_options: - global_vars: - TestData: - defaultReadConcernLevel: linearizable - eval: "var testingReplication = true; load('jstests/libs/override_methods/set_read_and_write_concerns.js');" - readMode: commands - hooks: - - class: ValidateCollections - - class: CheckReplOplogs - - class: CheckReplDBHash - - class: CleanEveryN - n: 20 - fixture: - class: ReplicaSetFixture - mongod_options: - bind_ip_all: '' - oplogSize: 511 - set_parameters: - enableTestCommands: 1 - numInitialSyncAttempts: 1 - num_nodes: 2 - write_concern_majority_journal_default: false + config: + shell_options: + global_vars: + TestData: + defaultReadConcernLevel: linearizable + eval: "var testingReplication = true; load('jstests/libs/override_methods/set_read_and_write_concerns.js');" + readMode: commands + hooks: + - class: ValidateCollections + - class: CheckReplOplogs + - class: CheckReplDBHash + - class: CleanEveryN + n: 20 + fixture: + class: ReplicaSetFixture + mongod_options: + bind_ip_all: '' + oplogSize: 511 + set_parameters: + enableTestCommands: 1 + numInitialSyncAttempts: 1 + num_nodes: 2 + write_concern_majority_journal_default: false diff --git a/buildscripts/resmokeconfig/suites/read_concern_majority_passthrough.yml b/buildscripts/resmokeconfig/suites/read_concern_majority_passthrough.yml index e00fc4cb75b..6758700bc45 100644 --- a/buildscripts/resmokeconfig/suites/read_concern_majority_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/read_concern_majority_passthrough.yml @@ -1,99 +1,99 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/core/**/*.js - exclude_files: - # Tests that won't work with an injected 'majority' readConcern - # and/or an injected 'majority' writeConcern. Where a function is - # listed the reason is we don't have a reliable solution to override - # the write concern for that function. - - jstests/core/batch_write_command*.js # these tests use various write concerns - - jstests/core/bench_test*.js # benchRun() used for writes - - jstests/core/capped_update.js # uses godinsert and can't run under replication. - - jstests/core/crud_api.js # has specific w:0 tests - - jstests/core/error2.js # db.eval() used - - jstests/core/eval0.js # db.eval() used - - jstests/core/eval1.js # db.eval() used - - jstests/core/eval3.js # db.eval() used - - jstests/core/eval4.js # db.eval() used - - jstests/core/eval5.js # db.eval() used - - jstests/core/eval6.js # db.eval() used - - jstests/core/eval7.js # db.eval() used - - jstests/core/eval9.js # db.eval() used - - jstests/core/evala.js # db.eval() used - - jstests/core/evalb.js # db.eval() used - - jstests/core/evalc.js # db.eval() used - - jstests/core/evald.js # db.eval() used - - jstests/core/evale.js # db.eval() used - - jstests/core/evalg.js # db.eval() used - - jstests/core/eval_mr.js # db.eval() used - - jstests/core/eval_nolock.js # db.eval() used - - jstests/core/geo_s2cursorlimitskip.js # drops system.profile collection and counts ops. - - jstests/core/js3.js # db.dbEval() used - - jstests/core/js7.js # db.eval() used - - jstests/core/js9.js # db.eval() used - - jstests/core/mr_merge.js # mr temp tables aren't replicated - - jstests/core/mr_merge2.js # mr temp tables aren't replicated - - jstests/core/mr_outreduce.js # mr temp tables aren't replicated - - jstests/core/mr_outreduce2.js # mr temp tables aren't replicated - - jstests/core/opcounters_active.js # off by n problem with opcounters - - jstests/core/opcounters_write_cmd.js # off by n problem with opcounters - - jstests/core/profile1.js # system.profile not replicated - - jstests/core/profile2.js # system.profile not replicated - - jstests/core/profile3.js # system.profile not replicated - - jstests/core/profile_agg.js # system.profile not replicated - - jstests/core/profile_count.js # system.profile not replicated - - jstests/core/profile_delete.js # system.profile not replicated - - jstests/core/profile_distinct.js # system.profile not replicated - - jstests/core/profile_find.js # system.profile not replicated - - jstests/core/profile_findandmodify.js # system.profile not replicated - - jstests/core/profile_geonear.js # system.profile not replicated - - jstests/core/profile_getmore.js # system.profile not replicated - - jstests/core/profile_group.js # system.profile not replicated - - jstests/core/profile_insert.js # system.profile not replicated - - jstests/core/profile_list_collections.js # system.profile not replicated - - jstests/core/profile_list_indexes.js # system.profile not replicated - - jstests/core/profile_mapreduce.js # system.profile not replicated - - jstests/core/profile_parallel_collection_scan.js # system.profile not replicated - - jstests/core/profile_repair_cursor.js # system.profile not replicated - - jstests/core/profile_sampling.js # system.profile not replicated - - jstests/core/profile_update.js # system.profile not replicated - - jstests/core/read_after_optime.js # verifies read after optime fails on standalone - - jstests/core/remove8.js # db.eval() used - - jstests/core/rename4.js # db.eval() used - - jstests/core/shell1.js # tests setSlaveOk() variations on standalone mongod - - jstests/core/shellkillop.js # db.eval() used - - jstests/core/shell_writeconcern.js # checks write concern shell helpers - - jstests/core/storefunc.js # db.eval() used - - jstests/core/write_result.js # Tests invalid writeConcern, we shouldn't override. - # Tests that need triaging & remediation | blacklist decision - # Comments list possible problem point under review. - - jstests/core/capped6.js # Uses captrunc test command. - - jstests/core/stages_delete.js # Uses stageDebug command for deletes. + roots: + - jstests/core/**/*.js + exclude_files: + # Tests that won't work with an injected 'majority' readConcern + # and/or an injected 'majority' writeConcern. Where a function is + # listed the reason is we don't have a reliable solution to override + # the write concern for that function. + - jstests/core/batch_write_command*.js # these tests use various write concerns + - jstests/core/bench_test*.js # benchRun() used for writes + - jstests/core/capped_update.js # uses godinsert and can't run under replication. + - jstests/core/crud_api.js # has specific w:0 tests + - jstests/core/error2.js # db.eval() used + - jstests/core/eval0.js # db.eval() used + - jstests/core/eval1.js # db.eval() used + - jstests/core/eval3.js # db.eval() used + - jstests/core/eval4.js # db.eval() used + - jstests/core/eval5.js # db.eval() used + - jstests/core/eval6.js # db.eval() used + - jstests/core/eval7.js # db.eval() used + - jstests/core/eval9.js # db.eval() used + - jstests/core/evala.js # db.eval() used + - jstests/core/evalb.js # db.eval() used + - jstests/core/evalc.js # db.eval() used + - jstests/core/evald.js # db.eval() used + - jstests/core/evale.js # db.eval() used + - jstests/core/evalg.js # db.eval() used + - jstests/core/eval_mr.js # db.eval() used + - jstests/core/eval_nolock.js # db.eval() used + - jstests/core/geo_s2cursorlimitskip.js # drops system.profile collection and counts ops. + - jstests/core/js3.js # db.dbEval() used + - jstests/core/js7.js # db.eval() used + - jstests/core/js9.js # db.eval() used + - jstests/core/mr_merge.js # mr temp tables aren't replicated + - jstests/core/mr_merge2.js # mr temp tables aren't replicated + - jstests/core/mr_outreduce.js # mr temp tables aren't replicated + - jstests/core/mr_outreduce2.js # mr temp tables aren't replicated + - jstests/core/opcounters_active.js # off by n problem with opcounters + - jstests/core/opcounters_write_cmd.js # off by n problem with opcounters + - jstests/core/profile1.js # system.profile not replicated + - jstests/core/profile2.js # system.profile not replicated + - jstests/core/profile3.js # system.profile not replicated + - jstests/core/profile_agg.js # system.profile not replicated + - jstests/core/profile_count.js # system.profile not replicated + - jstests/core/profile_delete.js # system.profile not replicated + - jstests/core/profile_distinct.js # system.profile not replicated + - jstests/core/profile_find.js # system.profile not replicated + - jstests/core/profile_findandmodify.js # system.profile not replicated + - jstests/core/profile_geonear.js # system.profile not replicated + - jstests/core/profile_getmore.js # system.profile not replicated + - jstests/core/profile_group.js # system.profile not replicated + - jstests/core/profile_insert.js # system.profile not replicated + - jstests/core/profile_list_collections.js # system.profile not replicated + - jstests/core/profile_list_indexes.js # system.profile not replicated + - jstests/core/profile_mapreduce.js # system.profile not replicated + - jstests/core/profile_parallel_collection_scan.js # system.profile not replicated + - jstests/core/profile_repair_cursor.js # system.profile not replicated + - jstests/core/profile_sampling.js # system.profile not replicated + - jstests/core/profile_update.js # system.profile not replicated + - jstests/core/read_after_optime.js # verifies read after optime fails on standalone + - jstests/core/remove8.js # db.eval() used + - jstests/core/rename4.js # db.eval() used + - jstests/core/shell1.js # tests setSlaveOk() variations on standalone mongod + - jstests/core/shellkillop.js # db.eval() used + - jstests/core/shell_writeconcern.js # checks write concern shell helpers + - jstests/core/storefunc.js # db.eval() used + - jstests/core/write_result.js # Tests invalid writeConcern, we shouldn't override. + # Tests that need triaging & remediation | blacklist decision + # Comments list possible problem point under review. + - jstests/core/capped6.js # Uses captrunc test command. + - jstests/core/stages_delete.js # Uses stageDebug command for deletes. executor: - js_test: - config: - shell_options: - global_vars: - TestData: - defaultReadConcernLevel: majority - eval: "var testingReplication = true; load('jstests/libs/override_methods/set_read_and_write_concerns.js');" - readMode: commands - hooks: - - class: ValidateCollections - - class: CheckReplOplogs - - class: CheckReplDBHash - - class: CleanEveryN - n: 20 - fixture: - class: ReplicaSetFixture - mongod_options: - bind_ip_all: '' - set_parameters: - enableTestCommands: 1 - numInitialSyncAttempts: 1 - enableMajorityReadConcern: '' - num_nodes: 2 - # Needs to be set for any ephemeral or no-journaling storage engine - write_concern_majority_journal_default: false + config: + shell_options: + global_vars: + TestData: + defaultReadConcernLevel: majority + eval: "var testingReplication = true; load('jstests/libs/override_methods/set_read_and_write_concerns.js');" + readMode: commands + hooks: + - class: ValidateCollections + - class: CheckReplOplogs + - class: CheckReplDBHash + - class: CleanEveryN + n: 20 + fixture: + class: ReplicaSetFixture + mongod_options: + bind_ip_all: '' + set_parameters: + enableTestCommands: 1 + numInitialSyncAttempts: 1 + enableMajorityReadConcern: '' + num_nodes: 2 + # Needs to be set for any ephemeral or no-journaling storage engine + write_concern_majority_journal_default: false diff --git a/buildscripts/resmokeconfig/suites/read_only.yml b/buildscripts/resmokeconfig/suites/read_only.yml index f5c3a373fd9..a3704cafd7b 100644 --- a/buildscripts/resmokeconfig/suites/read_only.yml +++ b/buildscripts/resmokeconfig/suites/read_only.yml @@ -1,14 +1,14 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/readonly/*.js + roots: + - jstests/readonly/*.js executor: - js_test: - config: - shell_options: - global_vars: - TestData: - fixture: standalone - readMode: commands - nodb: "" + config: + shell_options: + global_vars: + TestData: + fixture: standalone + readMode: commands + nodb: "" diff --git a/buildscripts/resmokeconfig/suites/read_only_sharded.yml b/buildscripts/resmokeconfig/suites/read_only_sharded.yml index 58ab7df836e..aa791e9a2d5 100644 --- a/buildscripts/resmokeconfig/suites/read_only_sharded.yml +++ b/buildscripts/resmokeconfig/suites/read_only_sharded.yml @@ -1,14 +1,14 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/readonly/*.js + roots: + - jstests/readonly/*.js executor: - js_test: - config: - shell_options: - global_vars: - TestData: - fixture: sharded - readMode: commands - nodb: "" + config: + shell_options: + global_vars: + TestData: + fixture: sharded + readMode: commands + nodb: "" diff --git a/buildscripts/resmokeconfig/suites/replica_sets.yml b/buildscripts/resmokeconfig/suites/replica_sets.yml index a3252e46268..f7515dab9ab 100644 --- a/buildscripts/resmokeconfig/suites/replica_sets.yml +++ b/buildscripts/resmokeconfig/suites/replica_sets.yml @@ -1,11 +1,11 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/replsets/*.js + roots: + - jstests/replsets/*.js executor: - js_test: - config: - shell_options: - nodb: '' - readMode: commands + config: + shell_options: + nodb: '' + readMode: commands diff --git a/buildscripts/resmokeconfig/suites/replica_sets_auth.yml b/buildscripts/resmokeconfig/suites/replica_sets_auth.yml index 5fa3d049183..864230bbce7 100644 --- a/buildscripts/resmokeconfig/suites/replica_sets_auth.yml +++ b/buildscripts/resmokeconfig/suites/replica_sets_auth.yml @@ -3,23 +3,23 @@ config_variables: - &keyFile jstests/libs/authTestsKey - &keyFileData Thiskeyisonlyforrunningthesuitewithauthenticationdontuseitinanytestsdirectly +test_kind: js_test + selector: - js_test: - roots: - - jstests/replsets/*.js - exclude_files: - # Skip any tests that run with auth explicitly. - - jstests/replsets/*[aA]uth*.js + roots: + - jstests/replsets/*.js + exclude_files: + # Skip any tests that run with auth explicitly. + - jstests/replsets/*[aA]uth*.js executor: - js_test: - config: - shell_options: - global_vars: - TestData: - auth: true - authMechanism: SCRAM-SHA-1 - keyFile: *keyFile - keyFileData: *keyFileData - nodb: '' - readMode: commands + config: + shell_options: + global_vars: + TestData: + auth: true + authMechanism: SCRAM-SHA-1 + keyFile: *keyFile + keyFileData: *keyFileData + nodb: '' + readMode: commands diff --git a/buildscripts/resmokeconfig/suites/replica_sets_ese.yml b/buildscripts/resmokeconfig/suites/replica_sets_ese.yml index 4d342ea40f7..0cfd03a97f2 100644 --- a/buildscripts/resmokeconfig/suites/replica_sets_ese.yml +++ b/buildscripts/resmokeconfig/suites/replica_sets_ese.yml @@ -2,21 +2,21 @@ config_variables: - &keyFile src/mongo/db/modules/enterprise/jstests/encryptdb/libs/ekf2 +test_kind: js_test + selector: - js_test: - roots: - - jstests/replsets/*.js - exclude_files: - # Disable config_server_checks.js since it starts mmap servers. - - jstests/replsets/config_server_checks.js + roots: + - jstests/replsets/*.js + exclude_files: + # Disable config_server_checks.js since it starts mmap servers. + - jstests/replsets/config_server_checks.js executor: - js_test: - config: - shell_options: - nodb: '' - global_vars: - TestData: - enableEncryption: '' - encryptionKeyFile: *keyFile - readMode: commands + config: + shell_options: + nodb: '' + global_vars: + TestData: + enableEncryption: '' + encryptionKeyFile: *keyFile + readMode: commands diff --git a/buildscripts/resmokeconfig/suites/replica_sets_initsync_jscore_passthrough.yml b/buildscripts/resmokeconfig/suites/replica_sets_initsync_jscore_passthrough.yml index bbcffe401cb..de74d181e19 100644 --- a/buildscripts/resmokeconfig/suites/replica_sets_initsync_jscore_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/replica_sets_initsync_jscore_passthrough.yml @@ -1,100 +1,100 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/core/**/*.js - exclude_files: - # These tests are not expected to pass with replica-sets: - - jstests/core/dbadmin.js - - jstests/core/opcounters_write_cmd.js - - jstests/core/read_after_optime.js - - jstests/core/capped_update.js - # These tests use map-reduce which can lead to consistency mismatches (SERVER-27147). - - jstests/core/bypass_doc_validation.js - - jstests/core/collation.js - - jstests/core/commands_that_do_not_write_do_not_accept_wc.js - - jstests/core/constructors.js - - jstests/core/eval_mr.js - - jstests/core/geo_big_polygon3.js - - jstests/core/geo_mapreduce.js - - jstests/core/geo_mapreduce2.js - - jstests/core/index_stats.js - - jstests/core/mr1.js - - jstests/core/mr2.js - - jstests/core/mr3.js - - jstests/core/mr4.js - - jstests/core/mr5.js - - jstests/core/mr_bigobject.js - - jstests/core/mr_bigobject_replace.js - - jstests/core/mr_comments.js - - jstests/core/mr_errorhandling.js - - jstests/core/mr_index.js - - jstests/core/mr_index2.js - - jstests/core/mr_index3.js - - jstests/core/mr_killop.js - - jstests/core/mr_merge.js - - jstests/core/mr_merge2.js - - jstests/core/mr_mutable_properties.js - - jstests/core/mr_optim.js - - jstests/core/mr_outreduce.js - - jstests/core/mr_outreduce2.js - - jstests/core/mr_replaceIntoDB.js - - jstests/core/mr_sort.js - - jstests/core/mr_stored.js - - jstests/core/mr_undef.js - - jstests/core/opcounters_active.js - - jstests/core/or4.js - # This test is blacklisted due to both map-reduce and getLatestProfilerEntry(). - - jstests/core/profile_mapreduce.js - # Tests that query the system.profile collection cannot run in this suite since an initial sync - # may insert unexpected operations into the profile collection. - - jstests/core/profile_list_collections.js - - jstests/core/profile_list_indexes.js - - jstests/core/profile_parallel_collection_scan.js - - jstests/core/profile_repair_cursor.js - - jstests/core/recursion.js - - jstests/core/system_profile.js - - jstests/core/temp_cleanup.js - # apply_ops1.js is blacklisted since it uses non-idempotent applyOps commands (SERVER-27096). - - jstests/core/apply_ops1.js - # operation_latency_histogram.js and geo_s2cursorlimitskip.js do not expect concurrent reads - # against their test collections. - - jstests/core/operation_latency_histogram.js - - jstests/core/geo_s2cursorlimitskip.js - # Having duplicate namespaces is not supported and will cause initial sync to fail. - - jstests/core/views/duplicate_ns.js - # These tests run getLatestProfilerEntry(). The downstream syncing node affects the profiler. - - jstests/core/profile_agg.js - - jstests/core/profile_count.js - - jstests/core/profile_delete.js - - jstests/core/profile_distinct.js - - jstests/core/profile_find.js - - jstests/core/profile_findandmodify.js - - jstests/core/profile_geonear.js - - jstests/core/profile_getmore.js - - jstests/core/profile_group.js - - jstests/core/profile_insert.js - - jstests/core/profile_update.js - # The downstream syncing node affects the top output. - - jstests/core/top.js + roots: + - jstests/core/**/*.js + exclude_files: + # These tests are not expected to pass with replica-sets: + - jstests/core/dbadmin.js + - jstests/core/opcounters_write_cmd.js + - jstests/core/read_after_optime.js + - jstests/core/capped_update.js + # These tests use map-reduce which can lead to consistency mismatches (SERVER-27147). + - jstests/core/bypass_doc_validation.js + - jstests/core/collation.js + - jstests/core/commands_that_do_not_write_do_not_accept_wc.js + - jstests/core/constructors.js + - jstests/core/eval_mr.js + - jstests/core/geo_big_polygon3.js + - jstests/core/geo_mapreduce.js + - jstests/core/geo_mapreduce2.js + - jstests/core/index_stats.js + - jstests/core/mr1.js + - jstests/core/mr2.js + - jstests/core/mr3.js + - jstests/core/mr4.js + - jstests/core/mr5.js + - jstests/core/mr_bigobject.js + - jstests/core/mr_bigobject_replace.js + - jstests/core/mr_comments.js + - jstests/core/mr_errorhandling.js + - jstests/core/mr_index.js + - jstests/core/mr_index2.js + - jstests/core/mr_index3.js + - jstests/core/mr_killop.js + - jstests/core/mr_merge.js + - jstests/core/mr_merge2.js + - jstests/core/mr_mutable_properties.js + - jstests/core/mr_optim.js + - jstests/core/mr_outreduce.js + - jstests/core/mr_outreduce2.js + - jstests/core/mr_replaceIntoDB.js + - jstests/core/mr_sort.js + - jstests/core/mr_stored.js + - jstests/core/mr_undef.js + - jstests/core/opcounters_active.js + - jstests/core/or4.js + # This test is blacklisted due to both map-reduce and getLatestProfilerEntry(). + - jstests/core/profile_mapreduce.js + # Tests that query the system.profile collection cannot run in this suite since an initial sync + # may insert unexpected operations into the profile collection. + - jstests/core/profile_list_collections.js + - jstests/core/profile_list_indexes.js + - jstests/core/profile_parallel_collection_scan.js + - jstests/core/profile_repair_cursor.js + - jstests/core/recursion.js + - jstests/core/system_profile.js + - jstests/core/temp_cleanup.js + # apply_ops1.js is blacklisted since it uses non-idempotent applyOps commands (SERVER-27096). + - jstests/core/apply_ops1.js + # operation_latency_histogram.js and geo_s2cursorlimitskip.js do not expect concurrent reads + # against their test collections. + - jstests/core/operation_latency_histogram.js + - jstests/core/geo_s2cursorlimitskip.js + # Having duplicate namespaces is not supported and will cause initial sync to fail. + - jstests/core/views/duplicate_ns.js + # These tests run getLatestProfilerEntry(). The downstream syncing node affects the profiler. + - jstests/core/profile_agg.js + - jstests/core/profile_count.js + - jstests/core/profile_delete.js + - jstests/core/profile_distinct.js + - jstests/core/profile_find.js + - jstests/core/profile_findandmodify.js + - jstests/core/profile_geonear.js + - jstests/core/profile_getmore.js + - jstests/core/profile_group.js + - jstests/core/profile_insert.js + - jstests/core/profile_update.js + # The downstream syncing node affects the top output. + - jstests/core/top.js run_hook_interval: &run_hook_interval 20 executor: - js_test: - config: - shell_options: - eval: "testingReplication = true;" - readMode: commands - hooks: - - class: BackgroundInitialSync - n: *run_hook_interval - - class: CleanEveryN - n: *run_hook_interval - fixture: - class: ReplicaSetFixture - mongod_options: - bind_ip_all: '' - oplogSize: 511 - set_parameters: - enableTestCommands: 1 - num_nodes: 2 - start_initial_sync_node: True + config: + shell_options: + eval: "testingReplication = true;" + readMode: commands + hooks: + - class: BackgroundInitialSync + n: *run_hook_interval + - class: CleanEveryN + n: *run_hook_interval + fixture: + class: ReplicaSetFixture + mongod_options: + bind_ip_all: '' + oplogSize: 511 + set_parameters: + enableTestCommands: 1 + num_nodes: 2 + start_initial_sync_node: True diff --git a/buildscripts/resmokeconfig/suites/replica_sets_initsync_static_jscore_passthrough.yml b/buildscripts/resmokeconfig/suites/replica_sets_initsync_static_jscore_passthrough.yml index 66c253516a3..659e8efaff5 100644 --- a/buildscripts/resmokeconfig/suites/replica_sets_initsync_static_jscore_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/replica_sets_initsync_static_jscore_passthrough.yml @@ -1,39 +1,39 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/core/**/*.js - exclude_files: - # These tests are not expected to pass with replica-sets: - - jstests/core/dbadmin.js - - jstests/core/opcounters_write_cmd.js - - jstests/core/read_after_optime.js - - jstests/core/capped_update.js - # Having duplicate namespaces is not supported and will cause initial sync to fail. - - jstests/core/views/duplicate_ns.js + roots: + - jstests/core/**/*.js + exclude_files: + # These tests are not expected to pass with replica-sets: + - jstests/core/dbadmin.js + - jstests/core/opcounters_write_cmd.js + - jstests/core/read_after_optime.js + - jstests/core/capped_update.js + # Having duplicate namespaces is not supported and will cause initial sync to fail. + - jstests/core/views/duplicate_ns.js run_hook_interval: &run_hook_interval 20 executor: - js_test: - config: - shell_options: - eval: "testingReplication = true;" - readMode: commands - hooks: - - class: IntermediateInitialSync - n: *run_hook_interval - - class: CleanEveryN - n: *run_hook_interval - fixture: - class: ReplicaSetFixture - mongod_options: - bind_ip_all: '' - oplogSize: 511 - set_parameters: - enableTestCommands: 1 - numInitialSyncAttempts: 1 - numInitialSyncConnectAttempts: 60 - num_nodes: 2 - start_initial_sync_node: True - replset_config_options: - settings: - chainingAllowed: False + config: + shell_options: + eval: "testingReplication = true;" + readMode: commands + hooks: + - class: IntermediateInitialSync + n: *run_hook_interval + - class: CleanEveryN + n: *run_hook_interval + fixture: + class: ReplicaSetFixture + mongod_options: + bind_ip_all: '' + oplogSize: 511 + set_parameters: + enableTestCommands: 1 + numInitialSyncAttempts: 1 + numInitialSyncConnectAttempts: 60 + num_nodes: 2 + start_initial_sync_node: True + replset_config_options: + settings: + chainingAllowed: False diff --git a/buildscripts/resmokeconfig/suites/replica_sets_jscore_passthrough.yml b/buildscripts/resmokeconfig/suites/replica_sets_jscore_passthrough.yml index 86fec456a72..2434eefd737 100644 --- a/buildscripts/resmokeconfig/suites/replica_sets_jscore_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/replica_sets_jscore_passthrough.yml @@ -1,32 +1,32 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/core/**/*.js - exclude_files: - # These tests are not expected to pass with replica-sets: - - jstests/core/dbadmin.js - - jstests/core/opcounters_write_cmd.js - - jstests/core/read_after_optime.js - - jstests/core/capped_update.js + roots: + - jstests/core/**/*.js + exclude_files: + # These tests are not expected to pass with replica-sets: + - jstests/core/dbadmin.js + - jstests/core/opcounters_write_cmd.js + - jstests/core/read_after_optime.js + - jstests/core/capped_update.js executor: - js_test: - config: - shell_options: - eval: "testingReplication = true;" - readMode: commands - hooks: - - class: ValidateCollections - - class: CheckReplOplogs - - class: CheckReplDBHash - - class: CleanEveryN - n: 20 - fixture: - class: ReplicaSetFixture - mongod_options: - bind_ip_all: '' - oplogSize: 511 - set_parameters: - enableTestCommands: 1 - numInitialSyncAttempts: 1 - num_nodes: 2 + config: + shell_options: + eval: "testingReplication = true;" + readMode: commands + hooks: + - class: ValidateCollections + - class: CheckReplOplogs + - class: CheckReplDBHash + - class: CleanEveryN + n: 20 + fixture: + class: ReplicaSetFixture + mongod_options: + bind_ip_all: '' + oplogSize: 511 + set_parameters: + enableTestCommands: 1 + numInitialSyncAttempts: 1 + num_nodes: 2 diff --git a/buildscripts/resmokeconfig/suites/replica_sets_kill_secondaries_jscore_passthrough.yml b/buildscripts/resmokeconfig/suites/replica_sets_kill_secondaries_jscore_passthrough.yml index e8d8662a642..6b9b3b20347 100644 --- a/buildscripts/resmokeconfig/suites/replica_sets_kill_secondaries_jscore_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/replica_sets_kill_secondaries_jscore_passthrough.yml @@ -1,33 +1,33 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/core/*.js - exclude_files: - # These tests are not expected to pass with replica-sets: - - jstests/core/dbadmin.js - - jstests/core/opcounters_write_cmd.js - - jstests/core/read_after_optime.js - - jstests/core/capped_update.js - # The following tests perform a write with a writeConcern of w=2 when 'testingReplication' is - # true. This causes the test to hang because the secondary is running with the "rsSyncStopApply" - # failpoint enabled. - - jstests/core/geo_update_btree.js + roots: + - jstests/core/*.js + exclude_files: + # These tests are not expected to pass with replica-sets: + - jstests/core/dbadmin.js + - jstests/core/opcounters_write_cmd.js + - jstests/core/read_after_optime.js + - jstests/core/capped_update.js + # The following tests perform a write with a writeConcern of w=2 when 'testingReplication' is + # true. This causes the test to hang because the secondary is running with the "rsSyncStopApply" + # failpoint enabled. + - jstests/core/geo_update_btree.js executor: - js_test: - config: - shell_options: - eval: "testingReplication = true;" - readMode: commands - hooks: - - class: PeriodicKillSecondaries - fixture: - class: ReplicaSetFixture - mongod_options: - bind_ip_all: '' - oplogSize: 511 - set_parameters: - enableTestCommands: 1 - numInitialSyncAttempts: 1 - num_nodes: 2 - voting_secondaries: false + config: + shell_options: + eval: "testingReplication = true;" + readMode: commands + hooks: + - class: PeriodicKillSecondaries + fixture: + class: ReplicaSetFixture + mongod_options: + bind_ip_all: '' + oplogSize: 511 + set_parameters: + enableTestCommands: 1 + numInitialSyncAttempts: 1 + num_nodes: 2 + voting_secondaries: false diff --git a/buildscripts/resmokeconfig/suites/replica_sets_pv0.yml b/buildscripts/resmokeconfig/suites/replica_sets_pv0.yml index 5d155accaee..a5e8a37c1cd 100644 --- a/buildscripts/resmokeconfig/suites/replica_sets_pv0.yml +++ b/buildscripts/resmokeconfig/suites/replica_sets_pv0.yml @@ -1,42 +1,42 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/replsets/*.js - exclude_files: - - jstests/replsets/catchup.js - - jstests/replsets/config_server_checks.js - - jstests/replsets/disallow_adding_initialized_node1.js - - jstests/replsets/disallow_adding_initialized_node2.js - - jstests/replsets/last_op_visible.js - # Linearizable reads not supported on PV0 - - jstests/replsets/linearizable_read_concern.js - - jstests/replsets/oplog_truncated_on_recovery.js - - jstests/replsets/priority_takeover_cascading_priorities.js - - jstests/replsets/priority_takeover_one_node_higher_priority.js - - jstests/replsets/priority_takeover_two_nodes_equal_priority.js - - jstests/replsets/read_committed*.js - - jstests/replsets/read_majority_two_arbs.js - - jstests/replsets/stepup.js - # The combination of new bridges and PV0 can lead to an improper spanning tree in sync2.js. - - jstests/replsets/sync2.js - # PV0's w:majority guarantees aren't strong enough for this test to pass. - - jstests/replsets/write_concern_after_stepdown_and_stepup.js - # PV0 does not persist the last vote - - jstests/replsets/last_vote.js - # This test expects the server to log a PV1-only vote-not-granted reason - - jstests/replsets/no_flapping_during_network_partition.js - # This test requires terms. - - jstests/replsets/rollback_too_new.js - # replSetGetStatus doesn't return last committed optime in PV0. - - jstests/replsets/command_response_operation_time.js - # Majority read concern not supported in PV0. - - jstests/replsets/operation_time_read_and_write_concern.js + roots: + - jstests/replsets/*.js + exclude_files: + - jstests/replsets/catchup.js + - jstests/replsets/config_server_checks.js + - jstests/replsets/disallow_adding_initialized_node1.js + - jstests/replsets/disallow_adding_initialized_node2.js + - jstests/replsets/last_op_visible.js + # Linearizable reads not supported on PV0 + - jstests/replsets/linearizable_read_concern.js + - jstests/replsets/oplog_truncated_on_recovery.js + - jstests/replsets/priority_takeover_cascading_priorities.js + - jstests/replsets/priority_takeover_one_node_higher_priority.js + - jstests/replsets/priority_takeover_two_nodes_equal_priority.js + - jstests/replsets/read_committed*.js + - jstests/replsets/read_majority_two_arbs.js + - jstests/replsets/stepup.js + # The combination of new bridges and PV0 can lead to an improper spanning tree in sync2.js. + - jstests/replsets/sync2.js + # PV0's w:majority guarantees aren't strong enough for this test to pass. + - jstests/replsets/write_concern_after_stepdown_and_stepup.js + # PV0 does not persist the last vote + - jstests/replsets/last_vote.js + # This test expects the server to log a PV1-only vote-not-granted reason + - jstests/replsets/no_flapping_during_network_partition.js + # This test requires terms. + - jstests/replsets/rollback_too_new.js + # replSetGetStatus doesn't return last committed optime in PV0. + - jstests/replsets/command_response_operation_time.js + # Majority read concern not supported in PV0. + - jstests/replsets/operation_time_read_and_write_concern.js executor: - js_test: - config: - shell_options: - global_vars: - TestData: - forceReplicationProtocolVersion: 0 - nodb: '' + config: + shell_options: + global_vars: + TestData: + forceReplicationProtocolVersion: 0 + nodb: '' diff --git a/buildscripts/resmokeconfig/suites/replica_sets_resync_jscore_passthrough.yml b/buildscripts/resmokeconfig/suites/replica_sets_resync_jscore_passthrough.yml index f8a7e886933..7e8cca6a54c 100644 --- a/buildscripts/resmokeconfig/suites/replica_sets_resync_jscore_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/replica_sets_resync_jscore_passthrough.yml @@ -1,94 +1,94 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/core/**/*.js - exclude_files: - # These tests are not expected to pass with replica-sets: - - jstests/core/dbadmin.js - - jstests/core/opcounters_write_cmd.js - - jstests/core/read_after_optime.js - - jstests/core/capped_update.js - # These tests use map-reduce which can lead to consistency mismatches (SERVER-27147). - - jstests/core/bypass_doc_validation.js - - jstests/core/collation.js - - jstests/core/commands_that_do_not_write_do_not_accept_wc.js - - jstests/core/constructors.js - - jstests/core/eval_mr.js - - jstests/core/geo_big_polygon3.js - - jstests/core/geo_mapreduce.js - - jstests/core/geo_mapreduce2.js - - jstests/core/index_stats.js - - jstests/core/mr1.js - - jstests/core/mr2.js - - jstests/core/mr3.js - - jstests/core/mr4.js - - jstests/core/mr5.js - - jstests/core/mr_bigobject.js - - jstests/core/mr_bigobject_replace.js - - jstests/core/mr_comments.js - - jstests/core/mr_errorhandling.js - - jstests/core/mr_index.js - - jstests/core/mr_index2.js - - jstests/core/mr_index3.js - - jstests/core/mr_killop.js - - jstests/core/mr_merge.js - - jstests/core/mr_merge2.js - - jstests/core/mr_mutable_properties.js - - jstests/core/mr_optim.js - - jstests/core/mr_outreduce.js - - jstests/core/mr_outreduce2.js - - jstests/core/mr_replaceIntoDB.js - - jstests/core/mr_sort.js - - jstests/core/mr_stored.js - - jstests/core/mr_undef.js - - jstests/core/opcounters_active.js - - jstests/core/or4.js - # This test is blacklisted due to both map-reduce and getLatestProfilerEntry(). - - jstests/core/profile_mapreduce.js - - jstests/core/recursion.js - - jstests/core/system_profile.js - - jstests/core/temp_cleanup.js - # apply_ops1.js is blacklisted since it uses non-idempotent applyOps commands (SERVER-27096). - - jstests/core/apply_ops1.js - # operation_latency_histogram.js and geo_s2cursorlimitskip.js do not expect concurrent reads - # against their test collections. - - jstests/core/operation_latency_histogram.js - - jstests/core/geo_s2cursorlimitskip.js - # Having duplicate namespaces is not supported and will cause initial sync to fail. - - jstests/core/views/duplicate_ns.js - # These tests run getLatestProfilerEntry(). The downstream syncing node affects the profiler. - - jstests/core/profile_agg.js - - jstests/core/profile_count.js - - jstests/core/profile_delete.js - - jstests/core/profile_distinct.js - - jstests/core/profile_find.js - - jstests/core/profile_findandmodify.js - - jstests/core/profile_geonear.js - - jstests/core/profile_getmore.js - - jstests/core/profile_group.js - - jstests/core/profile_insert.js - - jstests/core/profile_update.js - # The downstream syncing node affects the top output. - - jstests/core/top.js + roots: + - jstests/core/**/*.js + exclude_files: + # These tests are not expected to pass with replica-sets: + - jstests/core/dbadmin.js + - jstests/core/opcounters_write_cmd.js + - jstests/core/read_after_optime.js + - jstests/core/capped_update.js + # These tests use map-reduce which can lead to consistency mismatches (SERVER-27147). + - jstests/core/bypass_doc_validation.js + - jstests/core/collation.js + - jstests/core/commands_that_do_not_write_do_not_accept_wc.js + - jstests/core/constructors.js + - jstests/core/eval_mr.js + - jstests/core/geo_big_polygon3.js + - jstests/core/geo_mapreduce.js + - jstests/core/geo_mapreduce2.js + - jstests/core/index_stats.js + - jstests/core/mr1.js + - jstests/core/mr2.js + - jstests/core/mr3.js + - jstests/core/mr4.js + - jstests/core/mr5.js + - jstests/core/mr_bigobject.js + - jstests/core/mr_bigobject_replace.js + - jstests/core/mr_comments.js + - jstests/core/mr_errorhandling.js + - jstests/core/mr_index.js + - jstests/core/mr_index2.js + - jstests/core/mr_index3.js + - jstests/core/mr_killop.js + - jstests/core/mr_merge.js + - jstests/core/mr_merge2.js + - jstests/core/mr_mutable_properties.js + - jstests/core/mr_optim.js + - jstests/core/mr_outreduce.js + - jstests/core/mr_outreduce2.js + - jstests/core/mr_replaceIntoDB.js + - jstests/core/mr_sort.js + - jstests/core/mr_stored.js + - jstests/core/mr_undef.js + - jstests/core/opcounters_active.js + - jstests/core/or4.js + # This test is blacklisted due to both map-reduce and getLatestProfilerEntry(). + - jstests/core/profile_mapreduce.js + - jstests/core/recursion.js + - jstests/core/system_profile.js + - jstests/core/temp_cleanup.js + # apply_ops1.js is blacklisted since it uses non-idempotent applyOps commands (SERVER-27096). + - jstests/core/apply_ops1.js + # operation_latency_histogram.js and geo_s2cursorlimitskip.js do not expect concurrent reads + # against their test collections. + - jstests/core/operation_latency_histogram.js + - jstests/core/geo_s2cursorlimitskip.js + # Having duplicate namespaces is not supported and will cause initial sync to fail. + - jstests/core/views/duplicate_ns.js + # These tests run getLatestProfilerEntry(). The downstream syncing node affects the profiler. + - jstests/core/profile_agg.js + - jstests/core/profile_count.js + - jstests/core/profile_delete.js + - jstests/core/profile_distinct.js + - jstests/core/profile_find.js + - jstests/core/profile_findandmodify.js + - jstests/core/profile_geonear.js + - jstests/core/profile_getmore.js + - jstests/core/profile_group.js + - jstests/core/profile_insert.js + - jstests/core/profile_update.js + # The downstream syncing node affects the top output. + - jstests/core/top.js run_hook_interval: &run_hook_interval 20 executor: - js_test: - config: - shell_options: - eval: "testingReplication = true;" - readMode: commands - hooks: - - class: BackgroundInitialSync - use_resync: True - n: *run_hook_interval - - class: CleanEveryN - n: *run_hook_interval - fixture: - class: ReplicaSetFixture - mongod_options: - oplogSize: 511 - set_parameters: - enableTestCommands: 1 - num_nodes: 2 - start_initial_sync_node: True + config: + shell_options: + eval: "testingReplication = true;" + readMode: commands + hooks: + - class: BackgroundInitialSync + use_resync: True + n: *run_hook_interval + - class: CleanEveryN + n: *run_hook_interval + fixture: + class: ReplicaSetFixture + mongod_options: + oplogSize: 511 + set_parameters: + enableTestCommands: 1 + num_nodes: 2 + start_initial_sync_node: True diff --git a/buildscripts/resmokeconfig/suites/replica_sets_resync_static_jscore_passthrough.yml b/buildscripts/resmokeconfig/suites/replica_sets_resync_static_jscore_passthrough.yml index 86cb7bfc439..27726964c60 100644 --- a/buildscripts/resmokeconfig/suites/replica_sets_resync_static_jscore_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/replica_sets_resync_static_jscore_passthrough.yml @@ -1,40 +1,40 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/core/**/*.js - exclude_files: - # These tests are not expected to pass with replica-sets: - - jstests/core/dbadmin.js - - jstests/core/opcounters_write_cmd.js - - jstests/core/read_after_optime.js - - jstests/core/capped_update.js - # Having duplicate namespaces is not supported and will cause initial sync to fail. - - jstests/core/views/duplicate_ns.js + roots: + - jstests/core/**/*.js + exclude_files: + # These tests are not expected to pass with replica-sets: + - jstests/core/dbadmin.js + - jstests/core/opcounters_write_cmd.js + - jstests/core/read_after_optime.js + - jstests/core/capped_update.js + # Having duplicate namespaces is not supported and will cause initial sync to fail. + - jstests/core/views/duplicate_ns.js run_hook_interval: &run_hook_interval 20 executor: - js_test: - config: - shell_options: - eval: "testingReplication = true;" - readMode: commands - hooks: - - class: IntermediateInitialSync - use_resync: True - n: *run_hook_interval - - class: CleanEveryN - n: *run_hook_interval - fixture: - class: ReplicaSetFixture - mongod_options: - bind_ip_all: '' - oplogSize: 511 - set_parameters: - enableTestCommands: 1 - numInitialSyncAttempts: 1 - numInitialSyncConnectAttempts: 60 - num_nodes: 2 - start_initial_sync_node: True - replset_config_options: - settings: - chainingAllowed: False + config: + shell_options: + eval: "testingReplication = true;" + readMode: commands + hooks: + - class: IntermediateInitialSync + use_resync: True + n: *run_hook_interval + - class: CleanEveryN + n: *run_hook_interval + fixture: + class: ReplicaSetFixture + mongod_options: + bind_ip_all: '' + oplogSize: 511 + set_parameters: + enableTestCommands: 1 + numInitialSyncAttempts: 1 + numInitialSyncConnectAttempts: 60 + num_nodes: 2 + start_initial_sync_node: True + replset_config_options: + settings: + chainingAllowed: False diff --git a/buildscripts/resmokeconfig/suites/rlp.yml b/buildscripts/resmokeconfig/suites/rlp.yml index ef0dfeda45a..1d2f6c791eb 100644 --- a/buildscripts/resmokeconfig/suites/rlp.yml +++ b/buildscripts/resmokeconfig/suites/rlp.yml @@ -1,21 +1,21 @@ +test_kind: js_test + selector: - js_test: - roots: - - src/mongo/db/modules/*/jstests/rlp/*.js + roots: + - src/mongo/db/modules/*/jstests/rlp/*.js executor: - js_test: - config: - shell_options: - readMode: commands - hooks: - - class: ValidateCollections - - class: CleanEveryN - n: 20 - fixture: - class: MongoDFixture - mongod_options: - basisTechRootDirectory: /opt/basis - set_parameters: - enableTestCommands: 1 - rlpEnableExperimentalLanguagesForTesting: true + config: + shell_options: + readMode: commands + hooks: + - class: ValidateCollections + - class: CleanEveryN + n: 20 + fixture: + class: MongoDFixture + mongod_options: + basisTechRootDirectory: /opt/basis + set_parameters: + enableTestCommands: 1 + rlpEnableExperimentalLanguagesForTesting: true diff --git a/buildscripts/resmokeconfig/suites/sasl.yml b/buildscripts/resmokeconfig/suites/sasl.yml index 3333248da7c..5414a7a8ac3 100644 --- a/buildscripts/resmokeconfig/suites/sasl.yml +++ b/buildscripts/resmokeconfig/suites/sasl.yml @@ -1,12 +1,12 @@ +test_kind: js_test + selector: - js_test: - roots: - - src/mongo/db/modules/*/jstests/sasl/*.js + roots: + - src/mongo/db/modules/*/jstests/sasl/*.js # sasl tests start their own mongod's. executor: - js_test: - config: - shell_options: - nodb: '' - readMode: commands + config: + shell_options: + nodb: '' + readMode: commands diff --git a/buildscripts/resmokeconfig/suites/serial_run.yml b/buildscripts/resmokeconfig/suites/serial_run.yml index 4ae010c7ec8..e1d1b623f57 100644 --- a/buildscripts/resmokeconfig/suites/serial_run.yml +++ b/buildscripts/resmokeconfig/suites/serial_run.yml @@ -1,19 +1,19 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/serial_run/*.js + roots: + - jstests/serial_run/*.js executor: - js_test: - config: - shell_options: - readMode: commands - hooks: - - class: ValidateCollections - - class: CleanEveryN - n: 1 - fixture: - class: MongoDFixture - mongod_options: - set_parameters: - enableTestCommands: 1 + config: + shell_options: + readMode: commands + hooks: + - class: ValidateCollections + - class: CleanEveryN + n: 1 + fixture: + class: MongoDFixture + mongod_options: + set_parameters: + enableTestCommands: 1 diff --git a/buildscripts/resmokeconfig/suites/sharded_collections_jscore_passthrough.yml b/buildscripts/resmokeconfig/suites/sharded_collections_jscore_passthrough.yml index 26180c1d768..3dc3d38d6cc 100644 --- a/buildscripts/resmokeconfig/suites/sharded_collections_jscore_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/sharded_collections_jscore_passthrough.yml @@ -1,106 +1,106 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/core/**/*.js - exclude_files: - # The following tests fail because a certain command or functionality is not supported by - # mongos. This command or functionality is placed in a comment next to the failing test. - - jstests/core/apitest_db.js # profiling. - - jstests/core/apply_ops*.js # applyOps, SERVER-1439. - - jstests/core/bypass_doc_validation.js # copyDatabase - - jstests/core/capped*.js # capped collections. - - jstests/core/check_shard_index.js # checkShardingIndex. - - jstests/core/collection_truncate.js # emptycapped. - - jstests/core/compact_keeps_indexes.js # compact. - - jstests/core/currentop.js # uses fsync. - - jstests/core/auth_copydb.js # copyDatabase. - - jstests/core/copydb.js # copyDatabase. - - jstests/core/dbadmin.js # "local" database. - - jstests/core/dbhash.js # dbhash. - - jstests/core/dbhash2.js # dbhash. - - jstests/core/diagdata.js # Command not supported in mongos - - jstests/core/dropdb_race.js # syncdelay. - - jstests/core/evalb.js # profiling. - - jstests/core/fsync.js # uses fsync. - - jstests/core/geo_haystack*.js # geoSearch. - - jstests/core/geo_s2cursorlimitskip.js # profiling. - - jstests/core/geo_update_btree2.js # notablescan. - - jstests/core/index_bigkeys_nofail.js # failIndexKeyTooLong. - - jstests/core/index_bigkeys_validation.js # failIndexKeyTooLong. - - jstests/core/max_time_ms.js # sleep, SERVER-2212. - - jstests/core/mr_replaceIntoDB.js # MapReduceResult, SERVER-20495. - - jstests/core/notablescan.js # notablescan. - - jstests/core/profile*.js # profiling. - - jstests/core/rename*.js # renameCollection. - - jstests/core/repair_database.js # repairDatabase - - jstests/core/repair_database_input_validation.js # repairDatabase - - jstests/core/repair_server12955.js # repairDatabase - - jstests/core/stages*.js # stageDebug. - - jstests/core/startup_log.js # "local" database. - - jstests/core/storageDetailsCommand.js # diskStorageStats. - - jstests/core/tailable_skip_limit.js # capped collections. - - jstests/core/top.js # top. - # The following tests fail because mongos behaves differently from mongod when testing certain - # functionality. The differences are in a comment next to the failing test. - - jstests/core/explain_missing_database.js # Behavior with no db different on mongos, SERVER-18047. - - jstests/core/geo_2d_explain.js # executionSuccess in different spot in explain(). - - jstests/core/geo_s2explain.js # inputStage in different spot in explain(). - - jstests/core/geo_s2sparse.js # keysPerIndex in different spot in validate(). - - jstests/core/operation_latency_histogram.js # Stats are counted differently on mongos, SERVER-24880. - # TODO: SERVER-17284 remove once find cmd is implemented in mongos. - - jstests/core/read_after_optime.js - # TODO: SERVER-18292 remove once OP_COMMAND is implemented in mongos. - - jstests/core/invalid_db_name.js - - jstests/core/validate_cmd_ns.js - # The following tests fail because they count indexes. These counts do not take into account the - # additional hashed shard key indexes that are automatically added by this passthrough. - - jstests/core/apitest_dbcollection.js - - jstests/core/bad_index_plugin.js - - jstests/core/collection_info_cache_race.js - - jstests/core/create_indexes.js - - jstests/core/indexOtherNamespace.js - - jstests/core/list_indexes_non_existent_ns.js - - jstests/core/rename6.js - # The following tests fail because they expect no databases to be created. However a DB is created - # automatically when we shard a collection. - - jstests/core/dbcase.js - - jstests/core/dbcase2.js - - jstests/core/no_db_created.js - - jstests/core/ns_length.js - - jstests/core/views/*.js # Views tests aren't expected to work when collections are implicitly sharded. - - jstests/core/killop_drop_collection.js # Uses fsyncLock. - # TODO: Remove after fixing SERVER-14324. mapReduce behaves unpredictably when the out - # collection is sharded on anything other than {_id: 1}. - - jstests/core/mr_undef.js - # TODO: SERVER-16605 - - jstests/core/mr1.js - - jstests/core/mr3.js - - jstests/core/mr4.js - exclude_with_any_tags: - # Tests tagged with the following will fail because they assume collections are not sharded. - - assumes_no_implicit_collection_creation_after_drop - - assumes_no_implicit_index_creation - - assumes_unsharded_collection - - cannot_create_unique_index_when_using_hashed_shard_key + roots: + - jstests/core/**/*.js + exclude_files: + # The following tests fail because a certain command or functionality is not supported by + # mongos. This command or functionality is placed in a comment next to the failing test. + - jstests/core/apitest_db.js # profiling. + - jstests/core/apply_ops*.js # applyOps, SERVER-1439. + - jstests/core/bypass_doc_validation.js # copyDatabase + - jstests/core/capped*.js # capped collections. + - jstests/core/check_shard_index.js # checkShardingIndex. + - jstests/core/collection_truncate.js # emptycapped. + - jstests/core/compact_keeps_indexes.js # compact. + - jstests/core/currentop.js # uses fsync. + - jstests/core/auth_copydb.js # copyDatabase. + - jstests/core/copydb.js # copyDatabase. + - jstests/core/dbadmin.js # "local" database. + - jstests/core/dbhash.js # dbhash. + - jstests/core/dbhash2.js # dbhash. + - jstests/core/diagdata.js # Command not supported in mongos + - jstests/core/dropdb_race.js # syncdelay. + - jstests/core/evalb.js # profiling. + - jstests/core/fsync.js # uses fsync. + - jstests/core/geo_haystack*.js # geoSearch. + - jstests/core/geo_s2cursorlimitskip.js # profiling. + - jstests/core/geo_update_btree2.js # notablescan. + - jstests/core/index_bigkeys_nofail.js # failIndexKeyTooLong. + - jstests/core/index_bigkeys_validation.js # failIndexKeyTooLong. + - jstests/core/max_time_ms.js # sleep, SERVER-2212. + - jstests/core/mr_replaceIntoDB.js # MapReduceResult, SERVER-20495. + - jstests/core/notablescan.js # notablescan. + - jstests/core/profile*.js # profiling. + - jstests/core/rename*.js # renameCollection. + - jstests/core/repair_database.js # repairDatabase + - jstests/core/repair_database_input_validation.js # repairDatabase + - jstests/core/repair_server12955.js # repairDatabase + - jstests/core/stages*.js # stageDebug. + - jstests/core/startup_log.js # "local" database. + - jstests/core/storageDetailsCommand.js # diskStorageStats. + - jstests/core/tailable_skip_limit.js # capped collections. + - jstests/core/top.js # top. + # The following tests fail because mongos behaves differently from mongod when testing certain + # functionality. The differences are in a comment next to the failing test. + - jstests/core/explain_missing_database.js # Behavior with no db different on mongos, SERVER-18047. + - jstests/core/geo_2d_explain.js # executionSuccess in different spot in explain(). + - jstests/core/geo_s2explain.js # inputStage in different spot in explain(). + - jstests/core/geo_s2sparse.js # keysPerIndex in different spot in validate(). + - jstests/core/operation_latency_histogram.js # Stats are counted differently on mongos, SERVER-24880. + # TODO: SERVER-17284 remove once find cmd is implemented in mongos. + - jstests/core/read_after_optime.js + # TODO: SERVER-18292 remove once OP_COMMAND is implemented in mongos. + - jstests/core/invalid_db_name.js + - jstests/core/validate_cmd_ns.js + # The following tests fail because they count indexes. These counts do not take into account the + # additional hashed shard key indexes that are automatically added by this passthrough. + - jstests/core/apitest_dbcollection.js + - jstests/core/bad_index_plugin.js + - jstests/core/collection_info_cache_race.js + - jstests/core/create_indexes.js + - jstests/core/indexOtherNamespace.js + - jstests/core/list_indexes_non_existent_ns.js + - jstests/core/rename6.js + # The following tests fail because they expect no databases to be created. However a DB is created + # automatically when we shard a collection. + - jstests/core/dbcase.js + - jstests/core/dbcase2.js + - jstests/core/no_db_created.js + - jstests/core/ns_length.js + - jstests/core/views/*.js # Views tests aren't expected to work when collections are implicitly sharded. + - jstests/core/killop_drop_collection.js # Uses fsyncLock. + # TODO: Remove after fixing SERVER-14324. mapReduce behaves unpredictably when the out + # collection is sharded on anything other than {_id: 1}. + - jstests/core/mr_undef.js + # TODO: SERVER-16605 + - jstests/core/mr1.js + - jstests/core/mr3.js + - jstests/core/mr4.js + exclude_with_any_tags: + # Tests tagged with the following will fail because they assume collections are not sharded. + - assumes_no_implicit_collection_creation_after_drop + - assumes_no_implicit_index_creation + - assumes_unsharded_collection + - cannot_create_unique_index_when_using_hashed_shard_key executor: - js_test: - config: - shell_options: - readMode: commands - eval: load("jstests/libs/override_methods/implicitly_shard_accessed_collections.js") - hooks: - - class: ValidateCollections - - class: CleanEveryN - n: 20 - fixture: - class: ShardedClusterFixture - mongos_options: - set_parameters: - enableTestCommands: 1 - mongod_options: - bind_ip_all: '' - nopreallocj: '' - set_parameters: - enableTestCommands: 1 - numInitialSyncAttempts: 1 + config: + shell_options: + readMode: commands + eval: load("jstests/libs/override_methods/implicitly_shard_accessed_collections.js") + hooks: + - class: ValidateCollections + - class: CleanEveryN + n: 20 + fixture: + class: ShardedClusterFixture + mongos_options: + set_parameters: + enableTestCommands: 1 + mongod_options: + bind_ip_all: '' + nopreallocj: '' + set_parameters: + enableTestCommands: 1 + numInitialSyncAttempts: 1 diff --git a/buildscripts/resmokeconfig/suites/sharding.yml b/buildscripts/resmokeconfig/suites/sharding.yml index df402c2569e..423d61c6781 100644 --- a/buildscripts/resmokeconfig/suites/sharding.yml +++ b/buildscripts/resmokeconfig/suites/sharding.yml @@ -1,12 +1,12 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/sharding/*.js - exclude_files: + roots: + - jstests/sharding/*.js + exclude_files: executor: - js_test: - config: - shell_options: - nodb: '' - readMode: commands + config: + shell_options: + nodb: '' + readMode: commands diff --git a/buildscripts/resmokeconfig/suites/sharding_auth.yml b/buildscripts/resmokeconfig/suites/sharding_auth.yml index 708366a7b37..beaa46b226f 100644 --- a/buildscripts/resmokeconfig/suites/sharding_auth.yml +++ b/buildscripts/resmokeconfig/suites/sharding_auth.yml @@ -3,40 +3,40 @@ config_variables: - &keyFile jstests/libs/authTestsKey - &keyFileData Thiskeyisonlyforrunningthesuitewithauthenticationdontuseitinanytestsdirectly +test_kind: js_test + selector: - js_test: - roots: - - jstests/sharding/*.js - exclude_files: - # Skip any tests that run with auth explicitly. - - jstests/sharding/*[aA]uth*.js - # Skip these additional tests when running with auth enabled. - - jstests/sharding/copydb_from_mongos.js # SERVER-13080 - - jstests/sharding/parallel.js - # Skip the testcases that do not have auth bypass when running ops in parallel. - - jstests/sharding/cleanup_orphaned_cmd_during_movechunk.js # SERVER-21713 - - jstests/sharding/cleanup_orphaned_cmd_during_movechunk_hashed.js # SERVER-21713 - - jstests/sharding/migration_ignore_interrupts_1.js # SERVER-21713 - - jstests/sharding/migration_ignore_interrupts_2.js # SERVER-21713 - - jstests/sharding/migration_ignore_interrupts_3.js # SERVER-21713 - - jstests/sharding/migration_ignore_interrupts_4.js # SERVER-21713 - - jstests/sharding/migration_move_chunk_after_receive.js # SERVER-21713 - - jstests/sharding/migration_server_status.js # SERVER-21713 - - jstests/sharding/migration_sets_fromMigrate_flag.js # SERVER-21713 - - jstests/sharding/migration_with_source_ops.js # SERVER-21713 - - jstests/sharding/movechunk_interrupt_at_primary_stepdown.js # SERVER-21713 - - jstests/sharding/movechunk_parallel.js # SERVER-21713 - - jstests/sharding/migration_critical_section_concurrency.js # SERVER-21713 + roots: + - jstests/sharding/*.js + exclude_files: + # Skip any tests that run with auth explicitly. + - jstests/sharding/*[aA]uth*.js + # Skip these additional tests when running with auth enabled. + - jstests/sharding/copydb_from_mongos.js # SERVER-13080 + - jstests/sharding/parallel.js + # Skip the testcases that do not have auth bypass when running ops in parallel. + - jstests/sharding/cleanup_orphaned_cmd_during_movechunk.js # SERVER-21713 + - jstests/sharding/cleanup_orphaned_cmd_during_movechunk_hashed.js # SERVER-21713 + - jstests/sharding/migration_ignore_interrupts_1.js # SERVER-21713 + - jstests/sharding/migration_ignore_interrupts_2.js # SERVER-21713 + - jstests/sharding/migration_ignore_interrupts_3.js # SERVER-21713 + - jstests/sharding/migration_ignore_interrupts_4.js # SERVER-21713 + - jstests/sharding/migration_move_chunk_after_receive.js # SERVER-21713 + - jstests/sharding/migration_server_status.js # SERVER-21713 + - jstests/sharding/migration_sets_fromMigrate_flag.js # SERVER-21713 + - jstests/sharding/migration_with_source_ops.js # SERVER-21713 + - jstests/sharding/movechunk_interrupt_at_primary_stepdown.js # SERVER-21713 + - jstests/sharding/movechunk_parallel.js # SERVER-21713 + - jstests/sharding/migration_critical_section_concurrency.js # SERVER-21713 executor: - js_test: - config: - shell_options: - global_vars: - TestData: - auth: true - authMechanism: SCRAM-SHA-1 - keyFile: *keyFile - keyFileData: *keyFileData - nodb: '' - readMode: commands + config: + shell_options: + global_vars: + TestData: + auth: true + authMechanism: SCRAM-SHA-1 + keyFile: *keyFile + keyFileData: *keyFileData + nodb: '' + readMode: commands diff --git a/buildscripts/resmokeconfig/suites/sharding_auth_audit.yml b/buildscripts/resmokeconfig/suites/sharding_auth_audit.yml index 175fb4e8bae..c6713f0a088 100644 --- a/buildscripts/resmokeconfig/suites/sharding_auth_audit.yml +++ b/buildscripts/resmokeconfig/suites/sharding_auth_audit.yml @@ -3,41 +3,41 @@ config_variables: - &keyFile jstests/libs/authTestsKey - &keyFileData Thiskeyisonlyforrunningthesuitewithauthenticationdontuseitinanytestsdirectly +test_kind: js_test + selector: - js_test: - roots: - - jstests/sharding/*.js - exclude_files: - # Skip any tests that run with auth explicitly. - - jstests/sharding/*[aA]uth*.js - # Skip these additional tests when running with auth enabled. - - jstests/sharding/copydb_from_mongos.js # SERVER-13080 - - jstests/sharding/parallel.js - # Skip the testcases that do not have auth bypass when running ops in parallel. - - jstests/sharding/cleanup_orphaned_cmd_during_movechunk.js # SERVER-21713 - - jstests/sharding/cleanup_orphaned_cmd_during_movechunk_hashed.js # SERVER-21713 - - jstests/sharding/migration_with_source_ops.js # SERVER-21713 - - jstests/sharding/migration_sets_fromMigrate_flag.js # SERVER-21713 - - jstests/sharding/migration_ignore_interrupts_1.js # SERVER-21713 - - jstests/sharding/migration_ignore_interrupts_2.js # SERVER-21713 - - jstests/sharding/migration_ignore_interrupts_3.js # SERVER-21713 - - jstests/sharding/migration_ignore_interrupts_4.js # SERVER-21713 - - jstests/sharding/movechunk_interrupt_at_primary_stepdown.js # SERVER-21713 - - jstests/sharding/movechunk_parallel.js # SERVER-21713 - - jstests/sharding/migration_server_status.js # SERVER-21713 - - jstests/sharding/migration_move_chunk_after_receive.js # SERVER-21713 - - jstests/sharding/migration_critical_section_concurrency.js # SERVER-21713 + roots: + - jstests/sharding/*.js + exclude_files: + # Skip any tests that run with auth explicitly. + - jstests/sharding/*[aA]uth*.js + # Skip these additional tests when running with auth enabled. + - jstests/sharding/copydb_from_mongos.js # SERVER-13080 + - jstests/sharding/parallel.js + # Skip the testcases that do not have auth bypass when running ops in parallel. + - jstests/sharding/cleanup_orphaned_cmd_during_movechunk.js # SERVER-21713 + - jstests/sharding/cleanup_orphaned_cmd_during_movechunk_hashed.js # SERVER-21713 + - jstests/sharding/migration_with_source_ops.js # SERVER-21713 + - jstests/sharding/migration_sets_fromMigrate_flag.js # SERVER-21713 + - jstests/sharding/migration_ignore_interrupts_1.js # SERVER-21713 + - jstests/sharding/migration_ignore_interrupts_2.js # SERVER-21713 + - jstests/sharding/migration_ignore_interrupts_3.js # SERVER-21713 + - jstests/sharding/migration_ignore_interrupts_4.js # SERVER-21713 + - jstests/sharding/movechunk_interrupt_at_primary_stepdown.js # SERVER-21713 + - jstests/sharding/movechunk_parallel.js # SERVER-21713 + - jstests/sharding/migration_server_status.js # SERVER-21713 + - jstests/sharding/migration_move_chunk_after_receive.js # SERVER-21713 + - jstests/sharding/migration_critical_section_concurrency.js # SERVER-21713 executor: - js_test: - config: - shell_options: - global_vars: - TestData: - auditDestination: 'console' - auth: true - authMechanism: SCRAM-SHA-1 - keyFile: *keyFile - keyFileData: *keyFileData - nodb: '' - readMode: commands + config: + shell_options: + global_vars: + TestData: + auditDestination: 'console' + auth: true + authMechanism: SCRAM-SHA-1 + keyFile: *keyFile + keyFileData: *keyFileData + nodb: '' + readMode: commands diff --git a/buildscripts/resmokeconfig/suites/sharding_continuous_config_stepdown.yml b/buildscripts/resmokeconfig/suites/sharding_continuous_config_stepdown.yml index ec2d3a1e5ab..30e0da2764a 100644 --- a/buildscripts/resmokeconfig/suites/sharding_continuous_config_stepdown.yml +++ b/buildscripts/resmokeconfig/suites/sharding_continuous_config_stepdown.yml @@ -1,139 +1,139 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/sharding/*.js - exclude_files: - # Auth tests require authentication on the stepdown thread's connection - - jstests/sharding/auth*.js - - jstests/sharding/cleanup_orphaned_auth.js - - jstests/sharding/localhostAuthBypass.js - - jstests/sharding/mongos_rs_auth_shard_failure_tolerance.js - - jstests/sharding/mrShardedOutputAuth.js - # Count/write/aggregate/group commands against the config shard do not support retries yet - - jstests/sharding/addshard1.js - - jstests/sharding/addshard2.js - - jstests/sharding/autosplit.js - - jstests/sharding/auto_rebalance_parallel.js - - jstests/sharding/auto_rebalance_parallel_replica_sets.js - - jstests/sharding/autosplit_heuristics.js - - jstests/sharding/basic_drop_coll.js - - jstests/sharding/basic_merge.js - - jstests/sharding/count1.js - - jstests/sharding/count2.js - - jstests/sharding/cursor1.js - - jstests/sharding/diffservers1.js - - jstests/sharding/disable_autosplit.js - - jstests/sharding/drop_sharded_db.js - - jstests/sharding/findandmodify1.js - - jstests/sharding/findandmodify2.js - - jstests/sharding/geo_shardedgeonear.js - - jstests/sharding/hash_basic.js - - jstests/sharding/hash_shard1.js - - jstests/sharding/hash_shard_non_empty.js - - jstests/sharding/hash_shard_num_chunks.js - - jstests/sharding/hash_single_shard.js - - jstests/sharding/key_many.js - - jstests/sharding/key_string.js - - jstests/sharding/large_chunk.js - - jstests/sharding/limit_push.js - - jstests/sharding/migrateBig_balancer.js - - jstests/sharding/move_chunk_basic.js - - jstests/sharding/movePrimary1.js - - jstests/sharding/mrShardedOutput.js - - jstests/sharding/names.js - - jstests/sharding/prefix_shard_key.js - - jstests/sharding/presplit.js - - jstests/sharding/query_config.js - - jstests/sharding/remove1.js - - jstests/sharding/rename_across_mongos.js - - jstests/sharding/shard1.js - - jstests/sharding/shard2.js - - jstests/sharding/shard3.js - - jstests/sharding/shard_collection_basic.js - - jstests/sharding/sharding_balance1.js - - jstests/sharding/sharding_balance2.js - - jstests/sharding/sharding_balance3.js - - jstests/sharding/sharding_balance4.js - - jstests/sharding/sharding_migrate_cursor1.js - - jstests/sharding/tag_range.js - - jstests/sharding/top_chunk_autosplit.js - - jstests/sharding/count_config_servers.js - - jstests/sharding/conf_server_write_concern_metadata.js - - jstests/sharding/split_large_key.js - - jstests/sharding/balancer_window.js - # No retries on direct writes to the config/admin databases on the config servers - - jstests/sharding/listDatabases.js - - jstests/sharding/bulk_insert.js - - jstests/sharding/printShardingStatus.js - # Balancer writes (direct write to config database with no retries) - - jstests/sharding/convert_to_and_from_sharded.js - - jstests/sharding/remove2.js - - jstests/sharding/autosplit_with_balancer.js - - jstests/sharding/features3.js - - jstests/sharding/in_memory_sort_limit.js - - jstests/sharding/parallel.js - - jstests/sharding/migrateBig.js - - jstests/sharding/sharding_rs1.js - # Calls the config server primary directly (not through mongos) - - jstests/sharding/moveprimary_ignore_sharded.js - - jstests/sharding/min_optime_recovery_on_successful_move_chunk_commit.js - - jstests/sharding/read_after_optime.js - - jstests/sharding/server_status.js - - jstests/sharding/drop_configdb.js - - jstests/sharding/shard_identity_config_update.js - # Runs setShardVersion/getShardVersion against the config server and we don't support retries - # for this command - - jstests/sharding/major_version_check.js - - jstests/sharding/ssv_config_check.js - # Runs replSetGetStatus -- via awaitLastOpCommitted -- directly against the config server: - # retries aren't supported. - - jstests/sharding/coll_epoch_test1.js - - jstests/sharding/move_stale_mongos.js - - jstests/sharding/shard4.js - - jstests/sharding/shard5.js - - jstests/sharding/split_stale_mongos.js - - jstests/sharding/stale_mongos_updates_and_removes.js - - jstests/sharding/zero_shard_version.js - # Already stop or blackholes the primary of the CSRS config shard - - jstests/sharding/all_config_hosts_down.js - - jstests/sharding/all_config_servers_blackholed_from_mongos.js - - jstests/sharding/batch_write_command_sharded.js - - jstests/sharding/config_rs_no_primary.js - - jstests/sharding/config_version_rollback.js - - jstests/sharding/startup_with_all_configs_down.js - - jstests/sharding/lagged_config_secondary.js - - jstests/sharding/autodiscover_config_rs_from_secondary.js - - jstests/sharding/rs_stepdown_and_pooling.js - - jstests/sharding/mongos_no_replica_set_refresh.js - - jstests/sharding/movechunk_interrupt_at_primary_stepdown.js - - jstests/sharding/primary_config_server_blackholed_from_mongos.js - # Nothing is affected by config server step down - - jstests/sharding/basic_sharding_params.js - # ShardingTest is never used, so continuous step down thread never starts - - jstests/sharding/config_rs_change.js - - jstests/sharding/empty_cluster_init.js - # Test runs really slow with the primary continuously stepping down - - jstests/sharding/zbigMapReduce.js - # Temporarily blacklisted until more robust - - jstests/sharding/cleanup_orphaned_cmd_during_movechunk_hashed.js - - jstests/sharding/cleanup_orphaned_cmd_during_movechunk.js - # Expects same secondaries for entire test - - jstests/sharding/commands_that_write_accept_wc_configRS.js - - jstests/sharding/commands_that_write_accept_wc_shards.js - - jstests/sharding/move_chunk_wc.js - # Expects that connections to all shards/config servers will never close - - jstests/sharding/shard6.js - # Stepping down the primary can make the balancer rerun a migration that was designed to fail - # earlier, but can potentially pass on the second try. - - jstests/sharding/migration_ignore_interrupts_1.js - # Stepping down the config can cause moveChunks stopped on shards via killOp to be restarted. - - jstests/sharding/migration_ignore_interrupts_3.js - - jstests/sharding/migration_ignore_interrupts_4.js + roots: + - jstests/sharding/*.js + exclude_files: + # Auth tests require authentication on the stepdown thread's connection + - jstests/sharding/auth*.js + - jstests/sharding/cleanup_orphaned_auth.js + - jstests/sharding/localhostAuthBypass.js + - jstests/sharding/mongos_rs_auth_shard_failure_tolerance.js + - jstests/sharding/mrShardedOutputAuth.js + # Count/write/aggregate/group commands against the config shard do not support retries yet + - jstests/sharding/addshard1.js + - jstests/sharding/addshard2.js + - jstests/sharding/autosplit.js + - jstests/sharding/auto_rebalance_parallel.js + - jstests/sharding/auto_rebalance_parallel_replica_sets.js + - jstests/sharding/autosplit_heuristics.js + - jstests/sharding/basic_drop_coll.js + - jstests/sharding/basic_merge.js + - jstests/sharding/count1.js + - jstests/sharding/count2.js + - jstests/sharding/cursor1.js + - jstests/sharding/diffservers1.js + - jstests/sharding/disable_autosplit.js + - jstests/sharding/drop_sharded_db.js + - jstests/sharding/findandmodify1.js + - jstests/sharding/findandmodify2.js + - jstests/sharding/geo_shardedgeonear.js + - jstests/sharding/hash_basic.js + - jstests/sharding/hash_shard1.js + - jstests/sharding/hash_shard_non_empty.js + - jstests/sharding/hash_shard_num_chunks.js + - jstests/sharding/hash_single_shard.js + - jstests/sharding/key_many.js + - jstests/sharding/key_string.js + - jstests/sharding/large_chunk.js + - jstests/sharding/limit_push.js + - jstests/sharding/migrateBig_balancer.js + - jstests/sharding/move_chunk_basic.js + - jstests/sharding/movePrimary1.js + - jstests/sharding/mrShardedOutput.js + - jstests/sharding/names.js + - jstests/sharding/prefix_shard_key.js + - jstests/sharding/presplit.js + - jstests/sharding/query_config.js + - jstests/sharding/remove1.js + - jstests/sharding/rename_across_mongos.js + - jstests/sharding/shard1.js + - jstests/sharding/shard2.js + - jstests/sharding/shard3.js + - jstests/sharding/shard_collection_basic.js + - jstests/sharding/sharding_balance1.js + - jstests/sharding/sharding_balance2.js + - jstests/sharding/sharding_balance3.js + - jstests/sharding/sharding_balance4.js + - jstests/sharding/sharding_migrate_cursor1.js + - jstests/sharding/tag_range.js + - jstests/sharding/top_chunk_autosplit.js + - jstests/sharding/count_config_servers.js + - jstests/sharding/conf_server_write_concern_metadata.js + - jstests/sharding/split_large_key.js + - jstests/sharding/balancer_window.js + # No retries on direct writes to the config/admin databases on the config servers + - jstests/sharding/listDatabases.js + - jstests/sharding/bulk_insert.js + - jstests/sharding/printShardingStatus.js + # Balancer writes (direct write to config database with no retries) + - jstests/sharding/convert_to_and_from_sharded.js + - jstests/sharding/remove2.js + - jstests/sharding/autosplit_with_balancer.js + - jstests/sharding/features3.js + - jstests/sharding/in_memory_sort_limit.js + - jstests/sharding/parallel.js + - jstests/sharding/migrateBig.js + - jstests/sharding/sharding_rs1.js + # Calls the config server primary directly (not through mongos) + - jstests/sharding/moveprimary_ignore_sharded.js + - jstests/sharding/min_optime_recovery_on_successful_move_chunk_commit.js + - jstests/sharding/read_after_optime.js + - jstests/sharding/server_status.js + - jstests/sharding/drop_configdb.js + - jstests/sharding/shard_identity_config_update.js + # Runs setShardVersion/getShardVersion against the config server and we don't support retries + # for this command + - jstests/sharding/major_version_check.js + - jstests/sharding/ssv_config_check.js + # Runs replSetGetStatus -- via awaitLastOpCommitted -- directly against the config server: + # retries aren't supported. + - jstests/sharding/coll_epoch_test1.js + - jstests/sharding/move_stale_mongos.js + - jstests/sharding/shard4.js + - jstests/sharding/shard5.js + - jstests/sharding/split_stale_mongos.js + - jstests/sharding/stale_mongos_updates_and_removes.js + - jstests/sharding/zero_shard_version.js + # Already stop or blackholes the primary of the CSRS config shard + - jstests/sharding/all_config_hosts_down.js + - jstests/sharding/all_config_servers_blackholed_from_mongos.js + - jstests/sharding/batch_write_command_sharded.js + - jstests/sharding/config_rs_no_primary.js + - jstests/sharding/config_version_rollback.js + - jstests/sharding/startup_with_all_configs_down.js + - jstests/sharding/lagged_config_secondary.js + - jstests/sharding/autodiscover_config_rs_from_secondary.js + - jstests/sharding/rs_stepdown_and_pooling.js + - jstests/sharding/mongos_no_replica_set_refresh.js + - jstests/sharding/movechunk_interrupt_at_primary_stepdown.js + - jstests/sharding/primary_config_server_blackholed_from_mongos.js + # Nothing is affected by config server step down + - jstests/sharding/basic_sharding_params.js + # ShardingTest is never used, so continuous step down thread never starts + - jstests/sharding/config_rs_change.js + - jstests/sharding/empty_cluster_init.js + # Test runs really slow with the primary continuously stepping down + - jstests/sharding/zbigMapReduce.js + # Temporarily blacklisted until more robust + - jstests/sharding/cleanup_orphaned_cmd_during_movechunk_hashed.js + - jstests/sharding/cleanup_orphaned_cmd_during_movechunk.js + # Expects same secondaries for entire test + - jstests/sharding/commands_that_write_accept_wc_configRS.js + - jstests/sharding/commands_that_write_accept_wc_shards.js + - jstests/sharding/move_chunk_wc.js + # Expects that connections to all shards/config servers will never close + - jstests/sharding/shard6.js + # Stepping down the primary can make the balancer rerun a migration that was designed to fail + # earlier, but can potentially pass on the second try. + - jstests/sharding/migration_ignore_interrupts_1.js + # Stepping down the config can cause moveChunks stopped on shards via killOp to be restarted. + - jstests/sharding/migration_ignore_interrupts_3.js + - jstests/sharding/migration_ignore_interrupts_4.js executor: - js_test: - config: - shell_options: - eval: "load('jstests/libs/override_methods/sharding_continuous_config_stepdown.js');" - nodb: '' - readMode: commands + config: + shell_options: + eval: "load('jstests/libs/override_methods/sharding_continuous_config_stepdown.js');" + nodb: '' + readMode: commands diff --git a/buildscripts/resmokeconfig/suites/sharding_ese.yml b/buildscripts/resmokeconfig/suites/sharding_ese.yml index 90b493d0e02..228d25915c3 100644 --- a/buildscripts/resmokeconfig/suites/sharding_ese.yml +++ b/buildscripts/resmokeconfig/suites/sharding_ese.yml @@ -2,19 +2,19 @@ config_variables: - &keyFile src/mongo/db/modules/enterprise/jstests/encryptdb/libs/ekf2 +test_kind: js_test + selector: - js_test: - roots: - - jstests/sharding/*.js - exclude_files: + roots: + - jstests/sharding/*.js + exclude_files: executor: - js_test: - config: - shell_options: - nodb: '' - global_vars: - TestData: - enableEncryption: '' - encryptionKeyFile: *keyFile - readMode: commands + config: + shell_options: + nodb: '' + global_vars: + TestData: + enableEncryption: '' + encryptionKeyFile: *keyFile + readMode: commands diff --git a/buildscripts/resmokeconfig/suites/sharding_gle_auth_basics_passthrough.yml b/buildscripts/resmokeconfig/suites/sharding_gle_auth_basics_passthrough.yml index e8798af8f70..bfbf8b8e405 100644 --- a/buildscripts/resmokeconfig/suites/sharding_gle_auth_basics_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/sharding_gle_auth_basics_passthrough.yml @@ -3,53 +3,53 @@ config_variables: - &keyFile jstests/libs/authTestsKey - &keyFileData Thiskeyisonlyforrunningthesuitewithauthenticationdontuseitinanytestsdirectly +test_kind: js_test + selector: - js_test: - roots: - - jstests/gle/core/*.js - exclude_files: - - jstests/gle/core/error1.js # The getPrevError command is not supported under sharding. - - jstests/gle/core/remove5.js - - jstests/gle/core/update4.js + roots: + - jstests/gle/core/*.js + exclude_files: + - jstests/gle/core/error1.js # The getPrevError command is not supported under sharding. + - jstests/gle/core/remove5.js + - jstests/gle/core/update4.js executor: - js_test: - config: - shell_options: - global_vars: - TestData: - auth: true - authMechanism: SCRAM-SHA-1 - keyFile: *keyFile - keyFileData: *keyFileData - eval: jsTest.authenticate(db.getMongo()) - authenticationDatabase: admin - authenticationMechanism: SCRAM-SHA-1 - password: *keyFileData - username: __system - readMode: commands + config: + shell_options: + global_vars: + TestData: + auth: true + authMechanism: SCRAM-SHA-1 + keyFile: *keyFile + keyFileData: *keyFileData + eval: jsTest.authenticate(db.getMongo()) + authenticationDatabase: admin + authenticationMechanism: SCRAM-SHA-1 + password: *keyFileData + username: __system + readMode: commands - fixture: - class: ShardedClusterFixture - mongos_options: - bind_ip_all: '' - keyFile: *keyFile - set_parameters: - enableTestCommands: 1 - enableLocalhostAuthBypass: false - mongod_options: - bind_ip_all: '' - auth: '' - keyFile: *keyFile - set_parameters: - enableTestCommands: 1 - enableLocalhostAuthBypass: false - numInitialSyncAttempts: 1 - num_shards: 2 - enable_sharding: - - test - auth_options: - authenticationDatabase: admin - authenticationMechanism: SCRAM-SHA-1 - password: *keyFileData - username: __system + fixture: + class: ShardedClusterFixture + mongos_options: + bind_ip_all: '' + keyFile: *keyFile + set_parameters: + enableTestCommands: 1 + enableLocalhostAuthBypass: false + mongod_options: + bind_ip_all: '' + auth: '' + keyFile: *keyFile + set_parameters: + enableTestCommands: 1 + enableLocalhostAuthBypass: false + numInitialSyncAttempts: 1 + num_shards: 2 + enable_sharding: + - test + auth_options: + authenticationDatabase: admin + authenticationMechanism: SCRAM-SHA-1 + password: *keyFileData + username: __system diff --git a/buildscripts/resmokeconfig/suites/sharding_jscore_passthrough.yml b/buildscripts/resmokeconfig/suites/sharding_jscore_passthrough.yml index 763ad6cc68c..d68c50f35f6 100644 --- a/buildscripts/resmokeconfig/suites/sharding_jscore_passthrough.yml +++ b/buildscripts/resmokeconfig/suites/sharding_jscore_passthrough.yml @@ -1,77 +1,77 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/core/**/*.js - exclude_files: - # The following tests fail because a certain command or functionality is not supported on - # mongos. This command or functionality is placed in a comment next to the failing test. - - jstests/core/apitest_db.js # profiling. - - jstests/core/apply_ops*.js # applyOps, SERVER-1439. - - jstests/core/capped6.js # captrunc. - - jstests/core/capped_convertToCapped1.js # cloneCollectionAsCapped. - - jstests/core/capped_empty.js # emptycapped. - - jstests/core/capped_update.js # uses godinsert and can't run under replication. - - jstests/core/check_shard_index.js # checkShardingIndex. - - jstests/core/collection_truncate.js # emptycapped. - - jstests/core/compact_keeps_indexes.js # compact. - - jstests/core/currentop.js # uses fsync. - - jstests/core/dbadmin.js # "local" database. - - jstests/core/dbhash.js # dbhash. - - jstests/core/dbhash2.js # dbhash. - - jstests/core/diagdata.js # Command not supported in mongos - - jstests/core/dropdb_race.js # syncdelay. - - jstests/core/evalb.js # profiling. - - jstests/core/fsync.js # uses fsync. - - jstests/core/geo_haystack*.js # geoSearch. - - jstests/core/geo_s2cursorlimitskip.js # profiling. - - jstests/core/geo_update_btree2.js # notablescan. - - jstests/core/index_bigkeys_nofail.js # failIndexKeyTooLong. - - jstests/core/index_bigkeys_validation.js # failIndexKeyTooLong. - - jstests/core/max_time_ms.js # sleep, SERVER-2212. - - jstests/core/notablescan.js # notablescan. - - jstests/core/profile*.js # profiling. - - jstests/core/repair_database.js # repairDatabase - - jstests/core/repair_database_input_validation.js # repairDatabase - - jstests/core/repair_server12955.js # repairDatabase - - jstests/core/stages*.js # stageDebug. - - jstests/core/startup_log.js # "local" database. - - jstests/core/storageDetailsCommand.js # diskStorageStats. - - jstests/core/top.js # top. - # The following tests fail because mongos behaves differently from mongod when testing certain - # functionality. The differences are in a comment next to the failing test. - - jstests/core/explain_missing_database.js # Behavior with no db different on mongos. - - jstests/core/geo_2d_explain.js # executionSuccess in different spot in explain(). - - jstests/core/geo_s2explain.js # inputStage in different spot in explain(). - - jstests/core/geo_s2sparse.js # keysPerIndex in different spot in validate(). - - jstests/core/operation_latency_histogram.js # Stats are counted differently on mongos, SERVER-24880. - # TODO: SERVER-18292 remove once OP_COMMAND is implemented in mongos. - - jstests/core/invalid_db_name.js - - jstests/core/validate_cmd_ns.js - - jstests/core/views/invalid_system_views.js # We expect listCollections to fail when there's an invalid view. - # TODO: SERVER-27269: mongos can't establish cursor if view has $collStats and views another view. - - jstests/core/views/views_coll_stats.js - - jstests/core/killop_drop_collection.js # Uses fsyncLock. + roots: + - jstests/core/**/*.js + exclude_files: + # The following tests fail because a certain command or functionality is not supported on + # mongos. This command or functionality is placed in a comment next to the failing test. + - jstests/core/apitest_db.js # profiling. + - jstests/core/apply_ops*.js # applyOps, SERVER-1439. + - jstests/core/capped6.js # captrunc. + - jstests/core/capped_convertToCapped1.js # cloneCollectionAsCapped. + - jstests/core/capped_empty.js # emptycapped. + - jstests/core/capped_update.js # uses godinsert and can't run under replication. + - jstests/core/check_shard_index.js # checkShardingIndex. + - jstests/core/collection_truncate.js # emptycapped. + - jstests/core/compact_keeps_indexes.js # compact. + - jstests/core/currentop.js # uses fsync. + - jstests/core/dbadmin.js # "local" database. + - jstests/core/dbhash.js # dbhash. + - jstests/core/dbhash2.js # dbhash. + - jstests/core/diagdata.js # Command not supported in mongos + - jstests/core/dropdb_race.js # syncdelay. + - jstests/core/evalb.js # profiling. + - jstests/core/fsync.js # uses fsync. + - jstests/core/geo_haystack*.js # geoSearch. + - jstests/core/geo_s2cursorlimitskip.js # profiling. + - jstests/core/geo_update_btree2.js # notablescan. + - jstests/core/index_bigkeys_nofail.js # failIndexKeyTooLong. + - jstests/core/index_bigkeys_validation.js # failIndexKeyTooLong. + - jstests/core/max_time_ms.js # sleep, SERVER-2212. + - jstests/core/notablescan.js # notablescan. + - jstests/core/profile*.js # profiling. + - jstests/core/repair_database.js # repairDatabase + - jstests/core/repair_database_input_validation.js # repairDatabase + - jstests/core/repair_server12955.js # repairDatabase + - jstests/core/stages*.js # stageDebug. + - jstests/core/startup_log.js # "local" database. + - jstests/core/storageDetailsCommand.js # diskStorageStats. + - jstests/core/top.js # top. + # The following tests fail because mongos behaves differently from mongod when testing certain + # functionality. The differences are in a comment next to the failing test. + - jstests/core/explain_missing_database.js # Behavior with no db different on mongos. + - jstests/core/geo_2d_explain.js # executionSuccess in different spot in explain(). + - jstests/core/geo_s2explain.js # inputStage in different spot in explain(). + - jstests/core/geo_s2sparse.js # keysPerIndex in different spot in validate(). + - jstests/core/operation_latency_histogram.js # Stats are counted differently on mongos, SERVER-24880. + # TODO: SERVER-18292 remove once OP_COMMAND is implemented in mongos. + - jstests/core/invalid_db_name.js + - jstests/core/validate_cmd_ns.js + - jstests/core/views/invalid_system_views.js # We expect listCollections to fail when there's an invalid view. + # TODO: SERVER-27269: mongos can't establish cursor if view has $collStats and views another view. + - jstests/core/views/views_coll_stats.js + - jstests/core/killop_drop_collection.js # Uses fsyncLock. executor: - js_test: - config: - shell_options: - readMode: commands - hooks: - - class: ValidateCollections - - class: CleanEveryN - n: 20 - fixture: - class: ShardedClusterFixture - mongos_options: - bind_ip_all: '' - set_parameters: - enableTestCommands: 1 - mongod_options: - bind_ip_all: '' - set_parameters: - enableTestCommands: 1 - numInitialSyncAttempts: 1 - enable_sharding: - - test + config: + shell_options: + readMode: commands + hooks: + - class: ValidateCollections + - class: CleanEveryN + n: 20 + fixture: + class: ShardedClusterFixture + mongos_options: + bind_ip_all: '' + set_parameters: + enableTestCommands: 1 + mongod_options: + bind_ip_all: '' + set_parameters: + enableTestCommands: 1 + numInitialSyncAttempts: 1 + enable_sharding: + - test diff --git a/buildscripts/resmokeconfig/suites/sharding_last_stable_mongos_and_mixed_shards.yml b/buildscripts/resmokeconfig/suites/sharding_last_stable_mongos_and_mixed_shards.yml index 9c1905b9e61..1aca6af1d0c 100644 --- a/buildscripts/resmokeconfig/suites/sharding_last_stable_mongos_and_mixed_shards.yml +++ b/buildscripts/resmokeconfig/suites/sharding_last_stable_mongos_and_mixed_shards.yml @@ -1,42 +1,42 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/sharding/*.js - exclude_files: - # Doesn't use ShardingTest so won't actually be run in a mixed version configuration - - jstests/sharding/config_version_rollback.js - # Behavior change to addShard - - jstests/sharding/addshard_idempotent.js - # SERVER-29066: Remove when 3.4.5 becomes 'last-stable' - - jstests/sharding/findandmodify1.js - # 3.6 mongods have improved covering behavior for queries on shard key index. Un-blacklist when - # 3.6 becomes 'last-stable'. - - jstests/sharding/covered_shard_key_indexes.js - # Enable when 3.6 becomes last-stable. - - jstests/sharding/views.js - - jstests/sharding/view_rewrite.js - - jstests/sharding/explain_agg_read_pref.js - # New feature in v3.6 mongos - - jstests/sharding/logical_time_metadata.js - # New feature in v3.6 mongos and mongod. - - jstests/sharding/logical_time_api.js - - jstests/sharding/operation_time_api.js - - jstests/sharding/auth_drop_user_while_logged_in.js - # New feature in v3.6 mongo shell. - - jstests/sharding/causal_consistency_shell_support.js - # Changes to currentOp format in 3.6. - - jstests/sharding/features3.js - - jstests/sharding/migration_ignore_interrupts_3.js - - jstests/sharding/migration_ignore_interrupts_4.js - - jstests/sharding/mongos_query_comment.js - - jstests/sharding/sharded_profile.js + roots: + - jstests/sharding/*.js + exclude_files: + # Doesn't use ShardingTest so won't actually be run in a mixed version configuration + - jstests/sharding/config_version_rollback.js + # Behavior change to addShard + - jstests/sharding/addshard_idempotent.js + # SERVER-29066: Remove when 3.4.5 becomes 'last-stable' + - jstests/sharding/findandmodify1.js + # 3.6 mongods have improved covering behavior for queries on shard key index. Un-blacklist when + # 3.6 becomes 'last-stable'. + - jstests/sharding/covered_shard_key_indexes.js + # Enable when 3.6 becomes last-stable. + - jstests/sharding/views.js + - jstests/sharding/view_rewrite.js + - jstests/sharding/explain_agg_read_pref.js + # New feature in v3.6 mongos + - jstests/sharding/logical_time_metadata.js + # New feature in v3.6 mongos and mongod. + - jstests/sharding/logical_time_api.js + - jstests/sharding/operation_time_api.js + - jstests/sharding/auth_drop_user_while_logged_in.js + # New feature in v3.6 mongo shell. + - jstests/sharding/causal_consistency_shell_support.js + # Changes to currentOp format in 3.6. + - jstests/sharding/features3.js + - jstests/sharding/migration_ignore_interrupts_3.js + - jstests/sharding/migration_ignore_interrupts_4.js + - jstests/sharding/mongos_query_comment.js + - jstests/sharding/sharded_profile.js executor: - js_test: - config: - shell_options: - global_vars: - TestData: - mongosBinVersion: 'last-stable' - shardMixedBinVersions: true - nodb: '' + config: + shell_options: + global_vars: + TestData: + mongosBinVersion: 'last-stable' + shardMixedBinVersions: true + nodb: '' diff --git a/buildscripts/resmokeconfig/suites/slow1.yml b/buildscripts/resmokeconfig/suites/slow1.yml index 10c399ec9e5..954c708faa5 100644 --- a/buildscripts/resmokeconfig/suites/slow1.yml +++ b/buildscripts/resmokeconfig/suites/slow1.yml @@ -1,19 +1,19 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/slow1/*.js + roots: + - jstests/slow1/*.js executor: - js_test: - config: - shell_options: - readMode: commands - hooks: - - class: ValidateCollections - - class: CleanEveryN - n: 20 - fixture: - class: MongoDFixture - mongod_options: - set_parameters: - enableTestCommands: 1 + config: + shell_options: + readMode: commands + hooks: + - class: ValidateCollections + - class: CleanEveryN + n: 20 + fixture: + class: MongoDFixture + mongod_options: + set_parameters: + enableTestCommands: 1 diff --git a/buildscripts/resmokeconfig/suites/snmp.yml b/buildscripts/resmokeconfig/suites/snmp.yml index eb9003e15a4..a16076a6d10 100644 --- a/buildscripts/resmokeconfig/suites/snmp.yml +++ b/buildscripts/resmokeconfig/suites/snmp.yml @@ -1,12 +1,12 @@ +test_kind: js_test + selector: - js_test: - roots: - - src/mongo/db/modules/*/jstests/snmp/*.js + roots: + - src/mongo/db/modules/*/jstests/snmp/*.js # snmp tests start their own mongod's. executor: - js_test: - config: - shell_options: - nodb: '' - readMode: commands + config: + shell_options: + nodb: '' + readMode: commands diff --git a/buildscripts/resmokeconfig/suites/ssl.yml b/buildscripts/resmokeconfig/suites/ssl.yml index 06fbd48aef5..fcf9a77738f 100644 --- a/buildscripts/resmokeconfig/suites/ssl.yml +++ b/buildscripts/resmokeconfig/suites/ssl.yml @@ -1,16 +1,16 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/ssl/*.js + roots: + - jstests/ssl/*.js # ssl tests start their own mongod's. executor: - js_test: - config: - shell_options: - nodb: '' - ssl: '' - sslAllowInvalidCertificates: '' - sslCAFile: jstests/libs/ca.pem - sslPEMKeyFile: jstests/libs/client.pem - readMode: commands + config: + shell_options: + nodb: '' + ssl: '' + sslAllowInvalidCertificates: '' + sslCAFile: jstests/libs/ca.pem + sslPEMKeyFile: jstests/libs/client.pem + readMode: commands diff --git a/buildscripts/resmokeconfig/suites/ssl_special.yml b/buildscripts/resmokeconfig/suites/ssl_special.yml index 3f48f2d217a..28013dad8aa 100644 --- a/buildscripts/resmokeconfig/suites/ssl_special.yml +++ b/buildscripts/resmokeconfig/suites/ssl_special.yml @@ -1,12 +1,12 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/sslSpecial/*.js + roots: + - jstests/sslSpecial/*.js # ssl tests start their own mongod's. executor: - js_test: - config: - shell_options: - nodb: '' - readMode: commands + config: + shell_options: + nodb: '' + readMode: commands diff --git a/buildscripts/resmokeconfig/suites/tool.yml b/buildscripts/resmokeconfig/suites/tool.yml index f8b341278db..b96b42d0c9a 100644 --- a/buildscripts/resmokeconfig/suites/tool.yml +++ b/buildscripts/resmokeconfig/suites/tool.yml @@ -1,17 +1,17 @@ +test_kind: js_test + selector: - js_test: - roots: - - jstests/tool/*.js - exclude_files: - # Skip until TOOLS-1371 is resolved. - - jstests/tool/dumprestore_auth.js - - jstests/tool/dumprestore_auth2.js - - jstests/tool/dumprestore_auth3.js + roots: + - jstests/tool/*.js + exclude_files: + # Skip until TOOLS-1371 is resolved. + - jstests/tool/dumprestore_auth.js + - jstests/tool/dumprestore_auth2.js + - jstests/tool/dumprestore_auth3.js # Tool tests start their own mongod's. executor: - js_test: - config: - shell_options: - nodb: '' - readMode: commands + config: + shell_options: + nodb: '' + readMode: commands diff --git a/buildscripts/resmokeconfig/suites/unittests.yml b/buildscripts/resmokeconfig/suites/unittests.yml index c8a259fe19a..5bf28525966 100644 --- a/buildscripts/resmokeconfig/suites/unittests.yml +++ b/buildscripts/resmokeconfig/suites/unittests.yml @@ -1,7 +1,7 @@ +test_kind: cpp_unit_test + selector: - cpp_unit_test: - root: build/unittests.txt + root: build/unittests.txt executor: - cpp_unit_test: - config: {} + config: {} diff --git a/buildscripts/resmokeconfig/suites/unittests_auth.yml b/buildscripts/resmokeconfig/suites/unittests_auth.yml index de3ccbb98cf..86dde627fa4 100644 --- a/buildscripts/resmokeconfig/suites/unittests_auth.yml +++ b/buildscripts/resmokeconfig/suites/unittests_auth.yml @@ -1,9 +1,9 @@ +test_kind: cpp_unit_test + selector: - cpp_unit_test: - root: build/unittests.txt - include_files: - - build/**/auth/* + root: build/unittests.txt + include_files: + - build/**/auth/* executor: - cpp_unit_test: - config: {} + config: {} diff --git a/buildscripts/resmokeconfig/suites/unittests_client.yml b/buildscripts/resmokeconfig/suites/unittests_client.yml index 108aa0d8619..bb1abdad1d6 100644 --- a/buildscripts/resmokeconfig/suites/unittests_client.yml +++ b/buildscripts/resmokeconfig/suites/unittests_client.yml @@ -1,9 +1,9 @@ +test_kind: cpp_unit_test + selector: - cpp_unit_test: - root: build/unittests.txt - include_files: - - build/**/mongo/client/* + root: build/unittests.txt + include_files: + - build/**/mongo/client/* executor: - cpp_unit_test: - config: {} + config: {} diff --git a/buildscripts/resmokeconfig/suites/unittests_query.yml b/buildscripts/resmokeconfig/suites/unittests_query.yml index 13e2a3889cb..c544098ca93 100644 --- a/buildscripts/resmokeconfig/suites/unittests_query.yml +++ b/buildscripts/resmokeconfig/suites/unittests_query.yml @@ -1,9 +1,9 @@ +test_kind: cpp_unit_test + selector: - cpp_unit_test: - root: build/unittests.txt - include_files: - - build/**/query/* + root: build/unittests.txt + include_files: + - build/**/query/* executor: - cpp_unit_test: - config: {} + config: {} diff --git a/buildscripts/resmokeconfig/suites/unittests_repl.yml b/buildscripts/resmokeconfig/suites/unittests_repl.yml index c51718b17b6..eec4d109114 100644 --- a/buildscripts/resmokeconfig/suites/unittests_repl.yml +++ b/buildscripts/resmokeconfig/suites/unittests_repl.yml @@ -1,9 +1,9 @@ +test_kind: cpp_unit_test + selector: - cpp_unit_test: - root: build/unittests.txt - include_files: - - build/**/repl/* + root: build/unittests.txt + include_files: + - build/**/repl/* executor: - cpp_unit_test: - config: {} + config: {} diff --git a/buildscripts/resmokeconfig/suites/unittests_sharding.yml b/buildscripts/resmokeconfig/suites/unittests_sharding.yml index 6b275f41544..19b6f20f04c 100644 --- a/buildscripts/resmokeconfig/suites/unittests_sharding.yml +++ b/buildscripts/resmokeconfig/suites/unittests_sharding.yml @@ -1,9 +1,9 @@ +test_kind: cpp_unit_test + selector: - cpp_unit_test: - root: build/unittests.txt - include_files: - - build/**/s/**/* + root: build/unittests.txt + include_files: + - build/**/s/**/* executor: - cpp_unit_test: - config: {} + config: {} diff --git a/buildscripts/resmokeconfig/suites/with_server.yml b/buildscripts/resmokeconfig/suites/with_server.yml index 28347632778..a384ddb9055 100644 --- a/buildscripts/resmokeconfig/suites/with_server.yml +++ b/buildscripts/resmokeconfig/suites/with_server.yml @@ -1,10 +1,11 @@ +test_kind: js_test + executor: - js_test: - config: - shell_options: - readMode: commands - fixture: - class: MongoDFixture - mongod_options: - set_parameters: - enableTestCommands: 1 + config: + shell_options: + readMode: commands + fixture: + class: MongoDFixture + mongod_options: + set_parameters: + enableTestCommands: 1 diff --git a/buildscripts/resmokelib/parser.py b/buildscripts/resmokelib/parser.py index 0bdaf4782af..91dbe9bf3f9 100644 --- a/buildscripts/resmokelib/parser.py +++ b/buildscripts/resmokelib/parser.py @@ -305,11 +305,10 @@ def create_test_membership_map(fail_on_missing_selector=False): continue raise - for group in suite.test_groups: - for testfile in group.tests: - if isinstance(testfile, dict): - continue - test_membership[testfile].append(suite_name) + for testfile in suite.test_group.tests: + if isinstance(testfile, dict): + continue + test_membership[testfile].append(suite_name) return test_membership @@ -319,17 +318,21 @@ def get_suites(values, args): _config.INTERNAL_EXECUTOR_NAME = values.executor_file - # If there are no suites specified, but there are args, assume they are jstests. + # If there are no suites specified, but args, collect the specified files. if args: - # Do not change the execution order of the jstests passed as args, unless a tag option is + # Do not change the execution order of the tests passed as args, unless a tag option is # specified. If an option is specified, then sort the tests for consistent execution order. _config.ORDER_TESTS_BY_NAME = any(tag_filter is not None for tag_filter in (_config.EXCLUDE_WITH_ANY_TAGS, _config.INCLUDE_WITH_ANY_TAGS)) # No specified config, just use the following, and default the logging and executor. - suite_config = _make_jstests_config(args) + suite_config = _make_config(args) _ensure_executor(suite_config, values.executor_file) - suite = testing.suite.Suite("<jstests>", suite_config) + # The test_kind comes from the executor file. + _ensure_test_kind(suite_config, + _get_yaml_config("executor", values.executor_file), + values.executor_file) + suite = testing.suite.Suite("<%s>" % suite_config["test_kind"], suite_config) return [suite] suite_files = values.suite_files.split(",") @@ -390,41 +393,37 @@ def _get_suite_config(pathname): Attempts to read a YAML configuration from 'pathname' that describes what tests to run and how to run them. """ + return _get_yaml_config("suite", pathname) + + +def _make_config(files): + return {"selector": {"roots": files}} + + +def _ensure_test_kind(suite_config, yaml_config, yaml_file): + if "test_kind" not in yaml_config: + raise ValueError("YAML config file %s missing key 'test_kind'" % (yaml_file)) + suite_config["test_kind"] = yaml_config["test_kind"] + - # Named suites are specified as the basename of the file, without the .yml extension. +def _get_yaml_config(kind, pathname): + # Named executors or suites are specified as the basename of the file, without the .yml + # extension. if not utils.is_yaml_file(pathname) and not os.path.dirname(pathname): if pathname not in resmokeconfig.NAMED_SUITES: - raise optparse.OptionValueError("Unknown suite '%s'" % (pathname)) + raise optparse.OptionValueError("Unknown %s '%s'" % (kind, pathname)) pathname = resmokeconfig.NAMED_SUITES[pathname] # Expand 'pathname' to full path. if not utils.is_yaml_file(pathname) or not os.path.isfile(pathname): - raise optparse.OptionValueError("Expected a suite YAML config, but got '%s'" % (pathname)) - + raise optparse.OptionValueError("Expected a %s YAML config, but got '%s'" + % (kind, pathname)) return utils.load_yaml_file(pathname) -def _make_jstests_config(js_files): - for pathname in js_files: - if not utils.is_js_file(pathname) or not os.path.isfile(pathname): - raise optparse.OptionValueError("Expected a list of JS files, but got '%s'" - % (pathname)) - - return {"selector": {"js_test": {"roots": js_files}}} - - -def _ensure_executor(suite_config, executor_pathname): +def _ensure_executor(suite_config, pathname): if "executor" not in suite_config: # Named executors are specified as the basename of the file, without the .yml extension. - if not utils.is_yaml_file(executor_pathname) and not os.path.dirname(executor_pathname): - if executor_pathname not in resmokeconfig.NAMED_SUITES: - raise optparse.OptionValueError("Unknown executor '%s'" % (executor_pathname)) - executor_pathname = resmokeconfig.NAMED_SUITES[executor_pathname] - - if not utils.is_yaml_file(executor_pathname) or not os.path.isfile(executor_pathname): - raise optparse.OptionValueError("Expected an executor YAML config, but got '%s'" - % (executor_pathname)) - - suite_config["executor"] = utils.load_yaml_file(executor_pathname).pop("executor") + suite_config["executor"] = _get_yaml_config("executor", pathname).pop("executor") def _expand_user(pathname): diff --git a/buildscripts/resmokelib/reportfile.py b/buildscripts/resmokelib/reportfile.py index 7bf288069e2..716f90d8cae 100644 --- a/buildscripts/resmokelib/reportfile.py +++ b/buildscripts/resmokelib/reportfile.py @@ -21,8 +21,7 @@ def write(suites): reports = [] for suite in suites: - for group in suite.test_groups: - reports.extend(group.get_reports()) + reports.extend(suite.test_group.get_reports()) combined_report_dict = _report.TestReport.combine(*reports).as_dict() with open(config.REPORT_FILE, "w") as fp: diff --git a/buildscripts/resmokelib/selector.py b/buildscripts/resmokelib/selector.py index 30cc2d1b31d..ce1cf7ecbfd 100644 --- a/buildscripts/resmokelib/selector.py +++ b/buildscripts/resmokelib/selector.py @@ -88,27 +88,38 @@ def _filter_cpp_tests(kind, root, include_files, exclude_files): def filter_cpp_unit_tests(root=config.DEFAULT_UNIT_TEST_LIST, + roots=None, include_files=None, exclude_files=None): """ Filters out what C++ unit tests to run. """ + # 'roots' is provided only if a file list is given from the command line. + if roots is not None: + return roots return _filter_cpp_tests("C++ unit test", root, include_files, exclude_files) def filter_cpp_integration_tests(root=config.DEFAULT_INTEGRATION_TEST_LIST, + roots=None, include_files=None, exclude_files=None): """ Filters out what C++ integration tests to run. """ + # 'roots' is provided only if a file list is given from the command line. + if roots is not None: + return roots return _filter_cpp_tests("C++ integration test", root, include_files, exclude_files) -def filter_dbtests(binary=None, include_suites=None): +def filter_dbtests(binary=None, roots=None, include_suites=None): """ Filters out what dbtests to run. """ + # 'roots' is provided only if a file list is given from the command line. + if roots is not None: + return roots # TODO: SERVER-22170 Implement full tagging support # If --includeWithAnyTags is supplied, then no tests should be run since diff --git a/buildscripts/resmokelib/testing/suite.py b/buildscripts/resmokelib/testing/suite.py index 11777c0e12f..dbaef7edfdd 100644 --- a/buildscripts/resmokelib/testing/suite.py +++ b/buildscripts/resmokelib/testing/suite.py @@ -17,8 +17,6 @@ class Suite(object): A suite of tests. """ - TESTS_ORDER = ("cpp_unit_test", "cpp_integration_test", "db_test", "js_test", "mongos_test") - def __init__(self, suite_name, suite_config): """ Initializes the suite with the specified name and configuration. @@ -27,13 +25,9 @@ class Suite(object): self._suite_name = suite_name self._suite_config = suite_config - self.test_groups = [] - for test_kind in Suite.TESTS_ORDER: - if test_kind not in suite_config["selector"]: - continue - tests = self._get_tests_for_group(test_kind) - test_group = testgroup.TestGroup(test_kind, tests) - self.test_groups.append(test_group) + test_kind = self.get_test_kind_config() + tests = self._get_tests_for_group(test_kind) + self.test_group = testgroup.TestGroup(test_kind, tests) self.return_code = None @@ -46,7 +40,7 @@ class Suite(object): filtering policy. """ - test_info = self.get_selector_config()[test_kind] + test_info = self.get_selector_config() # The mongos_test doesn't have to filter anything, the test_info is just the arguments to # the mongos program to be used as the test case. @@ -86,6 +80,12 @@ class Suite(object): """ return self._suite_config["executor"] + def get_test_kind_config(self): + """ + Returns the "test_kind" section of the YAML configuration. + """ + return self._suite_config["test_kind"] + def record_start(self): """ Records the start time of the suite. @@ -105,28 +105,19 @@ class Suite(object): # Only set 'return_code' if it hasn't been set already. It may have been set if there was # an exception that happened during the execution of the suite. if self.return_code is None: - # The return code of the suite should be 2 if any test group has a return code of 2. - # The return code of the suite should be 1 if any test group has a return code of 1, - # and none have a return code of 2. Otherwise, the return code should be 0. - self.return_code = max(test_group.return_code for test_group in self.test_groups) + self.return_code = self.test_group.return_code def summarize(self, sb): """ - Appends a summary of each individual test group onto the string - builder 'sb'. + Appends a summary of the test group onto the string builder 'sb'. """ - combined_summary = _summary.Summary(0, 0.0, 0, 0, 0, 0) - - summarized_groups = [] - for group in self.test_groups: - group_sb = [] - summary = group.summarize(group_sb) - summarized_groups.append(" %ss: %s" % (group.test_kind, "\n ".join(group_sb))) + summary = _summary.Summary(0, 0.0, 0, 0, 0, 0) - combined_summary = _summary.combine(combined_summary, summary) + summary = self.test_group.summarize(sb) + summarized_group = " %ss: %s" % (self.test_group.test_kind, "\n ".join(sb)) - if combined_summary.num_run == 0: + if summary.num_run == 0: sb.append("Suite did not run any tests.") return @@ -134,10 +125,9 @@ class Suite(object): # information available. if self._start_time is not None and self._end_time is not None: time_taken = self._end_time - self._start_time - combined_summary = combined_summary._replace(time_taken=time_taken) + summary = summary._replace(time_taken=time_taken) sb.append("%d test(s) ran in %0.2f seconds" - " (%d succeeded, %d were skipped, %d failed, %d errored)" % combined_summary) + " (%d succeeded, %d were skipped, %d failed, %d errored)" % summary) - for summary_text in summarized_groups: - sb.append(summary_text) + sb.append(summarized_group) |