diff options
Diffstat (limited to 'jstests')
87 files changed, 342 insertions, 117 deletions
diff --git a/jstests/aggregation/bugs/cursor_timeout.js b/jstests/aggregation/bugs/cursor_timeout.js index 817465a0218..f579fba407d 100644 --- a/jstests/aggregation/bugs/cursor_timeout.js +++ b/jstests/aggregation/bugs/cursor_timeout.js @@ -2,6 +2,9 @@ * Tests that an aggregation cursor is killed when it is timed out by the ClientCursorMonitor. * * This test was designed to reproduce SERVER-25585. + * @tags: [ + * requires_spawning_own_processes, + * ] */ (function() { 'use strict'; diff --git a/jstests/aggregation/bugs/lookup_unwind_getmore.js b/jstests/aggregation/bugs/lookup_unwind_getmore.js index 9eaece9bfe8..3ba7dbf4007 100644 --- a/jstests/aggregation/bugs/lookup_unwind_getmore.js +++ b/jstests/aggregation/bugs/lookup_unwind_getmore.js @@ -3,6 +3,9 @@ * changes as it unwinds the results. * * This test was designed to reproduce SERVER-22537. + * @tags: [ + * requires_spawning_own_processes, + * ] */ (function() { 'use strict'; diff --git a/jstests/aggregation/bugs/lookup_unwind_killcursor.js b/jstests/aggregation/bugs/lookup_unwind_killcursor.js index 503bbf70e8d..45da6350c2f 100644 --- a/jstests/aggregation/bugs/lookup_unwind_killcursor.js +++ b/jstests/aggregation/bugs/lookup_unwind_killcursor.js @@ -3,6 +3,9 @@ * client for the aggregation pipeline is killed. * * This test was designed to reproduce SERVER-24386. + * @tags: [ + * requires_spawning_own_processes, + * ] */ (function() { 'use strict'; diff --git a/jstests/aggregation/bugs/server3253.js b/jstests/aggregation/bugs/server3253.js index 51e355cad0b..5df6736e88f 100644 --- a/jstests/aggregation/bugs/server3253.js +++ b/jstests/aggregation/bugs/server3253.js @@ -1,6 +1,9 @@ // Cannot implicitly shard accessed collections because unsupported use of sharded collection // for output collection of aggregation pipeline. -// @tags: [assumes_unsharded_collection] +// @tags: [ +// assumes_superuser_permissions, +// assumes_unsharded_collection, +// ] // server-3253 Unsharded support for $out load('jstests/aggregation/extras/utils.js'); diff --git a/jstests/aggregation/bugs/server6179.js b/jstests/aggregation/bugs/server6179.js index 2e8a3445004..a5e934a9e89 100644 --- a/jstests/aggregation/bugs/server6179.js +++ b/jstests/aggregation/bugs/server6179.js @@ -1,5 +1,8 @@ // SERVER-6179: support for two $groups in sharded agg -// @tags: [requires_sharding] +// @tags: [ +// requires_sharding, +// requires_spawning_own_processes, +// ] (function() { 'use strict'; diff --git a/jstests/aggregation/bugs/server7781.js b/jstests/aggregation/bugs/server7781.js index 9f227513c87..f755a6af0ad 100644 --- a/jstests/aggregation/bugs/server7781.js +++ b/jstests/aggregation/bugs/server7781.js @@ -1,5 +1,8 @@ // SERVER-7781 $geoNear pipeline stage -// @tags: [requires_sharding] +// @tags: [ +// requires_sharding, +// requires_spawning_own_processes, +// ] (function() { 'use strict'; diff --git a/jstests/aggregation/mongos_merge.js b/jstests/aggregation/mongos_merge.js index ecd40b782b9..67a6d433312 100644 --- a/jstests/aggregation/mongos_merge.js +++ b/jstests/aggregation/mongos_merge.js @@ -10,7 +10,11 @@ * and will therefore invalidate the results of the test cases below, we tag this test to prevent it * running under the 'aggregation_facet_unwind' passthrough. * - * @tags: [do_not_wrap_aggregations_in_facets, requires_sharding] + * @tags: [ + * do_not_wrap_aggregations_in_facets, + * requires_sharding, + * requires_spawning_own_processes, + * ] */ (function() { diff --git a/jstests/aggregation/mongos_slaveok.js b/jstests/aggregation/mongos_slaveok.js index 9261bf6c594..24346e407f0 100644 --- a/jstests/aggregation/mongos_slaveok.js +++ b/jstests/aggregation/mongos_slaveok.js @@ -1,7 +1,11 @@ /** * Tests aggregate command against mongos with slaveOk. For more tests on read preference, * please refer to jstests/sharding/read_pref_cmd.js. - * @tags: [requires_sharding, requires_replication] + * @tags: [ + * requires_replication, + * requires_sharding, + * requires_spawning_own_processes, + * ] */ (function() { load('jstests/replsets/rslib.js'); diff --git a/jstests/aggregation/shard_targeting.js b/jstests/aggregation/shard_targeting.js index 48e2f3791ca..800357ab324 100644 --- a/jstests/aggregation/shard_targeting.js +++ b/jstests/aggregation/shard_targeting.js @@ -15,7 +15,11 @@ * and will therefore invalidate the results of the test cases below, we tag this test to prevent it * running under the 'aggregation_facet_unwind' passthrough. * - * @tags: [do_not_wrap_aggregations_in_facets, requires_sharding] + * @tags: [ + * do_not_wrap_aggregations_in_facets, + * requires_sharding, + * requires_spawning_own_processes, + * ] */ (function() { load("jstests/libs/profiler.js"); // For profilerHas*OrThrow helper functions. diff --git a/jstests/aggregation/sources/addFields/use_cases.js b/jstests/aggregation/sources/addFields/use_cases.js index 8857c3b9e66..b6f92fdb7b7 100644 --- a/jstests/aggregation/sources/addFields/use_cases.js +++ b/jstests/aggregation/sources/addFields/use_cases.js @@ -2,7 +2,10 @@ * $addFields can be used to add fixed and computed fields to documents while preserving the * original document. Verify that using $addFields and adding computed fields in a $project yield * the same result. - * @tags: [requires_sharding] + * @tags: [ + * requires_sharding, + * requires_spawning_own_processes, + * ] */ (function() { diff --git a/jstests/aggregation/sources/addFields/weather.js b/jstests/aggregation/sources/addFields/weather.js index 93b0f503287..79916ee13d6 100644 --- a/jstests/aggregation/sources/addFields/weather.js +++ b/jstests/aggregation/sources/addFields/weather.js @@ -2,7 +2,10 @@ * $addFields can be used to add fixed and computed fields to documents while preserving the * original document. Verify that using $addFields and adding computed fields in a $project yield * the same result. Use the sample case of computing weather metadata. - * @tags: [requires_sharding] + * @tags: [ + * requires_sharding, + * requires_spawning_own_processes, + * ] */ (function() { diff --git a/jstests/aggregation/sources/collStats/shard_host_info.js b/jstests/aggregation/sources/collStats/shard_host_info.js index 6151ec302fa..34e1d8a195e 100644 --- a/jstests/aggregation/sources/collStats/shard_host_info.js +++ b/jstests/aggregation/sources/collStats/shard_host_info.js @@ -1,7 +1,10 @@ /** * Verifies that the $collStats aggregation stage includes the shard and hostname for each output * document when run via mongoS, and that the former is absent when run on a non-shard mongoD. - * @tags: [requires_sharding] + * @tags: [ + * requires_sharding, + * requires_spawning_own_processes, + * ] */ (function() { "use strict"; diff --git a/jstests/aggregation/sources/facet/use_cases.js b/jstests/aggregation/sources/facet/use_cases.js index a54f4c3674f..a6f1def408e 100644 --- a/jstests/aggregation/sources/facet/use_cases.js +++ b/jstests/aggregation/sources/facet/use_cases.js @@ -1,6 +1,9 @@ /** * Tests some practical use cases of the $facet stage. - * @tags: [requires_sharding] + * @tags: [ + * requires_sharding, + * requires_spawning_own_processes, + * ] */ (function() { "use strict"; diff --git a/jstests/aggregation/sources/replaceRoot/address.js b/jstests/aggregation/sources/replaceRoot/address.js index 2f04d7bd9ec..5cfe51856cd 100644 --- a/jstests/aggregation/sources/replaceRoot/address.js +++ b/jstests/aggregation/sources/replaceRoot/address.js @@ -1,6 +1,9 @@ /** * $replaceRoot can be used to extract parts of a document; here we test a simple address case. - * @tags: [requires_sharding] + * @tags: [ + * requires_sharding, + * requires_spawning_own_processes, + * ] */ (function() { diff --git a/jstests/aggregation/testSlave.js b/jstests/aggregation/testSlave.js index ce6ee597218..1b3d302be95 100644 --- a/jstests/aggregation/testSlave.js +++ b/jstests/aggregation/testSlave.js @@ -1,5 +1,8 @@ // This test just make sure that aggregation is possible on a secondary node. -// @tags: [requires_replication] +// @tags: [ +// requires_replication, +// requires_spawning_own_processes, +// ] var replTest = new ReplSetTest({name: 'aggTestSlave', nodes: 2}); var nodes = replTest.startSet(); replTest.initiate(); diff --git a/jstests/change_streams/lookup_post_image.js b/jstests/change_streams/lookup_post_image.js index 7d1a0a1a457..be267f5feea 100644 --- a/jstests/change_streams/lookup_post_image.js +++ b/jstests/change_streams/lookup_post_image.js @@ -1,7 +1,10 @@ // Tests the 'fullDocument' argument to the $changeStream stage. // // The $changeStream stage is not allowed within a $facet stage. -// @tags: [do_not_wrap_aggregations_in_facets] +// @tags: [ +// do_not_wrap_aggregations_in_facets, +// uses_multiple_connections, +// ] (function() { "use strict"; diff --git a/jstests/change_streams/only_wake_getmore_for_relevant_changes.js b/jstests/change_streams/only_wake_getmore_for_relevant_changes.js index 63be5783fa5..19f5433c8e9 100644 --- a/jstests/change_streams/only_wake_getmore_for_relevant_changes.js +++ b/jstests/change_streams/only_wake_getmore_for_relevant_changes.js @@ -1,4 +1,7 @@ // Test that an insert to an unrelated collection will not cause a $changeStream getMore to +// @tags: [ +// uses_multiple_connections, +// ] // return early. (function() { "use strict"; diff --git a/jstests/core/apply_ops1.js b/jstests/core/apply_ops1.js index 0dc0586e43e..dd2e4ceb79b 100644 --- a/jstests/core/apply_ops1.js +++ b/jstests/core/apply_ops1.js @@ -1,9 +1,9 @@ // @tags: [ -// requires_non_retryable_commands, -// requires_fastcount, -// -// # applyOps uses the oplog that require replication support -// requires_replication, +// assumes_superuser_permissions, +// requires_fastcount, +// requires_non_retryable_commands, +// # applyOps uses the oplog that require replication support +// requires_replication, // ] (function() { diff --git a/jstests/core/auth1.js b/jstests/core/auth1.js index 4f2a869ab44..a71f35fb747 100644 --- a/jstests/core/auth1.js +++ b/jstests/core/auth1.js @@ -1,4 +1,5 @@ // @tags: [ +// assumes_superuser_permissions, // assumes_write_concern_unchanged, // creates_and_authenticates_user, // requires_auth, diff --git a/jstests/core/automation_setparameter.js b/jstests/core/automation_setparameter.js index d2bc41b676a..5e8ea62f338 100644 --- a/jstests/core/automation_setparameter.js +++ b/jstests/core/automation_setparameter.js @@ -1,4 +1,7 @@ -// @tags: [does_not_support_stepdowns] +// @tags: [ +// assumes_superuser_permissions, +// does_not_support_stepdowns, +// ] // Tests that using setParameter to update the parameter 'automationServiceDescriptor' causes a // field with that name to be echoed back in isMaster. See SERVER-18399 for more details. diff --git a/jstests/core/awaitdata_getmore_cmd.js b/jstests/core/awaitdata_getmore_cmd.js index 1b417e7a8f1..11e178f0136 100644 --- a/jstests/core/awaitdata_getmore_cmd.js +++ b/jstests/core/awaitdata_getmore_cmd.js @@ -5,8 +5,9 @@ // # former operation may be routed to a secondary in the replica set, whereas the latter must be // # routed to the primary. // assumes_read_preference_unchanged, -// requires_getmore, // requires_capped, +// requires_getmore, +// uses_multiple_connections, // ] (function() { diff --git a/jstests/core/bench_test1.js b/jstests/core/bench_test1.js index 2f35be513fc..683b5be4713 100644 --- a/jstests/core/bench_test1.js +++ b/jstests/core/bench_test1.js @@ -1,6 +1,9 @@ // Cannot implicitly shard accessed collections because of extra shard key index in sharded // collection. -// @tags: [assumes_no_implicit_index_creation] +// @tags: [ +// assumes_no_implicit_index_creation, +// uses_multiple_connections, +// ] t = db.bench_test1; t.drop(); diff --git a/jstests/core/bench_test2.js b/jstests/core/bench_test2.js index a5918a5de1f..566a91f6592 100644 --- a/jstests/core/bench_test2.js +++ b/jstests/core/bench_test2.js @@ -1,4 +1,9 @@ +/** + * @tags: [ + * uses_multiple_connections, + * ] + */ t = db.bench_test2; t.drop(); diff --git a/jstests/core/bench_test3.js b/jstests/core/bench_test3.js index e10a65eee07..312618a34c6 100644 --- a/jstests/core/bench_test3.js +++ b/jstests/core/bench_test3.js @@ -1,3 +1,8 @@ +/** + * @tags: [ + * uses_multiple_connections, + * ] + */ t = db.bench_test3; t.drop(); diff --git a/jstests/core/capped6.js b/jstests/core/capped6.js index 8d725c5e79c..6955f65662a 100644 --- a/jstests/core/capped6.js +++ b/jstests/core/capped6.js @@ -5,9 +5,10 @@ // # documents using the captrunc command. The former operations may be routed to a secondary in // # the replica set, whereas the latter must be routed to the primary. // assumes_read_preference_unchanged, -// requires_non_retryable_commands, -// requires_fastcount, // requires_capped, +// requires_fastcount, +// requires_non_retryable_commands, +// uses_testing_only_commands, // ] (function() { var coll = db.capped6; diff --git a/jstests/core/capped_empty.js b/jstests/core/capped_empty.js index 2b10a513b4d..ca342040630 100644 --- a/jstests/core/capped_empty.js +++ b/jstests/core/capped_empty.js @@ -1,4 +1,9 @@ -// @tags: [requires_non_retryable_commands, requires_fastcount, requires_capped] +// @tags: [ +// requires_capped, +// requires_fastcount, +// requires_non_retryable_commands, +// uses_testing_only_commands, +// ] t = db.capped_empty; t.drop(); diff --git a/jstests/core/capped_update.js b/jstests/core/capped_update.js index 47e938cb210..b75ecb8243e 100644 --- a/jstests/core/capped_update.js +++ b/jstests/core/capped_update.js @@ -2,7 +2,10 @@ * Tests various update scenarios on capped collections: * -- SERVER-20529: Ensure capped document sizes do not change * -- SERVER-11983: Don't create _id field on capped updates - * @tags: [requires_capped] + * @tags: [ + * requires_capped, + * uses_testing_only_commands, + * ] */ (function() { 'use strict'; diff --git a/jstests/core/collection_truncate.js b/jstests/core/collection_truncate.js index dc97c5d5b38..66b6d44db59 100644 --- a/jstests/core/collection_truncate.js +++ b/jstests/core/collection_truncate.js @@ -1,4 +1,8 @@ -// @tags: [requires_non_retryable_commands, requires_collstats] +// @tags: [ +// requires_collstats, +// requires_non_retryable_commands, +// uses_testing_only_commands, +// ] // SERVER-15033 truncate on a regular collection diff --git a/jstests/core/commands_namespace_parsing.js b/jstests/core/commands_namespace_parsing.js index db61de2b07b..ab9750bfbb5 100644 --- a/jstests/core/commands_namespace_parsing.js +++ b/jstests/core/commands_namespace_parsing.js @@ -4,9 +4,10 @@ // @tags: [ // assumes_unsharded_collection, // does_not_support_stepdowns, +// requires_fastcount, // requires_getmore, // requires_non_retryable_commands, -// requires_fastcount, +// uses_testing_only_commands, // ] // This file tests that commands namespace parsing rejects embedded null bytes. diff --git a/jstests/core/compact_keeps_indexes.js b/jstests/core/compact_keeps_indexes.js index 71969d2e005..1a050d27469 100644 --- a/jstests/core/compact_keeps_indexes.js +++ b/jstests/core/compact_keeps_indexes.js @@ -2,8 +2,9 @@ // SERVER-16967 Make sure compact doesn't crash while collections are being dropped // in a different database. // @tags: [ -// # compact command is not available on embedded -// incompatible_with_embedded +// # compact command is not available on embedded +// incompatible_with_embedded, +// uses_multiple_connections, // ] (function() { diff --git a/jstests/core/connection_status.js b/jstests/core/connection_status.js index 33d11149657..efb3eb3fd4f 100644 --- a/jstests/core/connection_status.js +++ b/jstests/core/connection_status.js @@ -1,9 +1,10 @@ // @tags: [ -// assumes_write_concern_unchanged, -// creates_and_authenticates_user, -// requires_auth, -// requires_non_retryable_commands, -// ] +// assumes_superuser_permissions, +// assumes_write_concern_unchanged, +// creates_and_authenticates_user, +// requires_auth, +// requires_non_retryable_commands, +// ] // Tests the connectionStatus command (function() { diff --git a/jstests/core/connection_string_validation.js b/jstests/core/connection_string_validation.js index d10f9b70164..742206ef052 100644 --- a/jstests/core/connection_string_validation.js +++ b/jstests/core/connection_string_validation.js @@ -1,4 +1,7 @@ // Test validation of connection strings passed to the JavaScript "connect()" function. +// @tags: [ +// uses_multiple_connections, +// ] // Related to SERVER-8030. port = "27017"; diff --git a/jstests/core/count10.js b/jstests/core/count10.js index 007c4e6918b..63c788c15a6 100644 --- a/jstests/core/count10.js +++ b/jstests/core/count10.js @@ -6,9 +6,9 @@ // # routed to the primary. // assumes_read_preference_unchanged, // does_not_support_stepdowns, -// // # Uses $where operator // requires_scripting, +// uses_multiple_connections, // ] t = db.count10; diff --git a/jstests/core/count_plan_summary.js b/jstests/core/count_plan_summary.js index 79c6712a7f9..ed30956d917 100644 --- a/jstests/core/count_plan_summary.js +++ b/jstests/core/count_plan_summary.js @@ -6,9 +6,9 @@ // # routed to the primary. // assumes_read_preference_unchanged, // does_not_support_stepdowns, -// // # Uses $where operator // requires_scripting, +// uses_multiple_connections, // ] var t = db.jstests_count_plan_summary; diff --git a/jstests/core/create_indexes.js b/jstests/core/create_indexes.js index f6e38ea20fc..45db4c9ef76 100644 --- a/jstests/core/create_indexes.js +++ b/jstests/core/create_indexes.js @@ -1,3 +1,8 @@ +/** + * @tags: [ + * assumes_superuser_permissions, + * ] + */ (function() { 'use strict'; diff --git a/jstests/core/currentop.js b/jstests/core/currentop.js index e4c94dd67ea..9345f900596 100644 --- a/jstests/core/currentop.js +++ b/jstests/core/currentop.js @@ -2,8 +2,9 @@ * Tests that long-running operations show up in currentOp and report the locks they are holding. * * @tags: [ - * # fsync command is not available on embedded - * incompatible_with_embedded + * assumes_superuser_permissions, + * # fsync command is not available on embedded + * incompatible_with_embedded, * ] */ diff --git a/jstests/core/cursora.js b/jstests/core/cursora.js index 153e2929593..93113055497 100644 --- a/jstests/core/cursora.js +++ b/jstests/core/cursora.js @@ -1,10 +1,10 @@ // @tags: [ -// requires_getmore, -// requires_non_retryable_writes, -// requires_fastcount, -// -// # Uses $where operator -// requires_scripting, +// requires_fastcount, +// requires_getmore, +// requires_non_retryable_writes, +// # Uses $where operator +// requires_scripting, +// uses_multiple_connections, // ] (function() { diff --git a/jstests/core/dbhash2.js b/jstests/core/dbhash2.js index 93c78a35f26..39860cc225b 100644 --- a/jstests/core/dbhash2.js +++ b/jstests/core/dbhash2.js @@ -1,6 +1,7 @@ // @tags: [ -// # dbhash command is not available on embedded -// incompatible_with_embedded, +// assumes_superuser_permissions, +// # dbhash command is not available on embedded +// incompatible_with_embedded, // ] mydb = db.getSisterDB("config"); diff --git a/jstests/core/distinct3.js b/jstests/core/distinct3.js index 94a289c8fa6..23557820bec 100644 --- a/jstests/core/distinct3.js +++ b/jstests/core/distinct3.js @@ -1,4 +1,7 @@ -// @tags: [requires_non_retryable_writes] +// @tags: [ +// requires_non_retryable_writes, +// uses_multiple_connections, +// ] // Yield and delete test case for query optimizer cursor. SERVER-4401 diff --git a/jstests/core/dropdb_race.js b/jstests/core/dropdb_race.js index 40557dc8551..8ec97188639 100644 --- a/jstests/core/dropdb_race.js +++ b/jstests/core/dropdb_race.js @@ -1,6 +1,7 @@ // test dropping a db with simultaneous commits // // @tags: [ +// assumes_superuser_permissions, // assumes_write_concern_unchanged, // does_not_support_stepdowns, // ] diff --git a/jstests/core/find_and_modify_concurrent_update.js b/jstests/core/find_and_modify_concurrent_update.js index 52916f4c9b8..80b737cfbed 100644 --- a/jstests/core/find_and_modify_concurrent_update.js +++ b/jstests/core/find_and_modify_concurrent_update.js @@ -1,11 +1,11 @@ // @tags: [ -// # Cannot implicitly shard accessed collections because of following errmsg: A single -// # update/delete on a sharded collection must contain an exact match on _id or contain the -// # shard key. -// assumes_unsharded_collection, -// -// # Uses $where operator -// requires_scripting, +// # Cannot implicitly shard accessed collections because of following errmsg: A single +// # update/delete on a sharded collection must contain an exact match on _id or contain the shard +// # key. +// assumes_unsharded_collection, +// # Uses $where operator +// requires_scripting, +// uses_multiple_connections, // ] // Ensures that find and modify will not apply an update to a document which, due to a concurrent diff --git a/jstests/core/geo_update_btree.js b/jstests/core/geo_update_btree.js index 6aa12733654..476921b5c2f 100644 --- a/jstests/core/geo_update_btree.js +++ b/jstests/core/geo_update_btree.js @@ -3,6 +3,7 @@ // @tags: [ // assumes_write_concern_unchanged, // requires_non_retryable_writes, +// uses_multiple_connections, // ] var coll = db.getCollection("jstests_geo_update_btree"); diff --git a/jstests/core/geo_update_btree2.js b/jstests/core/geo_update_btree2.js index 972b579163d..1d25ba3d7c8 100644 --- a/jstests/core/geo_update_btree2.js +++ b/jstests/core/geo_update_btree2.js @@ -1,4 +1,9 @@ -// @tags: [does_not_support_stepdowns, requires_getmore, requires_non_retryable_writes] +// @tags: [ +// assumes_superuser_permissions, +// does_not_support_stepdowns, +// requires_getmore, +// requires_non_retryable_writes, +// ] // Tests whether the geospatial search is stable under btree updates // diff --git a/jstests/core/insert2.js b/jstests/core/insert2.js index 6c6141f8cb9..6052f1eeb8d 100644 --- a/jstests/core/insert2.js +++ b/jstests/core/insert2.js @@ -1,6 +1,10 @@ // Cannot implicitly shard accessed collections because of collection existing when none // expected. -// @tags: [assumes_no_implicit_collection_creation_after_drop, requires_collstats] +// @tags: [ +// assumes_no_implicit_collection_creation_after_drop, +// requires_collstats, +// uses_multiple_connections, +// ] // Create a new connection object so it won't affect the global connection when we modify // it's settings. diff --git a/jstests/core/kill_cursors.js b/jstests/core/kill_cursors.js index a45ac60596a..096d8962d2a 100644 --- a/jstests/core/kill_cursors.js +++ b/jstests/core/kill_cursors.js @@ -1,4 +1,7 @@ -// @tags: [does_not_support_stepdowns] +// @tags: [ +// does_not_support_stepdowns, +// uses_testing_only_commands, +// ] // // Does not support stepdowns because if a stepdown were to occur between running find() and // calling killCursors on the cursor ID returned by find(), the killCursors might be sent to diff --git a/jstests/core/killop_drop_collection.js b/jstests/core/killop_drop_collection.js index ce263201ca0..621b5c4ace9 100644 --- a/jstests/core/killop_drop_collection.js +++ b/jstests/core/killop_drop_collection.js @@ -5,8 +5,9 @@ * successfully. * * @tags: [ - * # Uses index building in background - * requires_background_index, + * assumes_superuser_permissions, + * # Uses index building in background + * requires_background_index, * ] */ (function() { diff --git a/jstests/core/list_all_sessions.js b/jstests/core/list_all_sessions.js index 57dcd1f2490..88bd83da628 100644 --- a/jstests/core/list_all_sessions.js +++ b/jstests/core/list_all_sessions.js @@ -1,6 +1,9 @@ // Sessions are asynchronously flushed to disk, so a stepdown immediately after calling // startSession may cause this test to fail to find the returned sessionId. -// @tags: [does_not_support_stepdowns] +// @tags: [ +// does_not_support_stepdowns, +// uses_testing_only_commands, +// ] // Basic tests for the $listSessions {allUsers:true} aggregation stage. diff --git a/jstests/core/list_collections_no_views.js b/jstests/core/list_collections_no_views.js index b380f8c3db6..1b454eb7978 100644 --- a/jstests/core/list_collections_no_views.js +++ b/jstests/core/list_collections_no_views.js @@ -1,4 +1,7 @@ // SERVER-25942 Test that views are not validated in the case that only collections are queried. +// @tags: [ +// assumes_superuser_permissions, +// ] (function() { 'use strict'; let mydb = db.getSiblingDB('list_collections_no_views'); diff --git a/jstests/core/list_sessions.js b/jstests/core/list_sessions.js index 552d661d606..9b04d3c1aa5 100644 --- a/jstests/core/list_sessions.js +++ b/jstests/core/list_sessions.js @@ -1,6 +1,9 @@ // Sessions are asynchronously flushed to disk, so a stepdown immediately after calling // startSession may cause this test to fail to find the returned sessionId. -// @tags: [does_not_support_stepdowns] +// @tags: [ +// does_not_support_stepdowns, +// uses_testing_only_commands, +// ] // Basic tests for the $listSessions aggregation stage. diff --git a/jstests/core/loadserverscripts.js b/jstests/core/loadserverscripts.js index 459daea093d..a2373a33dc8 100644 --- a/jstests/core/loadserverscripts.js +++ b/jstests/core/loadserverscripts.js @@ -1,4 +1,8 @@ -// @tags: [requires_non_retryable_writes, requires_fastcount] +// @tags: [ +// requires_fastcount, +// requires_non_retryable_writes, +// uses_multiple_connections, +// ] // Test db.loadServerScripts() diff --git a/jstests/core/logprocessdetails.js b/jstests/core/logprocessdetails.js index 1987393341e..7357798c9b7 100644 --- a/jstests/core/logprocessdetails.js +++ b/jstests/core/logprocessdetails.js @@ -1,4 +1,7 @@ -// @tags: [does_not_support_stepdowns] +// @tags: [ +// assumes_superuser_permissions, +// does_not_support_stepdowns, +// ] /** * SERVER-7140 test. Checks that process info is re-logged on log rotation diff --git a/jstests/core/max_time_ms.js b/jstests/core/max_time_ms.js index 0c2d84bd3cd..b6d9477c310 100644 --- a/jstests/core/max_time_ms.js +++ b/jstests/core/max_time_ms.js @@ -5,11 +5,11 @@ // # failpoint. The former operations may be routed to a secondary in the replica set, whereas the // # latter must be routed to the primary. // assumes_read_preference_unchanged, -// requires_getmore, // requires_fastcount, -// +// requires_getmore, // # Uses $where operator // requires_scripting, +// uses_testing_only_commands, // ] var t = db.max_time_ms; diff --git a/jstests/core/mr_killop.js b/jstests/core/mr_killop.js index f2bf64fba2c..bbe7fe509fa 100644 --- a/jstests/core/mr_killop.js +++ b/jstests/core/mr_killop.js @@ -1,7 +1,11 @@ // Cannot implicitly shard accessed collections because the "command" field in the currentOp() // output is reported as {"mapreduce.shardedfinish": { mapreduce: "jstests_mr_killop", ... }, ... } // when the "finalize" option to the "mapReduce" command is used on a sharded collection. -// @tags: [assumes_unsharded_collection, does_not_support_stepdowns] +// @tags: [ +// assumes_unsharded_collection, +// does_not_support_stepdowns, +// uses_multiple_connections, +// ] // Test killop applied to m/r operations and child ops of m/r operations. diff --git a/jstests/core/notablescan.js b/jstests/core/notablescan.js index 69da1e9c547..d9917af5889 100644 --- a/jstests/core/notablescan.js +++ b/jstests/core/notablescan.js @@ -5,6 +5,7 @@ // # parameter. The former operations may be routed to a secondary in the replica set, whereas the // # latter must be routed to the primary. // assumes_read_preference_unchanged, +// assumes_superuser_permissions, // does_not_support_stepdowns, // ] diff --git a/jstests/core/opcounters_write_cmd.js b/jstests/core/opcounters_write_cmd.js index 0baaa7e260e..2aef8fe72c5 100644 --- a/jstests/core/opcounters_write_cmd.js +++ b/jstests/core/opcounters_write_cmd.js @@ -1,4 +1,7 @@ // Test that opcounters get incremented properly. +// @tags: [ +// uses_multiple_connections, +// ] // Legacy write mode test also available at jstests/gle. var mongo = new Mongo(db.getMongo().host); diff --git a/jstests/core/profile1.js b/jstests/core/profile1.js index 76c82e52a09..09f1655937c 100644 --- a/jstests/core/profile1.js +++ b/jstests/core/profile1.js @@ -1,4 +1,5 @@ // @tags: [ +// assumes_superuser_permissions, // creates_and_authenticates_user, // does_not_support_stepdowns, // requires_capped, diff --git a/jstests/core/profile3.js b/jstests/core/profile3.js index b59e0b1f674..71baa67e563 100644 --- a/jstests/core/profile3.js +++ b/jstests/core/profile3.js @@ -1,4 +1,8 @@ -// @tags: [requires_profiling, creates_and_authenticates_user] +// @tags: [ +// assumes_superuser_permissions, +// creates_and_authenticates_user, +// requires_profiling, +// ] // special db so that it can be run in parallel tests var stddb = db; var db = db.getSisterDB("profile3"); diff --git a/jstests/core/queryoptimizer3.js b/jstests/core/queryoptimizer3.js index d5a1b856d95..277ad738ce1 100644 --- a/jstests/core/queryoptimizer3.js +++ b/jstests/core/queryoptimizer3.js @@ -6,7 +6,11 @@ // starved frequently. // Note: this tag can be safely removed once PM-697 is complete and replaces distlocks with a // LockManager that has a fairness policy, which distlocks lack. -// @tags: [assumes_against_mongod_not_mongos, requires_non_retryable_writes] +// @tags: [ +// assumes_against_mongod_not_mongos, +// requires_non_retryable_writes, +// uses_multiple_connections, +// ] (function() { 'use strict'; diff --git a/jstests/core/remove9.js b/jstests/core/remove9.js index 138df6647be..8762e3944ff 100644 --- a/jstests/core/remove9.js +++ b/jstests/core/remove9.js @@ -1,4 +1,8 @@ -// @tags: [requires_getmore, requires_non_retryable_writes] +// @tags: [ +// requires_getmore, +// requires_non_retryable_writes, +// uses_multiple_connections, +// ] // SERVER-2009 Count odd numbered entries while updating and deleting even numbered entries. diff --git a/jstests/core/removeb.js b/jstests/core/removeb.js index d73e9394d3b..4cf00d46ffa 100644 --- a/jstests/core/removeb.js +++ b/jstests/core/removeb.js @@ -1,4 +1,8 @@ -// @tags: [requires_non_retryable_writes, requires_fastcount] +// @tags: [ +// requires_fastcount, +// requires_non_retryable_writes, +// uses_multiple_connections, +// ] // Test removal of Records that have been reused since the remove operation began. SERVER-5198 diff --git a/jstests/core/removec.js b/jstests/core/removec.js index 64d486285e9..0e5d3e65ad2 100644 --- a/jstests/core/removec.js +++ b/jstests/core/removec.js @@ -1,4 +1,7 @@ -// @tags: [requires_non_retryable_writes] +// @tags: [ +// requires_non_retryable_writes, +// uses_multiple_connections, +// ] // Sanity test for removing documents with adjacent index keys. SERVER-2008 diff --git a/jstests/core/rename8.js b/jstests/core/rename8.js index 923b0a52cec..8a775bafecb 100644 --- a/jstests/core/rename8.js +++ b/jstests/core/rename8.js @@ -1,4 +1,7 @@ -// @tags: [requires_non_retryable_commands] +// @tags: [ +// assumes_superuser_permissions, +// requires_non_retryable_commands, +// ] // SERVER-12591: prevent renaming to arbitrary system collections. diff --git a/jstests/core/role_management_helpers.js b/jstests/core/role_management_helpers.js index 445d85cc74e..b0f1762acf9 100644 --- a/jstests/core/role_management_helpers.js +++ b/jstests/core/role_management_helpers.js @@ -1,7 +1,8 @@ // @tags: [ -// requires_non_retryable_commands, -// requires_auth, -// assumes_write_concern_unchanged, +// assumes_superuser_permissions, +// assumes_write_concern_unchanged, +// requires_auth, +// requires_non_retryable_commands, // ] // This test is a basic sanity check of the shell helpers for manipulating role objects diff --git a/jstests/core/set_param1.js b/jstests/core/set_param1.js index 06b1365cbeb..7910c01aa96 100644 --- a/jstests/core/set_param1.js +++ b/jstests/core/set_param1.js @@ -1,4 +1,7 @@ -// @tags: [does_not_support_stepdowns] +// @tags: [ +// assumes_superuser_permissions, +// does_not_support_stepdowns, +// ] // Tests for accessing logLevel server parameter using getParameter/setParameter commands // and shell helpers. diff --git a/jstests/core/shell_connection_strings.js b/jstests/core/shell_connection_strings.js index 22861e6ce25..ff9aa727480 100644 --- a/jstests/core/shell_connection_strings.js +++ b/jstests/core/shell_connection_strings.js @@ -1,4 +1,7 @@ // Test mongo shell connect strings. +// @tags: [ +// uses_multiple_connections, +// ] (function() { 'use strict'; diff --git a/jstests/core/shellstartparallel.js b/jstests/core/shellstartparallel.js index 8dfd1604dcc..947ddf24bf4 100644 --- a/jstests/core/shellstartparallel.js +++ b/jstests/core/shellstartparallel.js @@ -1,4 +1,7 @@ -// @tags: [requires_fastcount] +// @tags: [ +// requires_fastcount, +// uses_multiple_connections, +// ] function f() { throw Error("intentional_throw_to_test_assert_throws"); diff --git a/jstests/core/splitvector.js b/jstests/core/splitvector.js index 77a13f9e932..f30d2fdc386 100644 --- a/jstests/core/splitvector.js +++ b/jstests/core/splitvector.js @@ -1,15 +1,15 @@ // @tags: [ -// # Cannot implicitly shard accessed collections because the "splitVector" command cannot be -// # run on a sharded collection -// assumes_unsharded_collection, -// requires_fastcount, -// requires_collstats, -// # rollbacks make WT RecordStore dataSize go out of sync, which negatively impacts the -// # splitVector calculations. -// does_not_support_stepdowns, -// -// # splitVector command is not available on embedded -// incompatible_with_embedded, +// assumes_superuser_permissions, +// # Cannot implicitly shard accessed collections because the "splitVector" command cannot be run +// # on a sharded collection +// assumes_unsharded_collection, +// # rollbacks make WT RecordStore dataSize go out of sync, which negatively impacts the +// # splitVector calculations. +// does_not_support_stepdowns, +// # splitVector command is not available on embedded +// incompatible_with_embedded, +// requires_collstats, +// requires_fastcount, // ] // ------------------------- diff --git a/jstests/core/stages_and_hash.js b/jstests/core/stages_and_hash.js index 512ca9bcb38..aa91f27e542 100644 --- a/jstests/core/stages_and_hash.js +++ b/jstests/core/stages_and_hash.js @@ -1,4 +1,7 @@ -// @tags: [does_not_support_stepdowns] +// @tags: [ +// does_not_support_stepdowns, +// uses_testing_only_commands, +// ] t = db.stages_and_hashed; t.drop(); diff --git a/jstests/core/stages_and_sorted.js b/jstests/core/stages_and_sorted.js index 0df186f0f2b..97387d84064 100644 --- a/jstests/core/stages_and_sorted.js +++ b/jstests/core/stages_and_sorted.js @@ -1,4 +1,7 @@ -// @tags: [does_not_support_stepdowns] +// @tags: [ +// does_not_support_stepdowns, +// uses_testing_only_commands, +// ] t = db.stages_and_sorted; t.drop(); diff --git a/jstests/core/stages_collection_scan.js b/jstests/core/stages_collection_scan.js index df9612947be..d1b6dc178f8 100644 --- a/jstests/core/stages_collection_scan.js +++ b/jstests/core/stages_collection_scan.js @@ -1,4 +1,7 @@ -// @tags: [does_not_support_stepdowns] +// @tags: [ +// does_not_support_stepdowns, +// uses_testing_only_commands, +// ] // Test basic query stage collection scan functionality. t = db.stages_collection_scan; diff --git a/jstests/core/stages_delete.js b/jstests/core/stages_delete.js index e7d32c268f7..88d70a39ec3 100644 --- a/jstests/core/stages_delete.js +++ b/jstests/core/stages_delete.js @@ -4,6 +4,7 @@ // assumes_write_concern_unchanged, // does_not_support_stepdowns, // requires_fastcount, +// uses_testing_only_commands, // ] // Test basic delete stage functionality. diff --git a/jstests/core/stages_fetch.js b/jstests/core/stages_fetch.js index a2c826739cc..48d761e53e7 100644 --- a/jstests/core/stages_fetch.js +++ b/jstests/core/stages_fetch.js @@ -1,4 +1,7 @@ -// @tags: [does_not_support_stepdowns] +// @tags: [ +// does_not_support_stepdowns, +// uses_testing_only_commands, +// ] // Test basic fetch functionality. t = db.stages_fetch; diff --git a/jstests/core/stages_ixscan.js b/jstests/core/stages_ixscan.js index 9eb6d9ebfbc..7bfa4c5b4c4 100644 --- a/jstests/core/stages_ixscan.js +++ b/jstests/core/stages_ixscan.js @@ -1,4 +1,7 @@ -// @tags: [does_not_support_stepdowns] +// @tags: [ +// does_not_support_stepdowns, +// uses_testing_only_commands, +// ] // Test basic query stage index scan functionality. t = db.stages_ixscan; diff --git a/jstests/core/stages_limit_skip.js b/jstests/core/stages_limit_skip.js index eec25de69ff..b2621623260 100644 --- a/jstests/core/stages_limit_skip.js +++ b/jstests/core/stages_limit_skip.js @@ -1,4 +1,7 @@ -// @tags: [does_not_support_stepdowns] +// @tags: [ +// does_not_support_stepdowns, +// uses_testing_only_commands, +// ] // Test limit and skip t = db.stages_limit_skip; diff --git a/jstests/core/stages_mergesort.js b/jstests/core/stages_mergesort.js index 670efbb18d6..c4c4125c1f3 100644 --- a/jstests/core/stages_mergesort.js +++ b/jstests/core/stages_mergesort.js @@ -1,4 +1,7 @@ -// @tags: [does_not_support_stepdowns] +// @tags: [ +// does_not_support_stepdowns, +// uses_testing_only_commands, +// ] // Test query stage merge sorting. t = db.stages_mergesort; diff --git a/jstests/core/stages_or.js b/jstests/core/stages_or.js index c5305e3ee37..0fd78bdfc5c 100644 --- a/jstests/core/stages_or.js +++ b/jstests/core/stages_or.js @@ -1,4 +1,7 @@ -// @tags: [does_not_support_stepdowns] +// @tags: [ +// does_not_support_stepdowns, +// uses_testing_only_commands, +// ] // Test basic OR functionality t = db.stages_or; diff --git a/jstests/core/stages_text.js b/jstests/core/stages_text.js index 0abe8b82007..50182b04bb4 100644 --- a/jstests/core/stages_text.js +++ b/jstests/core/stages_text.js @@ -1,4 +1,7 @@ -// @tags: [does_not_support_stepdowns] +// @tags: [ +// does_not_support_stepdowns, +// uses_testing_only_commands, +// ] // Test very basic functionality of text stage diff --git a/jstests/core/updatef.js b/jstests/core/updatef.js index 78c7e6173c7..75b61e299cd 100644 --- a/jstests/core/updatef.js +++ b/jstests/core/updatef.js @@ -1,4 +1,8 @@ -// @tags: [requires_non_retryable_commands, requires_non_retryable_writes] +// @tags: [ +// requires_non_retryable_commands, +// requires_non_retryable_writes, +// uses_multiple_connections, +// ] // Test unsafe management of nsdt on update command yield SERVER-3208 diff --git a/jstests/core/user_management_helpers.js b/jstests/core/user_management_helpers.js index 3d3b1b49c68..4bd64d51864 100644 --- a/jstests/core/user_management_helpers.js +++ b/jstests/core/user_management_helpers.js @@ -1,9 +1,10 @@ // @tags: [ -// assumes_write_concern_unchanged, -// creates_and_authenticates_user, -// requires_auth, -// requires_non_retryable_commands, -// ] +// assumes_superuser_permissions, +// assumes_write_concern_unchanged, +// creates_and_authenticates_user, +// requires_auth, +// requires_non_retryable_commands, +// ] // This test is a basic sanity check of the shell helpers for manipulating user objects // It is not a comprehensive test of the functionality of the user manipulation commands diff --git a/jstests/core/validate_user_documents.js b/jstests/core/validate_user_documents.js index a9b2b96d526..3ab4ef1e1fd 100644 --- a/jstests/core/validate_user_documents.js +++ b/jstests/core/validate_user_documents.js @@ -1,8 +1,9 @@ // @tags: [ -// requires_non_retryable_commands, -// requires_auth, -// assumes_write_concern_unchanged -// ] +// assumes_superuser_permissions, +// assumes_write_concern_unchanged, +// requires_auth, +// requires_non_retryable_commands, +// ] // Ensure that inserts and updates of the system.users collection validate the schema of inserted // documents. diff --git a/jstests/core/views/duplicate_ns.js b/jstests/core/views/duplicate_ns.js index 1053226e2d4..2ef02cd6bc1 100644 --- a/jstests/core/views/duplicate_ns.js +++ b/jstests/core/views/duplicate_ns.js @@ -1,4 +1,7 @@ -// @tags: [requires_non_retryable_writes] +// @tags: [ +// assumes_superuser_permissions, +// requires_non_retryable_writes, +// ] // Test the creation of view with a duplicate name to a collection. diff --git a/jstests/core/views/invalid_system_views.js b/jstests/core/views/invalid_system_views.js index 6924268105d..c7d758415a7 100644 --- a/jstests/core/views/invalid_system_views.js +++ b/jstests/core/views/invalid_system_views.js @@ -3,11 +3,11 @@ * collections. * * @tags: [ - * requires_non_retryable_commands, - * requires_non_retryable_writes, - * - * # applyOps uses the oplog that require replication support - * requires_replication, + * assumes_superuser_permissions, + * requires_non_retryable_commands, + * requires_non_retryable_writes, + * # applyOps uses the oplog that require replication support + * requires_replication, * ] */ diff --git a/jstests/core/views/views_all_commands.js b/jstests/core/views/views_all_commands.js index 3b6f73796bc..06956366f6b 100644 --- a/jstests/core/views/views_all_commands.js +++ b/jstests/core/views/views_all_commands.js @@ -1,9 +1,10 @@ // @tags: [ +// assumes_superuser_permissions, // does_not_support_stepdowns, +// requires_fastcount, // requires_getmore, // requires_non_retryable_commands, // requires_non_retryable_writes, -// requires_fastcount, // ] /* diff --git a/jstests/core/views/views_change.js b/jstests/core/views/views_change.js index c8035642ddf..f3bd8880a8c 100644 --- a/jstests/core/views/views_change.js +++ b/jstests/core/views/views_change.js @@ -1,6 +1,10 @@ /** * Tests the behavior of views when the backing view or collection is changed. - * @tags: [requires_find_command, requires_non_retryable_commands] + * @tags: [ + * assumes_superuser_permissions, + * requires_find_command, + * requires_non_retryable_commands, + * ] */ (function() { "use strict"; diff --git a/jstests/core/views/views_creation.js b/jstests/core/views/views_creation.js index 02d5a426f83..2312b78e646 100644 --- a/jstests/core/views/views_creation.js +++ b/jstests/core/views/views_creation.js @@ -1,4 +1,7 @@ // Test the creation of views with various options. +// @tags: [ +// assumes_superuser_permissions, +// ] (function() { "use strict"; diff --git a/jstests/core/views/views_drop.js b/jstests/core/views/views_drop.js index bf3498d85a6..d93def18eae 100644 --- a/jstests/core/views/views_drop.js +++ b/jstests/core/views/views_drop.js @@ -1,7 +1,10 @@ /** * Tests the behavior of views when its backing collection is dropped, as well as the behavior of * system.views when views are dropped. - * @tags: [requires_find_command] + * @tags: [ + * assumes_superuser_permissions, + * requires_find_command, + * ] */ (function() { "use strict"; diff --git a/jstests/core/views/views_rename.js b/jstests/core/views/views_rename.js index 2d6de5290d3..3ece5d8269c 100644 --- a/jstests/core/views/views_rename.js +++ b/jstests/core/views/views_rename.js @@ -1,4 +1,8 @@ -// @tags: [requires_non_retryable_commands, requires_fastcount] +// @tags: [ +// assumes_superuser_permissions, +// requires_fastcount, +// requires_non_retryable_commands, +// ] (function() { // SERVER-30406 Test that renaming system.views correctly invalidates the view catalog |