diff --git a/tests/spec/run.js b/tests/spec/run.js index a630bd9..b54fa26 100644 --- a/tests/spec/run.js +++ b/tests/spec/run.js @@ -542,6 +542,32 @@ function disableEvents(events) { for (const buf of events.values()) buf.enabled = false; } +// `collectionOrDatabaseOptions` (unified-test-format.md, entity definitions). +// Anything outside this set is refused rather than silently ignored -- that is +// the whole lesson of the bug this function exists to fix. +const ENTITY_OPTIONS = new Set(['readConcern', 'readPreference', 'writeConcern']); + +// These documents are parsed with `relaxed: false` like everything else in the +// file, so a plain JSON `0` arrives as a BSON Int32 -- and the driver gates +// `writeConcern.w` on `typeof w === 'number'`, which is exactly the trap +// NUMERIC_OPTIONS documents for operation options. Unwrapping wholesale is safe +// here in a way it is not there: these are settings the driver consumes, not +// values any assertion ever compares. +function plainOptions(spec, what) { + for (const k of Object.keys(spec || {})) { + if (!ENTITY_OPTIONS.has(k)) throw new Unsupported(`${what} ${k}`); + } + const walk = (v) => { + if (Array.isArray(v)) return v.map(walk); + if (typeof v === 'object' && v !== null && numeric(v) !== null) return numeric(v); + if (!isPlainDoc(v)) return v; + const out = {}; + for (const [k, x] of Object.entries(v)) out[k] = walk(x); + return out; + }; + return walk(spec || {}); +} + // `clients` is supplied by the caller so that entities created before a // failure are still closed: returning them only on success is what leaked. // `events` is supplied for the same reason -- a case that dies partway still @@ -596,8 +622,12 @@ async function buildEntities(url, createEntities, clients, events) { map[def.id] = c; break; } - case 'database': map[def.id] = map[def.client].db(def.databaseName); break; - case 'collection': map[def.id] = map[def.database].collection(def.collectionName); break; + case 'database': + map[def.id] = map[def.client].db(def.databaseName, plainOptions(def.databaseOptions, 'databaseOptions')); + break; + case 'collection': + map[def.id] = map[def.database].collection(def.collectionName, plainOptions(def.collectionOptions, 'collectionOptions')); + break; case 'session': throw new Unsupported('session entities (M4)'); case 'bucket': throw new Unsupported('gridfs bucket entities'); case 'clientEncryption': throw new Unsupported('client-side encryption'); diff --git a/tests/spec/scorecard.txt b/tests/spec/scorecard.txt index 5556ea8..0b17127 100644 --- a/tests/spec/scorecard.txt +++ b/tests/spec/scorecard.txt @@ -18,7 +18,7 @@ # hasServerConnectionId, and maxTimeMS in an expected command (CSOT rewrites # it -- the only assertion this runner declines to make). -total 159 pass 132 fail 196 skip 175 files 0 errored +total 173 pass 118 fail 196 skip 175 files 0 errored # per-file: name pass fail skip aggregate-allowdiskuse.json 3 0 0 @@ -45,19 +45,19 @@ bulkWrite-deleteOne-rawdata.json 1 0 1 bulkWrite-errorResponse.json 0 0 1 bulkWrite-insertOne-dots_and_dollars.json 3 1 1 bulkWrite-replaceOne-dots_and_dollars.json 2 1 1 -bulkWrite-replaceOne-hint-unacknowledged.json 0 2 0 +bulkWrite-replaceOne-hint-unacknowledged.json 2 0 0 bulkWrite-replaceOne-let.json 0 1 1 bulkWrite-replaceOne-rawdata.json 1 0 1 bulkWrite-replaceOne-sort.json 0 1 1 bulkWrite-update-hint.json 3 0 0 bulkWrite-update-validation.json 3 0 0 bulkWrite-updateMany-dots_and_dollars.json 0 0 4 -bulkWrite-updateMany-hint-unacknowledged.json 0 2 0 +bulkWrite-updateMany-hint-unacknowledged.json 2 0 0 bulkWrite-updateMany-let.json 0 1 1 bulkWrite-updateMany-pipeline.json 0 1 0 bulkWrite-updateMany-rawdata.json 0 1 1 bulkWrite-updateOne-dots_and_dollars.json 0 0 4 -bulkWrite-updateOne-hint-unacknowledged.json 0 2 0 +bulkWrite-updateOne-hint-unacknowledged.json 2 0 0 bulkWrite-updateOne-let.json 0 1 1 bulkWrite-updateOne-pipeline.json 0 1 0 bulkWrite-updateOne-rawdata.json 0 1 1 @@ -158,14 +158,14 @@ insertMany-dots_and_dollars.json 3 1 1 insertMany-rawdata.json 1 0 1 insertMany.json 3 0 0 insertOne-comment.json 2 0 1 -insertOne-dots_and_dollars.json 5 3 1 +insertOne-dots_and_dollars.json 6 2 1 insertOne-errorResponse.json 0 0 1 insertOne-rawdata.json 1 0 1 insertOne.json 1 0 0 replaceOne-collation.json 0 1 0 replaceOne-comment.json 2 0 1 -replaceOne-dots_and_dollars.json 2 2 1 -replaceOne-hint-unacknowledged.json 0 2 0 +replaceOne-dots_and_dollars.json 3 1 1 +replaceOne-hint-unacknowledged.json 2 0 0 replaceOne-hint.json 2 0 0 replaceOne-let.json 0 1 1 replaceOne-rawdata.json 1 0 1 @@ -176,7 +176,7 @@ updateMany-arrayFilters.json 0 3 0 updateMany-collation.json 0 1 0 updateMany-comment.json 2 0 1 updateMany-dots_and_dollars.json 0 0 4 -updateMany-hint-unacknowledged.json 0 2 0 +updateMany-hint-unacknowledged.json 2 0 0 updateMany-hint.json 2 0 0 updateMany-let.json 0 1 1 updateMany-pipeline.json 0 1 0 @@ -188,7 +188,7 @@ updateOne-collation.json 0 1 0 updateOne-comment.json 2 0 1 updateOne-dots_and_dollars.json 0 0 4 updateOne-errorResponse.json 0 0 1 -updateOne-hint-unacknowledged.json 0 2 0 +updateOne-hint-unacknowledged.json 2 0 0 updateOne-hint.json 2 0 0 updateOne-let.json 0 1 1 updateOne-pipeline.json 0 1 0 @@ -226,15 +226,15 @@ bulkWrite-comment.json SKIP BulkWrite with comment - pre 4.4 needs server <= 4.2 bulkWrite-delete-hint-serverError.json SKIP * needs server <= 4.3.3 bulkWrite-deleteMany-hint-unacknowledged.json SKIP Unacknowledged deleteMany with hint string fails with client-side error on pre-4.4 server needs server <= 4.2.99 bulkWrite-deleteMany-hint-unacknowledged.json SKIP Unacknowledged deleteMany with hint document fails with client-side error on pre-4.4 server needs server <= 4.2.99 -bulkWrite-deleteMany-hint-unacknowledged.json FAIL Unacknowledged deleteMany with hint string on 4.4+ server events client0[0].command.writeConcern: missing from actual -bulkWrite-deleteMany-hint-unacknowledged.json FAIL Unacknowledged deleteMany with hint document on 4.4+ server events client0[0].command.writeConcern: missing from actual +bulkWrite-deleteMany-hint-unacknowledged.json FAIL Unacknowledged deleteMany with hint string on 4.4+ server MongoBulkWriteError: hint for the delete command is only supported on MongoDB 4.4+ +bulkWrite-deleteMany-hint-unacknowledged.json FAIL Unacknowledged deleteMany with hint document on 4.4+ server MongoBulkWriteError: hint for the delete command is only supported on MongoDB 4.4+ bulkWrite-deleteMany-let.json SKIP BulkWrite deleteMany with let option needs server >= 5.0 bulkWrite-deleteMany-let.json FAIL BulkWrite deleteMany with let option unsupported (server-side error) bulkWrite: expected an error, the operation succeeded bulkWrite-deleteMany-rawdata.json SKIP BulkWrite deleteMany with rawData option needs server >= 8.2.0 bulkWrite-deleteOne-hint-unacknowledged.json SKIP Unacknowledged deleteOne with hint string fails with client-side error on pre-4.4 server needs server <= 4.2.99 bulkWrite-deleteOne-hint-unacknowledged.json SKIP Unacknowledged deleteOne with hint document fails with client-side error on pre-4.4 server needs server <= 4.2.99 -bulkWrite-deleteOne-hint-unacknowledged.json FAIL Unacknowledged deleteOne with hint string on 4.4+ server events client0[0].command.writeConcern: missing from actual -bulkWrite-deleteOne-hint-unacknowledged.json FAIL Unacknowledged deleteOne with hint document on 4.4+ server events client0[0].command.writeConcern: missing from actual +bulkWrite-deleteOne-hint-unacknowledged.json FAIL Unacknowledged deleteOne with hint string on 4.4+ server MongoBulkWriteError: hint for the delete command is only supported on MongoDB 4.4+ +bulkWrite-deleteOne-hint-unacknowledged.json FAIL Unacknowledged deleteOne with hint document on 4.4+ server MongoBulkWriteError: hint for the delete command is only supported on MongoDB 4.4+ bulkWrite-deleteOne-let.json SKIP BulkWrite deleteOne with let option needs server >= 5.0 bulkWrite-deleteOne-let.json FAIL BulkWrite deleteOne with let option unsupported (server-side error) bulkWrite: expected an error, the operation succeeded bulkWrite-deleteOne-rawdata.json SKIP BulkWrite deleteOne with rawData option needs server >= 8.2.0 @@ -243,8 +243,6 @@ bulkWrite-insertOne-dots_and_dollars.json SKIP Inserting document with top-level bulkWrite-insertOne-dots_and_dollars.json FAIL Inserting document with top-level dollar-prefixed key on pre-5.0 server yields server-side error bulkWrite: expected an error, the operation succeeded bulkWrite-replaceOne-dots_and_dollars.json SKIP Replacing document with dollar-prefixed key in embedded doc on 5.0+ server needs server >= 5.0 bulkWrite-replaceOne-dots_and_dollars.json FAIL Replacing document with dollar-prefixed key in embedded doc on pre-5.0 server yields server-side error bulkWrite: expected an error, the operation succeeded -bulkWrite-replaceOne-hint-unacknowledged.json FAIL Unacknowledged replaceOne with hint string on 4.2+ server events client0[0].command.writeConcern: missing from actual -bulkWrite-replaceOne-hint-unacknowledged.json FAIL Unacknowledged replaceOne with hint document on 4.2+ server events client0[0].command.writeConcern: missing from actual bulkWrite-replaceOne-let.json SKIP BulkWrite replaceOne with let option needs server >= 5.0 bulkWrite-replaceOne-let.json FAIL BulkWrite replaceOne with let option unsupported (server-side error) bulkWrite: expected an error, the operation succeeded bulkWrite-replaceOne-rawdata.json SKIP BulkWrite replaceOne with rawData option needs server >= 8.2.0 @@ -254,8 +252,6 @@ bulkWrite-updateMany-dots_and_dollars.json SKIP Updating document to set top-lev bulkWrite-updateMany-dots_and_dollars.json SKIP Updating document to set top-level dotted key on 5.0+ server needs server >= 5.0 bulkWrite-updateMany-dots_and_dollars.json SKIP Updating document to set dollar-prefixed key in embedded doc on 5.0+ server needs server >= 5.0 bulkWrite-updateMany-dots_and_dollars.json SKIP Updating document to set dotted key in embedded doc on 5.0+ server needs server >= 5.0 -bulkWrite-updateMany-hint-unacknowledged.json FAIL Unacknowledged updateMany with hint string on 4.2+ server events client0[0].command.writeConcern: missing from actual -bulkWrite-updateMany-hint-unacknowledged.json FAIL Unacknowledged updateMany with hint document on 4.2+ server events client0[0].command.writeConcern: missing from actual bulkWrite-updateMany-let.json SKIP BulkWrite updateMany with let option needs server >= 5.0 bulkWrite-updateMany-let.json FAIL BulkWrite updateMany with let option unsupported (server-side error) bulkWrite: error message "update spec requires u" does not contain "'update.let' is an unknown field" bulkWrite-updateMany-pipeline.json FAIL UpdateMany in bulk write using pipelines MongoBulkWriteError: update spec requires u @@ -265,8 +261,6 @@ bulkWrite-updateOne-dots_and_dollars.json SKIP Updating document to set top-leve bulkWrite-updateOne-dots_and_dollars.json SKIP Updating document to set top-level dotted key on 5.0+ server needs server >= 5.0 bulkWrite-updateOne-dots_and_dollars.json SKIP Updating document to set dollar-prefixed key in embedded doc on 5.0+ server needs server >= 5.0 bulkWrite-updateOne-dots_and_dollars.json SKIP Updating document to set dotted key in embedded doc on 5.0+ server needs server >= 5.0 -bulkWrite-updateOne-hint-unacknowledged.json FAIL Unacknowledged updateOne with hint string on 4.2+ server events client0[0].command.writeConcern: missing from actual -bulkWrite-updateOne-hint-unacknowledged.json FAIL Unacknowledged updateOne with hint document on 4.2+ server events client0[0].command.writeConcern: missing from actual bulkWrite-updateOne-let.json SKIP BulkWrite updateOne with let option needs server >= 5.0 bulkWrite-updateOne-let.json FAIL BulkWrite updateOne with let option unsupported (server-side error) bulkWrite: error message "update spec requires u" does not contain "'update.let' is an unknown field" bulkWrite-updateOne-pipeline.json FAIL UpdateOne in bulk write using pipelines MongoBulkWriteError: update spec requires u @@ -326,8 +320,8 @@ deleteMany-comment.json SKIP deleteMany with comment - pre 4.4 needs server <= 4 deleteMany-hint-serverError.json SKIP * needs server <= 4.3.3 deleteMany-hint-unacknowledged.json SKIP Unacknowledged deleteMany with hint string fails with client-side error on pre-4.4 server needs server <= 4.2.99 deleteMany-hint-unacknowledged.json SKIP Unacknowledged deleteMany with hint document fails with client-side error on pre-4.4 server needs server <= 4.2.99 -deleteMany-hint-unacknowledged.json FAIL Unacknowledged deleteMany with hint string on 4.4+ server events client0[0].command.writeConcern: missing from actual -deleteMany-hint-unacknowledged.json FAIL Unacknowledged deleteMany with hint document on 4.4+ server events client0[0].command.writeConcern: missing from actual +deleteMany-hint-unacknowledged.json FAIL Unacknowledged deleteMany with hint string on 4.4+ server MongoCompatibilityError: hint for the delete command is only supported on MongoDB 4.4+ +deleteMany-hint-unacknowledged.json FAIL Unacknowledged deleteMany with hint document on 4.4+ server MongoCompatibilityError: hint for the delete command is only supported on MongoDB 4.4+ deleteMany-let.json SKIP deleteMany with let option needs server >= 5.0 deleteMany-let.json FAIL deleteMany with let option unsupported (server-side error) deleteMany: expected an error, the operation succeeded deleteMany-rawdata.json SKIP deleteMany with rawData option needs server >= 8.2.0 @@ -337,8 +331,8 @@ deleteOne-errorResponse.json SKIP delete operations support errorResponse assert deleteOne-hint-serverError.json SKIP * needs server <= 4.3.3 deleteOne-hint-unacknowledged.json SKIP Unacknowledged deleteOne with hint string fails with client-side error on pre-4.4 server needs server <= 4.2.99 deleteOne-hint-unacknowledged.json SKIP Unacknowledged deleteOne with hint document fails with client-side error on pre-4.4 server needs server <= 4.2.99 -deleteOne-hint-unacknowledged.json FAIL Unacknowledged deleteOne with hint string on 4.4+ server events client0[0].command.writeConcern: missing from actual -deleteOne-hint-unacknowledged.json FAIL Unacknowledged deleteOne with hint document on 4.4+ server events client0[0].command.writeConcern: missing from actual +deleteOne-hint-unacknowledged.json FAIL Unacknowledged deleteOne with hint string on 4.4+ server MongoCompatibilityError: hint for the delete command is only supported on MongoDB 4.4+ +deleteOne-hint-unacknowledged.json FAIL Unacknowledged deleteOne with hint document on 4.4+ server MongoCompatibilityError: hint for the delete command is only supported on MongoDB 4.4+ deleteOne-let.json SKIP deleteOne with let option needs server >= 5.0 deleteOne-let.json FAIL deleteOne with let option unsupported (server-side error) deleteOne: expected an error, the operation succeeded deleteOne-rawdata.json SKIP deleteOne with rawData option needs server >= 8.2.0 @@ -373,8 +367,8 @@ findOneAndDelete-comment.json SKIP findOneAndDelete with comment - pre 4.4 needs findOneAndDelete-hint-serverError.json SKIP * needs server <= 4.3.3 findOneAndDelete-hint-unacknowledged.json SKIP Unacknowledged findOneAndDelete with hint string fails with client-side error on pre-4.4 server needs server <= 4.2.99 findOneAndDelete-hint-unacknowledged.json SKIP Unacknowledged findOneAndDelete with hint document fails with client-side error on pre-4.4 server needs server <= 4.2.99 -findOneAndDelete-hint-unacknowledged.json FAIL Unacknowledged findOneAndDelete with hint string on 4.4+ server findOneAndDelete: expected null, got {"_id":2,"x":22} -findOneAndDelete-hint-unacknowledged.json FAIL Unacknowledged findOneAndDelete with hint document on 4.4+ server findOneAndDelete: expected null, got {"_id":2,"x":22} +findOneAndDelete-hint-unacknowledged.json FAIL Unacknowledged findOneAndDelete with hint string on 4.4+ server MongoCompatibilityError: hint for the findAndModify command is only supported on MongoDB 4.4+ +findOneAndDelete-hint-unacknowledged.json FAIL Unacknowledged findOneAndDelete with hint document on 4.4+ server MongoCompatibilityError: hint for the findAndModify command is only supported on MongoDB 4.4+ findOneAndDelete-let.json SKIP findOneAndDelete with let option needs server >= 5.0 findOneAndDelete-let.json FAIL findOneAndDelete with let option unsupported (server-side error) findOneAndDelete: expected an error, the operation succeeded findOneAndDelete-rawdata.json SKIP findOneAndDelete with rawData option needs server >= 8.2.0 @@ -385,8 +379,8 @@ findOneAndReplace-dots_and_dollars.json FAIL Replacing document with dollar-pref findOneAndReplace-hint-serverError.json SKIP * needs server <= 4.3.0 findOneAndReplace-hint-unacknowledged.json SKIP Unacknowledged findOneAndReplace with hint string fails with client-side error on pre-4.4 server needs server <= 4.2.99 findOneAndReplace-hint-unacknowledged.json SKIP Unacknowledged findOneAndReplace with hint document fails with client-side error on pre-4.4 server needs server <= 4.2.99 -findOneAndReplace-hint-unacknowledged.json FAIL Unacknowledged findOneAndReplace with hint string on 4.4+ server findOneAndReplace: expected null, got {"_id":2,"x":22} -findOneAndReplace-hint-unacknowledged.json FAIL Unacknowledged findOneAndReplace with hint document on 4.4+ server findOneAndReplace: expected null, got {"_id":2,"x":22} +findOneAndReplace-hint-unacknowledged.json FAIL Unacknowledged findOneAndReplace with hint string on 4.4+ server MongoCompatibilityError: hint for the findAndModify command is only supported on MongoDB 4.4+ +findOneAndReplace-hint-unacknowledged.json FAIL Unacknowledged findOneAndReplace with hint document on 4.4+ server MongoCompatibilityError: hint for the findAndModify command is only supported on MongoDB 4.4+ findOneAndReplace-let.json SKIP findOneAndReplace with let option needs server >= 5.0 findOneAndReplace-let.json FAIL findOneAndReplace with let option unsupported (server-side error) findOneAndReplace: expected an error, the operation succeeded findOneAndReplace-rawdata.json SKIP findOneAndReplace with rawData option needs server >= 8.2.0 @@ -410,8 +404,8 @@ findOneAndUpdate-errorResponse.json SKIP findOneAndUpdate document validation er findOneAndUpdate-hint-serverError.json SKIP * needs server <= 4.3.0 findOneAndUpdate-hint-unacknowledged.json SKIP Unacknowledged findOneAndUpdate with hint string fails with client-side error on pre-4.4 server needs server <= 4.2.99 findOneAndUpdate-hint-unacknowledged.json SKIP Unacknowledged findOneAndUpdate with hint document fails with client-side error on pre-4.4 server needs server <= 4.2.99 -findOneAndUpdate-hint-unacknowledged.json FAIL Unacknowledged findOneAndUpdate with hint string on 4.4+ server findOneAndUpdate: expected null, got {"_id":2,"x":22} -findOneAndUpdate-hint-unacknowledged.json FAIL Unacknowledged findOneAndUpdate with hint document on 4.4+ server findOneAndUpdate: expected null, got {"_id":2,"x":22} +findOneAndUpdate-hint-unacknowledged.json FAIL Unacknowledged findOneAndUpdate with hint string on 4.4+ server MongoCompatibilityError: hint for the findAndModify command is only supported on MongoDB 4.4+ +findOneAndUpdate-hint-unacknowledged.json FAIL Unacknowledged findOneAndUpdate with hint document on 4.4+ server MongoCompatibilityError: hint for the findAndModify command is only supported on MongoDB 4.4+ findOneAndUpdate-let.json SKIP findOneAndUpdate with let option needs server >= 5.0 findOneAndUpdate-let.json FAIL findOneAndUpdate with let option unsupported (server-side error) findOneAndUpdate: expected an error, the operation succeeded findOneAndUpdate-pipeline.json FAIL FindOneAndUpdate using pipelines MongoServerError: update must be a document @@ -428,16 +422,12 @@ insertOne-comment.json SKIP insertOne with comment - pre 4.4 needs server <= 4.2 insertOne-dots_and_dollars.json SKIP Inserting document with top-level dollar-prefixed key on 5.0+ server needs server >= 5.0 insertOne-dots_and_dollars.json FAIL Inserting document with top-level dollar-prefixed key on pre-5.0 server yields server-side error insertOne: expected an error, the operation succeeded insertOne-dots_and_dollars.json FAIL Inserting document with dollar-prefixed key in _id yields server-side error insertOne: expected an error, the operation succeeded -insertOne-dots_and_dollars.json FAIL Unacknowledged write using dollar-prefixed or dotted keys may be silently rejected on pre-5.0 server events client0[0].command.writeConcern: missing from actual insertOne-errorResponse.json SKIP insert operations support errorResponse assertions runner: failPoint insertOne-rawdata.json SKIP insertOne with rawData option needs server >= 8.2.0 replaceOne-collation.json FAIL ReplaceOne when one document matches with collation replaceOne.matchedCount: expected 1, got 0 replaceOne-comment.json SKIP ReplaceOne with comment - pre 4.4 needs server <= 4.2.99 replaceOne-dots_and_dollars.json SKIP Replacing document with dollar-prefixed key in embedded doc on 5.0+ server needs server >= 5.0 replaceOne-dots_and_dollars.json FAIL Replacing document with dollar-prefixed key in embedded doc on pre-5.0 server yields server-side error replaceOne: expected an error, the operation succeeded -replaceOne-dots_and_dollars.json FAIL Unacknowledged write using dollar-prefixed or dotted keys may be silently rejected on pre-5.0 server events client0[0].command.writeConcern: missing from actual -replaceOne-hint-unacknowledged.json FAIL Unacknowledged replaceOne with hint string on 4.2+ server events client0[0].command.writeConcern: missing from actual -replaceOne-hint-unacknowledged.json FAIL Unacknowledged replaceOne with hint document on 4.2+ server events client0[0].command.writeConcern: missing from actual replaceOne-let.json SKIP ReplaceOne with let option needs server >= 5.0 replaceOne-let.json FAIL ReplaceOne with let option unsupported (server-side error) replaceOne: expected an error, the operation succeeded replaceOne-rawdata.json SKIP ReplaceOne with rawData option needs server >= 8.2.0 @@ -452,8 +442,6 @@ updateMany-dots_and_dollars.json SKIP Updating document to set top-level dollar- updateMany-dots_and_dollars.json SKIP Updating document to set top-level dotted key on 5.0+ server needs server >= 5.0 updateMany-dots_and_dollars.json SKIP Updating document to set dollar-prefixed key in embedded doc on 5.0+ server needs server >= 5.0 updateMany-dots_and_dollars.json SKIP Updating document to set dotted key in embedded doc on 5.0+ server needs server >= 5.0 -updateMany-hint-unacknowledged.json FAIL Unacknowledged updateMany with hint string on 4.2+ server events client0[0].command.writeConcern: missing from actual -updateMany-hint-unacknowledged.json FAIL Unacknowledged updateMany with hint document on 4.2+ server events client0[0].command.writeConcern: missing from actual updateMany-let.json SKIP updateMany with let option needs server >= 5.0 updateMany-let.json FAIL updateMany with let option unsupported (server-side error) updateMany: error message "update spec requires u" does not contain "'update.let' is an unknown field" updateMany-pipeline.json FAIL UpdateMany using pipelines MongoServerError: update spec requires u @@ -470,8 +458,6 @@ updateOne-dots_and_dollars.json SKIP Updating document to set top-level dotted k updateOne-dots_and_dollars.json SKIP Updating document to set dollar-prefixed key in embedded doc on 5.0+ server needs server >= 5.0 updateOne-dots_and_dollars.json SKIP Updating document to set dotted key in embedded doc on 5.0+ server needs server >= 5.0 updateOne-errorResponse.json SKIP update operations support errorResponse assertions runner: failPoint -updateOne-hint-unacknowledged.json FAIL Unacknowledged updateOne with hint string on 4.2+ server events client0[0].command.writeConcern: missing from actual -updateOne-hint-unacknowledged.json FAIL Unacknowledged updateOne with hint document on 4.2+ server events client0[0].command.writeConcern: missing from actual updateOne-let.json SKIP UpdateOne with let option needs server >= 5.0 updateOne-let.json FAIL UpdateOne with let option unsupported (server-side error) updateOne: error message "update spec requires u" does not contain "'update.let' is an unknown field" updateOne-pipeline.json FAIL UpdateOne using pipelines MongoServerError: update spec requires u