diff options
author | Henrik Edin <henrik.edin@mongodb.com> | 2018-04-11 14:09:01 -0400 |
---|---|---|
committer | Henrik Edin <henrik.edin@mongodb.com> | 2018-04-18 09:14:20 -0400 |
commit | 1a4017efa471bd9f242daf436d3560fb83bacc27 (patch) | |
tree | 7834792811ea63b4705b54ba5a57a6ca8ecb6c40 | |
parent | 46e2583c36856e0d377fcb35f2208a0ac516f031 (diff) | |
download | mongo-1a4017efa471bd9f242daf436d3560fb83bacc27.tar.gz |
SERVER-29725 Tag jstests in core so we can run the suite on mongoe.
86 files changed, 543 insertions, 154 deletions
diff --git a/jstests/core/and.js b/jstests/core/and.js index a29d95e84e8..389aaa8d1d1 100644 --- a/jstests/core/and.js +++ b/jstests/core/and.js @@ -1,4 +1,8 @@ // Some tests for $and SERVER-1089 +// @tags: [ +// # Uses $where operator +// requires_scripting +// ] t = db.jstests_and; t.drop(); diff --git a/jstests/core/and3.js b/jstests/core/and3.js index 4f6d6bd28fd..2c08bd183f9 100644 --- a/jstests/core/and3.js +++ b/jstests/core/and3.js @@ -1,4 +1,8 @@ // Check key match with sub matchers - part of SERVER-3192 +// @tags: [ +// # Uses $where operator +// requires_scripting +// ] t = db.jstests_and3; t.drop(); diff --git a/jstests/core/apitest_dbcollection.js b/jstests/core/apitest_dbcollection.js index a7c8655edde..86569e58ae7 100644 --- a/jstests/core/apitest_dbcollection.js +++ b/jstests/core/apitest_dbcollection.js @@ -1,7 +1,12 @@ /** * Tests for the db collection * - * @tags: [requires_fastcount] + * @tags: [ + * requires_fastcount, + * + * # indexDetails result is not correct with mobile storage engine + * incompatible_with_embedded_todo_investigate, + * ] */ /* diff --git a/jstests/core/apply_ops1.js b/jstests/core/apply_ops1.js index ba6a853782c..e71c33ad9b6 100644 --- a/jstests/core/apply_ops1.js +++ b/jstests/core/apply_ops1.js @@ -1,4 +1,10 @@ -// @tags: [requires_non_retryable_commands, requires_fastcount] +// @tags: [ +// requires_non_retryable_commands, +// requires_fastcount, +// +// # applyOps uses the oplog that require replication support +// requires_replication, +// ] (function() { "use strict"; diff --git a/jstests/core/apply_ops2.js b/jstests/core/apply_ops2.js index a7f752d1456..caf30364c48 100644 --- a/jstests/core/apply_ops2.js +++ b/jstests/core/apply_ops2.js @@ -1,7 +1,13 @@ -// @tags: [requires_non_retryable_commands, requires_fastcount] - // Test applyops upsert flag SERVER-7452 +// @tags: [ +// requires_non_retryable_commands, +// requires_fastcount, +// +// # applyOps uses the oplog that require replication support +// requires_replication, +// ] + var t = db.apply_ops2; t.drop(); diff --git a/jstests/core/apply_ops_dups.js b/jstests/core/apply_ops_dups.js index 292c9ecb648..e18cd01d3f6 100644 --- a/jstests/core/apply_ops_dups.js +++ b/jstests/core/apply_ops_dups.js @@ -1,4 +1,10 @@ -// @tags: [requires_non_retryable_commands, requires_fastcount] +// @tags: [ +// requires_non_retryable_commands, +// requires_fastcount, +// +// # applyOps uses the oplog that require replication support +// requires_replication, +// ] (function() { "use strict"; diff --git a/jstests/core/apply_ops_index_collation.js b/jstests/core/apply_ops_index_collation.js index f05080bc819..135cb37483f 100644 --- a/jstests/core/apply_ops_index_collation.js +++ b/jstests/core/apply_ops_index_collation.js @@ -1,10 +1,17 @@ -// Cannot implicitly shard accessed collections because of collection existing when none -// expected. -// @tags: [assumes_no_implicit_collection_creation_after_drop, requires_non_retryable_commands] - // Tests creation of indexes using applyOps for collections with a non-simple default collation. // Indexes created through applyOps should be built exactly according to their index spec, without // inheriting the collection default collation, since this is how the oplog entries are replicated. + +// @tags: [ +// # Cannot implicitly shard accessed collections because of collection existing when none +// # expected. +// assumes_no_implicit_collection_creation_after_drop, +// requires_non_retryable_commands, +// +// # applyOps uses the oplog that require replication support +// requires_replication, +// ] + (function() { "use strict"; diff --git a/jstests/core/apply_ops_without_ns.js b/jstests/core/apply_ops_without_ns.js index a16c54b8f99..3b488078a31 100644 --- a/jstests/core/apply_ops_without_ns.js +++ b/jstests/core/apply_ops_without_ns.js @@ -1,4 +1,9 @@ -// @tags: [requires_non_retryable_commands] +// @tags: [ +// requires_non_retryable_commands, +// +// # applyOps uses the oplog that require replication support +// requires_replication, +// ] (function() { 'use strict'; diff --git a/jstests/core/auth1.js b/jstests/core/auth1.js index d6b7bf152e6..754ffae1c74 100644 --- a/jstests/core/auth1.js +++ b/jstests/core/auth1.js @@ -1,4 +1,4 @@ -// @tags: [requires_non_retryable_commands] +// @tags: [requires_non_retryable_commands, requires_auth] var mydb = db.getSiblingDB('auth1_db'); mydb.dropAllUsers(); diff --git a/jstests/core/auth2.js b/jstests/core/auth2.js index c9e6d29dac9..12eb19c3298 100644 --- a/jstests/core/auth2.js +++ b/jstests/core/auth2.js @@ -1,4 +1,5 @@ // just make sure logout doesn't break anything +// @tags: [requires_auth] // SERVER-724 db.runCommand({logout: 1}); diff --git a/jstests/core/auth_copydb.js b/jstests/core/auth_copydb.js index 17842256d80..daa2f65e012 100644 --- a/jstests/core/auth_copydb.js +++ b/jstests/core/auth_copydb.js @@ -1,4 +1,4 @@ -// @tags: [requires_non_retryable_commands, requires_fastcount] +// @tags: [requires_non_retryable_commands, requires_fastcount, requires_auth] a = db.getSisterDB("copydb2-test-a"); b = db.getSisterDB("copydb2-test-b"); diff --git a/jstests/core/background_index_multikey.js b/jstests/core/background_index_multikey.js index 8578e9c63f1..0449beb513b 100644 --- a/jstests/core/background_index_multikey.js +++ b/jstests/core/background_index_multikey.js @@ -1,5 +1,9 @@ /** * Tests that we can create background (and foreground) indexes that are multikey. + * @tags: [ + * # Uses index building in background + * requires_background_index, + * ] */ (function() { diff --git a/jstests/core/batch_write_command_insert.js b/jstests/core/batch_write_command_insert.js index 136727d159a..d1e3fc8b600 100644 --- a/jstests/core/batch_write_command_insert.js +++ b/jstests/core/batch_write_command_insert.js @@ -5,8 +5,11 @@ // assumes_write_concern_unchanged, // cannot_create_unique_index_when_using_hashed_shard_key, // requires_fastcount, +// +// # Uses index building in background +// requires_background_index, // ] - +// // // Ensures that mongod respects the batch write protocol for inserts // diff --git a/jstests/core/bulk_insert_capped.js b/jstests/core/bulk_insert_capped.js index a54b94c5022..f46539a910e 100644 --- a/jstests/core/bulk_insert_capped.js +++ b/jstests/core/bulk_insert_capped.js @@ -1,6 +1,11 @@ -// Cannot implicitly shard accessed collections because of collection existing when none -// expected. -// @tags: [assumes_no_implicit_collection_creation_after_drop] +// @tags: [ +// # Cannot implicitly shard accessed collections because of collection existing when none +// # expected. +// assumes_no_implicit_collection_creation_after_drop, +// +// # getLastError command is not available on embedded +// incompatible_with_embedded, +// ] // SERVER-21488 Test that multi inserts into capped collections don't cause corruption. // Note: this file must have a name that starts with "bulk" so it gets run by bulk_gle_passthrough. diff --git a/jstests/core/bulk_legacy_enforce_gle.js b/jstests/core/bulk_legacy_enforce_gle.js index 770734e43bc..cb3cc683200 100644 --- a/jstests/core/bulk_legacy_enforce_gle.js +++ b/jstests/core/bulk_legacy_enforce_gle.js @@ -2,7 +2,12 @@ * Tests the resetError logic when the bulk api enforces the write concern for unordered * writes. The tests indirectly checks whether resetError was called by inspecting the * response of the getLastError command after executing the bulk ops. + * + * @tags: [ + * # getLastError command is not available on embedded + * incompatible_with_embedded] */ + (function() { "use strict"; const coll = db.bulk_legacy_enforce_gle; diff --git a/jstests/core/check_shard_index.js b/jstests/core/check_shard_index.js index d3c30d61dfa..91013d75337 100644 --- a/jstests/core/check_shard_index.js +++ b/jstests/core/check_shard_index.js @@ -1,4 +1,4 @@ -// @tags: [requires_non_retryable_writes, requires_fastcount] +// @tags: [requires_non_retryable_writes, requires_fastcount, requires_sharding] // ------------------------- // CHECKSHARDINGINDEX TEST UTILS diff --git a/jstests/core/collmod_without_uuid.js b/jstests/core/collmod_without_uuid.js index 43ecd9852d8..5beb1864ad0 100644 --- a/jstests/core/collmod_without_uuid.js +++ b/jstests/core/collmod_without_uuid.js @@ -1,8 +1,14 @@ -// @tags: [requires_non_retryable_commands] - /** * SERVER-32125 Check that applyOps commands with collMod without UUID don't strip it + * + * @tags: [ + * requires_non_retryable_commands, + * + * # applyOps uses the oplog that require replication support + * requires_replication + * ] */ + (function() { "use strict"; const collName = "collmod_without_uuid"; diff --git a/jstests/core/commands_with_uuid.js b/jstests/core/commands_with_uuid.js index 0080e16e478..ce58b68ebe0 100644 --- a/jstests/core/commands_with_uuid.js +++ b/jstests/core/commands_with_uuid.js @@ -2,7 +2,12 @@ * Tests that using a UUID as an argument to commands will retrieve results from the correct * collection. * -* @tags: [requires_fastcount] +* @tags: [ +* requires_fastcount, +* +* # parallelCollectionScan is not available on embedded +* incompatible_with_embedded, +* ] */ (function() { diff --git a/jstests/core/compact_keeps_indexes.js b/jstests/core/compact_keeps_indexes.js index 897cfcd87de..71969d2e005 100644 --- a/jstests/core/compact_keeps_indexes.js +++ b/jstests/core/compact_keeps_indexes.js @@ -1,6 +1,10 @@ // SERVER-16676 Make sure compact doesn't leave the collection with bad indexes // 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 +// ] (function() { 'use strict'; diff --git a/jstests/core/connection_status.js b/jstests/core/connection_status.js index c769aabf284..392c6cd654e 100644 --- a/jstests/core/connection_status.js +++ b/jstests/core/connection_status.js @@ -1,4 +1,4 @@ -// @tags: [requires_non_retryable_commands] +// @tags: [requires_non_retryable_commands, requires_auth] // Tests the connectionStatus command (function() { diff --git a/jstests/core/copydb.js b/jstests/core/copydb.js index e2f49145a74..991734f3f8d 100644 --- a/jstests/core/copydb.js +++ b/jstests/core/copydb.js @@ -1,4 +1,10 @@ -// @tags: [requires_non_retryable_commands, requires_fastcount] +// @tags: [ +// requires_non_retryable_commands, +// requires_fastcount, +// +// # copyDatabase is not available on embedded +// incompatible_with_embedded +// ] // Basic tests for the copydb command. These only test copying from the same server; these do not // test the ability of copydb to pull a database from another server (with or without auth). diff --git a/jstests/core/count10.js b/jstests/core/count10.js index 75838521527..252f1f597d9 100644 --- a/jstests/core/count10.js +++ b/jstests/core/count10.js @@ -6,6 +6,9 @@ // # routed to the primary. // assumes_read_preference_unchanged, // does_not_support_stepdowns, +// +// # killop command is not yet available on embedded +// incompatible_with_embedded_todo_investigate, // ] t = db.count10; diff --git a/jstests/core/count_plan_summary.js b/jstests/core/count_plan_summary.js index b928eb287fc..7d170a8ac8a 100644 --- a/jstests/core/count_plan_summary.js +++ b/jstests/core/count_plan_summary.js @@ -6,6 +6,9 @@ // # routed to the primary. // assumes_read_preference_unchanged, // does_not_support_stepdowns, +// +// # killop command is not yet available on embedded +// incompatible_with_embedded_todo_investigate, // ] var t = db.jstests_count_plan_summary; diff --git a/jstests/core/countb.js b/jstests/core/countb.js index a36378009c0..bd6f9507fd2 100644 --- a/jstests/core/countb.js +++ b/jstests/core/countb.js @@ -1,4 +1,8 @@ // Test fast count mode with single key index unsatisfiable constraints on a multi key index. +// @tags: [ +// # Uses $where operator +// requires_scripting, +// ] t = db.jstests_countb; t.drop(); diff --git a/jstests/core/countc.js b/jstests/core/countc.js index 39a297ec8c4..876129c573f 100644 --- a/jstests/core/countc.js +++ b/jstests/core/countc.js @@ -4,6 +4,11 @@ // // SERVER-1752 +// @tags: [ +// # Uses $where operator +// requires_scripting +// ] + t = db.jstests_countc; t.drop(); diff --git a/jstests/core/currentop.js b/jstests/core/currentop.js index a27fbbd47e2..f929333da35 100644 --- a/jstests/core/currentop.js +++ b/jstests/core/currentop.js @@ -1,6 +1,12 @@ /** * 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 + * ] */ + (function() { "use strict"; const coll = db.jstests_currentop; diff --git a/jstests/core/cursora.js b/jstests/core/cursora.js index db92e999eef..153e2929593 100644 --- a/jstests/core/cursora.js +++ b/jstests/core/cursora.js @@ -1,4 +1,12 @@ -// @tags: [requires_getmore, requires_non_retryable_writes, requires_fastcount] +// @tags: [ +// requires_getmore, +// requires_non_retryable_writes, +// requires_fastcount, +// +// # Uses $where operator +// requires_scripting, +// ] + (function() { "use strict"; diff --git a/jstests/core/dbhash.js b/jstests/core/dbhash.js index cc202656fbe..eeddce74a75 100644 --- a/jstests/core/dbhash.js +++ b/jstests/core/dbhash.js @@ -1,3 +1,7 @@ +// @tags: [ +// # dbhash command is not available on embedded +// incompatible_with_embedded, +// ] a = db.dbhasha; b = db.dbhashb; diff --git a/jstests/core/dbhash2.js b/jstests/core/dbhash2.js index 85fd63f6362..689134d2bf0 100644 --- a/jstests/core/dbhash2.js +++ b/jstests/core/dbhash2.js @@ -1,3 +1,7 @@ +// @tags: [ +// # dbhash command is not available on embedded +// incompatible_with_embedded, +// ] mydb = db.getSisterDB("config"); diff --git a/jstests/core/depth_limit.js b/jstests/core/depth_limit.js index 4e40c114369..b25dffa4426 100644 --- a/jstests/core/depth_limit.js +++ b/jstests/core/depth_limit.js @@ -1,4 +1,8 @@ // SERVER-11781 Don't crash when converting deeply nested or cyclical JS objects to BSON. +// @tags: [ +// # Uses $where operator +// requires_scripting +// ] function test() { function assertTooBig(obj) { diff --git a/jstests/core/diagdata.js b/jstests/core/diagdata.js index 6938f8c5102..f002004b5a5 100644 --- a/jstests/core/diagdata.js +++ b/jstests/core/diagdata.js @@ -1,4 +1,9 @@ // Test that verifies getDiagnosticData returns FTDC data +// @tags: [ +// # getDiagnosticData command is not available on embedded +// incompatible_with_embedded, +// ] + load('jstests/libs/ftdc.js'); (function() { diff --git a/jstests/core/eval2.js b/jstests/core/eval2.js index 6c0fc1f58e9..f928a41c0cb 100644 --- a/jstests/core/eval2.js +++ b/jstests/core/eval2.js @@ -1,6 +1,11 @@ -// Cannot implicitly shard accessed collections because of unsupported group operator on sharded -// collection. -// @tags: [assumes_unsharded_collection] +// @tags: [ +// # Cannot implicitly shard accessed collections because of unsupported group operator on +// # sharded collection. +// assumes_unsharded_collection, +// +// # group uses javascript +// requires_scripting, +// ] t = db.eval2; t.drop(); diff --git a/jstests/core/explain2.js b/jstests/core/explain2.js index ec9a79b16c8..930a2ffb037 100644 --- a/jstests/core/explain2.js +++ b/jstests/core/explain2.js @@ -1,7 +1,12 @@ // Test calculation of the 'millis' field in explain output. // This test makes assertions on how long a particular query will sleep. When the collection is // sharded each shard may sleep for less time than is expected. -// @tags: [assumes_unsharded_collection] +// @tags: [ +// assumes_unsharded_collection, +// +// # Uses $where operator +// requires_scripting, +// ] t = db.jstests_explain2; t.drop(); diff --git a/jstests/core/explain_missing_collection.js b/jstests/core/explain_missing_collection.js index 458b15c6a80..ed579174e2f 100644 --- a/jstests/core/explain_missing_collection.js +++ b/jstests/core/explain_missing_collection.js @@ -1,6 +1,11 @@ -// Cannot implicitly shard accessed collections because of unsupported group operator on sharded -// collection. -// @tags: [assumes_unsharded_collection] +// @tags: [ +// # Cannot implicitly shard accessed collections because of unsupported group operator on +// # sharded collection. +// assumes_unsharded_collection, +// +// # group requires javascript +// requires_scripting, +// ] // Test explain of various operations against a non-existent collection (function() { diff --git a/jstests/core/explain_missing_database.js b/jstests/core/explain_missing_database.js index 598cd7a9e11..8bf65129a78 100644 --- a/jstests/core/explain_missing_database.js +++ b/jstests/core/explain_missing_database.js @@ -1,51 +1,55 @@ -// Test explain of various operations against a non-existent database
-(function() {
- var explainMissingDb = db.getSiblingDB("explainMissingDb");
-
- var explain;
- var explainColl;
-
- // .find()
- explainMissingDb.dropDatabase();
- explain = explainMissingDb.collection.explain("executionStats").find().finish();
- assert.commandWorked(explain);
- assert("executionStats" in explain);
-
- // .count()
- explainMissingDb.dropDatabase();
- explain = explainMissingDb.collection.explain("executionStats").count();
- assert.commandWorked(explain);
- assert("executionStats" in explain);
-
- // .group()
- explainMissingDb.dropDatabase();
- explainColl = explainMissingDb.collection.explain("executionStats");
- explain = explainColl.group({key: "a", initial: {}, reduce: function() {}});
- assert.commandWorked(explain);
- assert("executionStats" in explain);
-
- // .remove()
- explainMissingDb.dropDatabase();
- explain = explainMissingDb.collection.explain("executionStats").remove({a: 1});
- assert.commandWorked(explain);
- assert("executionStats" in explain);
-
- // .update() with upsert: false
- explainMissingDb.dropDatabase();
- explainColl = explainMissingDb.collection.explain("executionStats");
- explain = explainColl.update({a: 1}, {b: 1});
- assert.commandWorked(explain);
- assert("executionStats" in explain);
-
- // .update() with upsert: true
- explainMissingDb.dropDatabase();
- explainColl = explainMissingDb.collection.explain("executionStats");
- explain = explainColl.update({a: 1}, {b: 1}, {upsert: true});
- assert.commandWorked(explain);
- assert("executionStats" in explain);
-
- // .aggregate()
- explainMissingDb.dropDatabase();
- explain = explainMissingDb.collection.explain("executionStats").aggregate([{$match: {a: 1}}]);
- assert.commandWorked(explain);
-}());
+// Test explain of various operations against a non-existent database +// @tags: [ +// # group requires javascript +// requires_scripting, +//] +(function() { + var explainMissingDb = db.getSiblingDB("explainMissingDb"); + + var explain; + var explainColl; + + // .find() + explainMissingDb.dropDatabase(); + explain = explainMissingDb.collection.explain("executionStats").find().finish(); + assert.commandWorked(explain); + assert("executionStats" in explain); + + // .count() + explainMissingDb.dropDatabase(); + explain = explainMissingDb.collection.explain("executionStats").count(); + assert.commandWorked(explain); + assert("executionStats" in explain); + + // .group() + explainMissingDb.dropDatabase(); + explainColl = explainMissingDb.collection.explain("executionStats"); + explain = explainColl.group({key: "a", initial: {}, reduce: function() {}}); + assert.commandWorked(explain); + assert("executionStats" in explain); + + // .remove() + explainMissingDb.dropDatabase(); + explain = explainMissingDb.collection.explain("executionStats").remove({a: 1}); + assert.commandWorked(explain); + assert("executionStats" in explain); + + // .update() with upsert: false + explainMissingDb.dropDatabase(); + explainColl = explainMissingDb.collection.explain("executionStats"); + explain = explainColl.update({a: 1}, {b: 1}); + assert.commandWorked(explain); + assert("executionStats" in explain); + + // .update() with upsert: true + explainMissingDb.dropDatabase(); + explainColl = explainMissingDb.collection.explain("executionStats"); + explain = explainColl.update({a: 1}, {b: 1}, {upsert: true}); + assert.commandWorked(explain); + assert("executionStats" in explain); + + // .aggregate() + explainMissingDb.dropDatabase(); + explain = explainMissingDb.collection.explain("executionStats").aggregate([{$match: {a: 1}}]); + assert.commandWorked(explain); +}()); diff --git a/jstests/core/explain_multi_plan.js b/jstests/core/explain_multi_plan.js index a41a4f0e67b..f1605e3c999 100644 --- a/jstests/core/explain_multi_plan.js +++ b/jstests/core/explain_multi_plan.js @@ -1,7 +1,12 @@ -// 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. -// @tags: [assumes_unsharded_collection] +// @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, +// +// # group requires javascript +// requires_scripting, +// ] /** * Tests running explain on a variety of explainable commands (find, update, remove, etc.) when diff --git a/jstests/core/filemd5.js b/jstests/core/filemd5.js index cbcdfe6b3dc..13f4ed70869 100644 --- a/jstests/core/filemd5.js +++ b/jstests/core/filemd5.js @@ -1,6 +1,11 @@ -// Cannot implicitly shard accessed collections because of following error: GridFS fs.chunks -// collection must be sharded on either {files_id:1} or {files_id:1, n:1} -// @tags: [assumes_unsharded_collection] +// @tags: [ +// # Cannot implicitly shard accessed collections because of following error: GridFS fs.chunks +// # collection must be sharded on either {files_id:1} or {files_id:1, n:1} +// assumes_unsharded_collection, +// +// # filemd5 command is not available on embedded +// incompatible_with_embedded, +// ] db.fs.chunks.drop(); db.fs.chunks.insert({files_id: 1, n: 0, data: new BinData(0, "test")}); diff --git a/jstests/core/find6.js b/jstests/core/find6.js index 35a853652d6..ec683d7f68e 100644 --- a/jstests/core/find6.js +++ b/jstests/core/find6.js @@ -1,4 +1,9 @@ -// @tags: [requires_fastcount] +// @tags: [ +// requires_fastcount, +// +// # Uses $where operator +// requires_scripting, +// ] t = db.find6; t.drop(); diff --git a/jstests/core/find_and_modify_concurrent_update.js b/jstests/core/find_and_modify_concurrent_update.js index ead81732ecc..52916f4c9b8 100644 --- a/jstests/core/find_and_modify_concurrent_update.js +++ b/jstests/core/find_and_modify_concurrent_update.js @@ -1,7 +1,12 @@ -// 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. -// @tags: [assumes_unsharded_collection] +// @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, +// ] // Ensures that find and modify will not apply an update to a document which, due to a concurrent // modification, no longer matches the query predicate. diff --git a/jstests/core/find_and_modify_where.js b/jstests/core/find_and_modify_where.js index f4977c6565e..62375da7aab 100644 --- a/jstests/core/find_and_modify_where.js +++ b/jstests/core/find_and_modify_where.js @@ -1,7 +1,12 @@ -// 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. -// @tags: [assumes_unsharded_collection] +// @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, +// ] t = db.find_and_modify_where; t.drop(); diff --git a/jstests/core/geo_group.js b/jstests/core/geo_group.js index 72d91b7907d..a571131e114 100644 --- a/jstests/core/geo_group.js +++ b/jstests/core/geo_group.js @@ -1,7 +1,12 @@ -// Cannot implicitly shard accessed collections because group is not supported on sharded -// collections. +// @tags: [ +// # Cannot implicitly shard accessed collections because group is not supported on sharded +// # collections. +// assumes_unsharded_collection, +// requires_fastcount, // -// @tags: [assumes_unsharded_collection, requires_fastcount] +// # reduce uses javascript +// requires_scripting, +// ] t = db.geo_group; t.drop(); diff --git a/jstests/core/geo_haystack1.js b/jstests/core/geo_haystack1.js index 97e746ccdfa..eaf9641d3c4 100644 --- a/jstests/core/geo_haystack1.js +++ b/jstests/core/geo_haystack1.js @@ -1,3 +1,7 @@ +// @tags: [ +// # Haystack index is not available on embedded +// incompatible_with_embedded, +// ] t = db.geo_haystack1; t.drop(); diff --git a/jstests/core/geo_haystack2.js b/jstests/core/geo_haystack2.js index 3420feeed1c..b9946ef3cd8 100644 --- a/jstests/core/geo_haystack2.js +++ b/jstests/core/geo_haystack2.js @@ -1,3 +1,7 @@ +// @tags: [ +// # Haystack index is not available on embedded +// incompatible_with_embedded, +// ] t = db.geo_haystack2; t.drop(); diff --git a/jstests/core/geo_haystack3.js b/jstests/core/geo_haystack3.js index 1357ccf4f51..3fe0da348b2 100644 --- a/jstests/core/geo_haystack3.js +++ b/jstests/core/geo_haystack3.js @@ -1,3 +1,8 @@ +// @tags: [ +// # Haystack index is not available on embedded +// incompatible_with_embedded, +// ] + t = db.geo_haystack3; t.drop(); diff --git a/jstests/core/group1.js b/jstests/core/group1.js index c6fd0fdf16d..5021f8b48dc 100644 --- a/jstests/core/group1.js +++ b/jstests/core/group1.js @@ -1,6 +1,11 @@ -// Cannot implicitly shard accessed collections because of unsupported group operator on sharded -// collection. -// @tags: [assumes_unsharded_collection] +// @tags: [ +// # Cannot implicitly shard accessed collections because of unsupported group operator on +// # sharded collection. +// assumes_unsharded_collection, +// +// # group requires javascript +// requires_scripting +// ] (function() { "use strict"; diff --git a/jstests/core/group2.js b/jstests/core/group2.js index 26f65c3d8f8..65faa657fae 100644 --- a/jstests/core/group2.js +++ b/jstests/core/group2.js @@ -1,6 +1,12 @@ -// Cannot implicitly shard accessed collections because of unsupported group operator on sharded -// collection. -// @tags: [assumes_unsharded_collection] +// @tags: [ +// # Cannot implicitly shard accessed collections because of unsupported group operator on +// # sharded collection. +// assumes_unsharded_collection, +// +// # group requires javascript +// requires_scripting +// ] + (function() { "use strict"; const coll = db.group2; diff --git a/jstests/core/group3.js b/jstests/core/group3.js index 3840e8bcbcc..48eec33eaf8 100644 --- a/jstests/core/group3.js +++ b/jstests/core/group3.js @@ -1,6 +1,11 @@ -// Cannot implicitly shard accessed collections because of unsupported group operator on sharded -// collection. -// @tags: [assumes_unsharded_collection] +// @tags: [ +// # Cannot implicitly shard accessed collections because of unsupported group operator on +// # sharded collection. +// assumes_unsharded_collection, +// +// # group requires javascript +// requires_scripting +// ] t = db.group3; t.drop(); diff --git a/jstests/core/group4.js b/jstests/core/group4.js index e2d9e9546fc..bb5b91b1752 100644 --- a/jstests/core/group4.js +++ b/jstests/core/group4.js @@ -1,7 +1,11 @@ -// Cannot implicitly shard accessed collections because of unsupported group operator on sharded -// collection. -// @tags: [assumes_unsharded_collection] - +// @tags: [ +// # Cannot implicitly shard accessed collections because of unsupported group operator on +// # sharded collection. +// assumes_unsharded_collection, +// +// # group requires javascript +// requires_scripting +// ] t = db.group4; t.drop(); diff --git a/jstests/core/group5.js b/jstests/core/group5.js index 2f57e110d50..9a08eb9c98b 100644 --- a/jstests/core/group5.js +++ b/jstests/core/group5.js @@ -1,6 +1,11 @@ -// Cannot implicitly shard accessed collections because of unsupported group operator on sharded -// collection. -// @tags: [assumes_unsharded_collection] +// @tags: [ +// # Cannot implicitly shard accessed collections because of unsupported group operator on +// # sharded collection. +// assumes_unsharded_collection, +// +// # group requires javascript +// requires_scripting +// ] t = db.group5; t.drop(); diff --git a/jstests/core/group6.js b/jstests/core/group6.js index 77ac0355d3e..f22a10710f1 100644 --- a/jstests/core/group6.js +++ b/jstests/core/group6.js @@ -1,7 +1,11 @@ -// Cannot implicitly shard accessed collections because of unsupported group operator on sharded -// collection. -// @tags: [assumes_unsharded_collection] - +// @tags: [ +// # Cannot implicitly shard accessed collections because of unsupported group operator on +// # sharded collection. +// assumes_unsharded_collection, +// +// # group requires javascript +// requires_scripting +// ] t = db.jstests_group6; t.drop(); diff --git a/jstests/core/group8.js b/jstests/core/group8.js index 029d430103f..5590dcba892 100644 --- a/jstests/core/group8.js +++ b/jstests/core/group8.js @@ -1,6 +1,11 @@ -// Cannot implicitly shard accessed collections because of unsupported group operator on sharded -// collection. -// @tags: [assumes_unsharded_collection] +// @tags: [ +// # Cannot implicitly shard accessed collections because of unsupported group operator on +// # sharded collection. +// assumes_unsharded_collection, +// +// # group requires javascript +// requires_scripting +// ] // Test correctness of the "keys" and and "count" fields in the group command output. var coll = db.group8; diff --git a/jstests/core/group9.js b/jstests/core/group9.js index 17cd3ae94db..d32ae0611f0 100644 --- a/jstests/core/group9.js +++ b/jstests/core/group9.js @@ -1,6 +1,11 @@ -// Cannot implicitly shard accessed collections because of unsupported group operator on sharded -// collection. -// @tags: [assumes_unsharded_collection] +// @tags: [ +// # Cannot implicitly shard accessed collections because of unsupported group operator on +// # sharded collection. +// assumes_unsharded_collection, +// +// # group requires javascript +// requires_scripting +// ] (function() { 'use strict'; diff --git a/jstests/core/index_partial_create_drop.js b/jstests/core/index_partial_create_drop.js index 106a658c0f6..bf25fa3a6b1 100644 --- a/jstests/core/index_partial_create_drop.js +++ b/jstests/core/index_partial_create_drop.js @@ -1,6 +1,11 @@ -// Cannot implicitly shard accessed collections because of extra shard key index in sharded -// collection. -// @tags: [assumes_no_implicit_index_creation] +// @tags: [ +// # Cannot implicitly shard accessed collections because of extra shard key index in sharded +// # collection. +// assumes_no_implicit_index_creation, +// +// # Builds index in the background +// requires_background_index, +// ] // Test partial index creation and drops. diff --git a/jstests/core/js1.js b/jstests/core/js1.js index 5d00cee28f9..7c8c16a8236 100644 --- a/jstests/core/js1.js +++ b/jstests/core/js1.js @@ -1,4 +1,9 @@ -// @tags: [requires_non_retryable_writes] +// @tags: [ +// requires_non_retryable_writes, +// +// # Uses $where operator +// requires_scripting +// ] t = db.jstests_js1; t.remove({}); diff --git a/jstests/core/js4.js b/jstests/core/js4.js index af9c3f84d3c..6c9f158de6a 100644 --- a/jstests/core/js4.js +++ b/jstests/core/js4.js @@ -1,3 +1,8 @@ +// @tags: [ +// # Uses $where operator +// requires_scripting +// ] + t = db.jstests_js4; t.drop(); diff --git a/jstests/core/js5.js b/jstests/core/js5.js index c02b451de42..05071a2b6a6 100644 --- a/jstests/core/js5.js +++ b/jstests/core/js5.js @@ -1,3 +1,7 @@ +// @tags: [ +// # Uses $where operator +// requires_scripting +// ] t = db.jstests_js5; t.drop(); diff --git a/jstests/core/js8.js b/jstests/core/js8.js index d670abb0587..9504d2a7ac5 100644 --- a/jstests/core/js8.js +++ b/jstests/core/js8.js @@ -1,3 +1,8 @@ +// @tags: [ +// # Uses $where operator +// requires_scripting, +// ] + t = db.jstests_js8; t.drop(); diff --git a/jstests/core/killop_drop_collection.js b/jstests/core/killop_drop_collection.js index 53265010bf8..d21b81fe600 100644 --- a/jstests/core/killop_drop_collection.js +++ b/jstests/core/killop_drop_collection.js @@ -3,6 +3,14 @@ * to complete. Interrupting a collection drop could leave the database in an inconsistent state. * This test confirms that killOp won't interrupt a collection drop, and that the drop occurs * successfully. + * + * @tags: [ + * # killop command is not yet available on embedded + * incompatible_with_embedded_todo_investigate, + * + * # Uses index building in background + * requires_background_index, + * ] */ (function() { "use strict"; diff --git a/jstests/core/max_time_ms.js b/jstests/core/max_time_ms.js index 57bd184f92e..7597084430d 100644 --- a/jstests/core/max_time_ms.js +++ b/jstests/core/max_time_ms.js @@ -6,7 +6,10 @@ // # latter must be routed to the primary. // assumes_read_preference_unchanged, // requires_getmore, -// requires_fastcount +// requires_fastcount, +// +// # Uses $where operator +// requires_scripting, // ] var t = db.max_time_ms; diff --git a/jstests/core/mod1.js b/jstests/core/mod1.js index 11be6b1b293..29a7f372809 100644 --- a/jstests/core/mod1.js +++ b/jstests/core/mod1.js @@ -1,3 +1,7 @@ +// @tags: [ +// # Uses $where operator +// requires_scripting, +// ] t = db.mod1; t.drop(); diff --git a/jstests/core/operation_latency_histogram.js b/jstests/core/operation_latency_histogram.js index 22ec77fa817..c95c8817b51 100644 --- a/jstests/core/operation_latency_histogram.js +++ b/jstests/core/operation_latency_histogram.js @@ -4,7 +4,13 @@ // stage. The former operation must be routed to the primary in a replica set, whereas the latter // may be routed to a secondary. // -// @tags: [assumes_read_preference_unchanged, requires_collstats] +// @tags: [ +// assumes_read_preference_unchanged, +// requires_collstats, +// +// # group uses javascript +// requires_scripting, +// ] (function() { "use strict"; diff --git a/jstests/core/ora.js b/jstests/core/ora.js index 2c0f4b6fc70..06d8f39c48f 100644 --- a/jstests/core/ora.js +++ b/jstests/core/ora.js @@ -1,3 +1,8 @@ +// @tags: [ +// # Uses $where operator +// requires_scripting +// ] + var t = db.jstests_ora; // $where diff --git a/jstests/core/profile2.js b/jstests/core/profile2.js index 9c2c385dbaa..7c206638a20 100644 --- a/jstests/core/profile2.js +++ b/jstests/core/profile2.js @@ -1,6 +1,11 @@ // Tests that large queries and updates are properly profiled. // Special db so that it can be run in parallel tests. +// @tags: [ +// # profile command is not available on embedded +// incompatible_with_embedded, +// ] + var coll = db.getSisterDB("profile2").profile2; assert.commandWorked(coll.getDB().runCommand({profile: 0})); diff --git a/jstests/core/profile3.js b/jstests/core/profile3.js index 3a22bd1f952..35e37d0917d 100644 --- a/jstests/core/profile3.js +++ b/jstests/core/profile3.js @@ -1,4 +1,7 @@ - +// @tags: [ +// # profile command is not available on embedded +// incompatible_with_embedded, +// ] // special db so that it can be run in parallel tests var stddb = db; var db = db.getSisterDB("profile3"); diff --git a/jstests/core/profile_findandmodify.js b/jstests/core/profile_findandmodify.js index 8b431b50cdc..48ec80511eb 100644 --- a/jstests/core/profile_findandmodify.js +++ b/jstests/core/profile_findandmodify.js @@ -1,4 +1,8 @@ // Confirms that profiled findAndModify execution contains all expected metrics with proper values. +// @tags: [ +// # profile command is not available on embedded +// incompatible_with_embedded, +// ] (function() { "use strict"; diff --git a/jstests/core/read_after_optime.js b/jstests/core/read_after_optime.js index e44d3cfb70e..c5af82b5bad 100644 --- a/jstests/core/read_after_optime.js +++ b/jstests/core/read_after_optime.js @@ -1,5 +1,10 @@ // Test that attempting to read after optime fails if replication is not enabled. +// @tags: [ +// # This succeeds instead of failing with the expected error code on embedded +// incompatible_with_embedded_todo_investigate +// ] + (function() { "use strict"; diff --git a/jstests/core/removec.js b/jstests/core/removec.js index 64d486285e9..f665914e2a2 100644 --- a/jstests/core/removec.js +++ b/jstests/core/removec.js @@ -1,4 +1,9 @@ -// @tags: [requires_non_retryable_writes] +// @tags: [ +// requires_non_retryable_writes, +// +// # Fails on embedded, needs to investigate +// incompatible_with_embedded_todo_investigate, +// ] // Sanity test for removing documents with adjacent index keys. SERVER-2008 diff --git a/jstests/core/repair_database.js b/jstests/core/repair_database.js index f0ca8b3892b..ee8b9497cfa 100644 --- a/jstests/core/repair_database.js +++ b/jstests/core/repair_database.js @@ -1,5 +1,3 @@ -// @tags: [requires_non_retryable_writes] - /** * This tests checks that repair database works and doesn't leave the database in a bad state * 1.) Drop "repairDB" database @@ -7,6 +5,13 @@ * 3.) Ensure repair works with no docs, same collection/index as above * 4.) Ensure repair works with 2 collections, one doc in each * 5.) Ensure repair works on the local db (special cases) + * + * @tags: [ + * requires_non_retryable_writes, + * + * # repairDatabase command is not available on embedded + * incompatible_with_embedded, + * ] */ // 1. Drop db diff --git a/jstests/core/repair_database_input_validation.js b/jstests/core/repair_database_input_validation.js index f8e75d4d07b..d12b0ced904 100644 --- a/jstests/core/repair_database_input_validation.js +++ b/jstests/core/repair_database_input_validation.js @@ -7,6 +7,11 @@ * 3.) Repair "repairdb", expect an input validation error. * 4.) Repair "nonExistantDb", expect an OK. * 5.) Using "listDatabases" verify only "repairDB" exists. + * + * @tags: [ + * # repairDatabase command is not available on embedded + * incompatible_with_embedded, + * ] */ (function() { diff --git a/jstests/core/repair_server12955.js b/jstests/core/repair_server12955.js index 9e586454d10..089454279bc 100644 --- a/jstests/core/repair_server12955.js +++ b/jstests/core/repair_server12955.js @@ -1,3 +1,8 @@ +// @tags: [ +// # repairDatabase command is not available on embedded +// incompatible_with_embedded, +// ] + mydb = db.getSisterDB("repair_server12955"); assert.commandWorked(mydb.dropDatabase()); diff --git a/jstests/core/restart_catalog.js b/jstests/core/restart_catalog.js index 3d998e74b05..245c30e0469 100644 --- a/jstests/core/restart_catalog.js +++ b/jstests/core/restart_catalog.js @@ -1,7 +1,12 @@ /** * Forces the server to restart the catalog and rebuild its in-memory catalog data structures, then * asserts that the server works normally. - * @tags: [assumes_read_concern_unchanged] + * @tags: [ + * assumes_read_concern_unchanged, + * + * # restartCatalog command is not available on embedded + * incompatible_with_embedded + * ] */ (function() { "use strict"; diff --git a/jstests/core/role_management_helpers.js b/jstests/core/role_management_helpers.js index d467e2ac099..3643278e9c8 100644 --- a/jstests/core/role_management_helpers.js +++ b/jstests/core/role_management_helpers.js @@ -1,4 +1,7 @@ -// @tags: [requires_non_retryable_commands] +// @tags: [ +// requires_non_retryable_commands, +// requires_auth, +// ] // This test is a basic sanity check of the shell helpers for manipulating role objects // It is not a comprehensive test of the functionality of the role manipulation commands diff --git a/jstests/core/sortk.js b/jstests/core/sortk.js index 55c64cfb6e2..87a92f4cc3f 100644 --- a/jstests/core/sortk.js +++ b/jstests/core/sortk.js @@ -1,7 +1,13 @@ -// @tags: [requires_non_retryable_writes] - // End-to-end testing for index scan explosion + merge sort. // SERVER-5063 and SERVER-1205. + +// @tags: [ +// requires_non_retryable_writes, +// +// # Uses $where operator +// requires_scripting, +// ] + t = db.jstests_sortk; t.drop(); diff --git a/jstests/core/splitvector.js b/jstests/core/splitvector.js index 8766089e89b..5a470b17344 100644 --- a/jstests/core/splitvector.js +++ b/jstests/core/splitvector.js @@ -1,7 +1,13 @@ -// Cannot implicitly shard accessed collections because the "splitVector" command cannot be run -// on a sharded collection +// @tags: [ +// # Cannot implicitly shard accessed collections because the "splitVector" command cannot be +// # run on a sharded collection +// assumes_unsharded_collection, +// requires_fastcount, +// requires_collstats, // -// @tags: [assumes_unsharded_collection, requires_fastcount, requires_collstats] +// # Need to investigate why this fails on embedded +// incompatible_with_embedded_todo_investigate, +// ] // ------------------------- // SPLITVECTOR TEST UTILS diff --git a/jstests/core/startup_log.js b/jstests/core/startup_log.js index 1bbbddfb222..b8021675d44 100644 --- a/jstests/core/startup_log.js +++ b/jstests/core/startup_log.js @@ -3,8 +3,16 @@ * entry matching the server's response from the "getCmdLineOpts" command. The former operation may * be routed to a secondary in the replica set, whereas the latter must be routed to the primary. * - * @tags: [assumes_read_preference_unchanged, requires_collstats] + * @tags: [ + * assumes_read_preference_unchanged, + * requires_collstats, + * + * # mongoe modifies commandline internally so the check for unaltered getCmdLineOpts fails, + * # figure out if this can be fixed + * incompatible_with_embedded_todo_investigate, + * ] */ + load('jstests/aggregation/extras/utils.js'); (function() { diff --git a/jstests/core/top.js b/jstests/core/top.js index df7671207f4..b7b9f8f3a02 100644 --- a/jstests/core/top.js +++ b/jstests/core/top.js @@ -5,8 +5,14 @@ * former operation may be routed to a secondary in the replica set, whereas the latter must be * routed to the primary. * - * @tags: [assumes_read_preference_unchanged, requires_fastcount] + * @tags: [ + * assumes_read_preference_unchanged, + * requires_fastcount, + * + * # top command is not available on embedded + * incompatible_with_embedded] */ + (function() { load("jstests/libs/stats.js"); diff --git a/jstests/core/uniqueness.js b/jstests/core/uniqueness.js index a1763061af8..336ac10c130 100644 --- a/jstests/core/uniqueness.js +++ b/jstests/core/uniqueness.js @@ -1,7 +1,12 @@ -// Cannot implicitly shard accessed collections because of not being able to create unique index -// using hashed shard key pattern. +// @tags: [ +// # Cannot implicitly shard accessed collections because of not being able to create unique +// # index using hashed shard key pattern. +// cannot_create_unique_index_when_using_hashed_shard_key, +// requires_fastcount, // -// @tags: [cannot_create_unique_index_when_using_hashed_shard_key, requires_fastcount] +// # Investigate why this fails on embedded +// incompatible_with_embedded_todo_investigate, +// ] var res; diff --git a/jstests/core/user_management_helpers.js b/jstests/core/user_management_helpers.js index f383571d107..91a4cdfae69 100644 --- a/jstests/core/user_management_helpers.js +++ b/jstests/core/user_management_helpers.js @@ -1,4 +1,4 @@ -// @tags: [requires_non_retryable_commands] +// @tags: [requires_non_retryable_commands, requires_auth] // 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 7a523a75183..45d250b3c52 100644 --- a/jstests/core/validate_user_documents.js +++ b/jstests/core/validate_user_documents.js @@ -1,4 +1,4 @@ -// @tags: [requires_non_retryable_commands] +// @tags: [requires_non_retryable_commands, requires_auth] // Ensure that inserts and updates of the system.users collection validate the schema of inserted // documents. diff --git a/jstests/core/views/invalid_system_views.js b/jstests/core/views/invalid_system_views.js index f1b734e92ea..b2491097ba9 100644 --- a/jstests/core/views/invalid_system_views.js +++ b/jstests/core/views/invalid_system_views.js @@ -1,9 +1,16 @@ -// @tags: [requires_non_retryable_commands, requires_non_retryable_writes] - /** * Tests that invalid view definitions in system.views do not impact valid commands on existing * collections. + * + * @tags: [ + * requires_non_retryable_commands, + * requires_non_retryable_writes, + * + * # applyOps uses the oplog that require replication support + * requires_replication, + * ] */ + (function() { "use strict"; const isMongos = db.runCommand({isdbgrid: 1}).isdbgrid; diff --git a/jstests/core/views/views_stats.js b/jstests/core/views/views_stats.js index 22261e9fa81..6c1b4b976d6 100644 --- a/jstests/core/views/views_stats.js +++ b/jstests/core/views/views_stats.js @@ -4,7 +4,12 @@ // stage. The former operation must be routed to the primary in a replica set, whereas the latter // may be routed to a secondary. // -// @tags: [assumes_read_preference_unchanged] +// @tags: [ +// assumes_read_preference_unchanged, +// +// # top command is not available on embedded +// incompatible_with_embedded, +// ] (function() { "use strict"; diff --git a/jstests/core/where1.js b/jstests/core/where1.js index 53441580b90..87ad49d16c1 100644 --- a/jstests/core/where1.js +++ b/jstests/core/where1.js @@ -1,3 +1,7 @@ +// @tags: [ +// # Uses $where operator +// requires_scripting +// ] t = db.getCollection("where1"); t.drop(); diff --git a/jstests/core/where2.js b/jstests/core/where2.js index 8b4314beb88..16f378c4b5e 100644 --- a/jstests/core/where2.js +++ b/jstests/core/where2.js @@ -1,3 +1,7 @@ +// @tags: [ +// # Uses $where operator +// requires_scripting +// ] t = db.getCollection("where2"); t.drop(); diff --git a/jstests/core/where3.js b/jstests/core/where3.js index e26b36ffcf4..ffbe690312c 100644 --- a/jstests/core/where3.js +++ b/jstests/core/where3.js @@ -1,3 +1,7 @@ +// @tags: [ +// # Uses $where operator +// requires_scripting +// ] t = db.where3; t.drop(); diff --git a/jstests/core/where4.js b/jstests/core/where4.js index 974748f8dbc..a4997d07561 100644 --- a/jstests/core/where4.js +++ b/jstests/core/where4.js @@ -1,6 +1,12 @@ // This test expects a function stored in the system.js collection to be available for a map/reduce, // which may not be the case if it is implicitly sharded in a passthrough. -// @tags: [requires_non_retryable_writes, assumes_unsharded_collection] +// @tags: [ +// requires_non_retryable_writes, +// assumes_unsharded_collection, +// +// # Uses $where operator +// requires_scripting, +// ] var myDB = db.getSiblingDB("where4"); diff --git a/jstests/core/where5.js b/jstests/core/where5.js index 1c0ea8d0076..02530dbd71e 100644 --- a/jstests/core/where5.js +++ b/jstests/core/where5.js @@ -1,5 +1,9 @@ // Tests toString() in object constructor. // Verifies that native functions do not expose the _native_function and _native_data properties. +// @tags: [ +// # Uses $where operator +// requires_scripting +// ] var t = db.where5; |