test_kind: js_test selector: roots: - jstests/core/**/*.js exclude_files: # Operations within a transaction do not support write concern. - jstests/core/txns/**/*.js # The shellkillop.js test spawns a parallel shell without using startParallelShell() and therefore # doesn't inherit the w="majority" write concern when performing its writes. - jstests/core/**/shellkillop.js exclude_with_any_tags: - assumes_standalone_mongod ## # The next three tags correspond to the special errors thrown by the # set_read_and_write_concerns.js override when it refuses to replace the readConcern or # writeConcern of a particular command. Above each tag are the message(s) that cause the tag to be # warranted. ## # "Cowardly refusing to override read concern of command: ..." - assumes_read_concern_unchanged # "Cowardly refusing to override write concern of command: ..." - assumes_write_concern_unchanged ## # The next tag corresponds to the special error thrown by the set_read_preference_secondary.js # override when it refuses to replace the readPreference of a particular command. Above each tag # are the message(s) that cause the tag to be warranted. ## # "Cowardly refusing to override read preference of command: ..." # "Cowardly refusing to run test with overridden read preference when it reads from a # non-replicated collection: ..." - assumes_read_preference_unchanged # These tests attempt to read from the "system.profile" collection, which may be missing entries # if a write was performed on the primary of the replica set instead. - requires_profiling executor: archive: hooks: - CheckReplDBHash - CheckReplOplogs - ValidateCollections config: shell_options: global_vars: TestData: defaultReadConcernLevel: local eval: >- testingReplication = true; load('jstests/libs/override_methods/set_read_and_write_concerns.js'); load('jstests/libs/override_methods/set_read_preference_secondary.js'); hooks: # The CheckReplDBHash hook waits until all operations have replicated to and have been applied # on the secondaries, so we run the ValidateCollections hook after it to ensure we're # validating the entire contents of the collection. - class: CheckReplOplogs - class: CheckReplDBHash - class: ValidateCollections - class: CleanEveryN n: 20 fixture: class: ReplicaSetFixture mongod_options: set_parameters: enableTestCommands: 1 # This suite requires w="majority" writes to be applied on all secondaries. By using a 2-node # replica set and having secondaries vote, the majority of the replica set is all nodes. num_nodes: 2 use_replica_set_connection_string: true