tests/spec: a collection entity gets the options it was declared with
`buildEntities` built every collection as `db.collection(name)` and every
database as `client.db(name)`, dropping `collectionOptions` and
`databaseOptions` on the floor. 15 collection entities declare a
`writeConcern`, 7 a `readConcern`, one a `readPreference` -- and the 15 are all
`{w: 0}`, so every "unacknowledged write" case in this corpus has been running
an acknowledged write against a driver that was never told otherwise.
They passed anyway, because an acknowledged and an unacknowledged write of the
same document produce results a `$$unsetOrMatches` expectation accepts either
way. Only the command on the wire distinguished them, and nothing was reading
the command until the previous commits. This is the first thing the event
assertions found, and it is a fair answer to what they cost.
Option documents are unwrapped from their BSON types on the way to the driver.
The suites are parsed with `relaxed: false`, so `{w: 0}` arrives as an Int32
and the driver gates `writeConcern.w` on `typeof w === 'number'` -- the same
trap NUMERIC_OPTIONS already documents for operation options, and a silent one:
the option would simply not apply. Wholesale unwrapping is safe here in a way
it is not there, since these are settings the driver consumes rather than
values an assertion compares. An option key outside the spec's
`collectionOrDatabaseOptions` set is reported unsupported rather than ignored,
which is the lesson of the bug itself.
159/132/196 becomes 173/118/196. 14 cases fixed, none broken.
The other 10 unacknowledged cases now fail differently, and that is progress
of a sort: with `w: 0` actually applied, the driver refuses client-side to send
`hint` on a delete or findAndModify to a server older than 4.4. This engine
reports itself as 4.4.0 with maxWireVersion 8, and 4.4 is wire 9. That
inconsistency is ours, it is the same one behind the `comment`-on-getMore
failures, and it gets the next commit.
This commit is contained in:
@@ -542,6 +542,32 @@ function disableEvents(events) {
|
|||||||
for (const buf of events.values()) buf.enabled = false;
|
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
|
// `clients` is supplied by the caller so that entities created before a
|
||||||
// failure are still closed: returning them only on success is what leaked.
|
// 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
|
// `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;
|
map[def.id] = c;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 'database': map[def.id] = map[def.client].db(def.databaseName); break;
|
case 'database':
|
||||||
case 'collection': map[def.id] = map[def.database].collection(def.collectionName); break;
|
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 'session': throw new Unsupported('session entities (M4)');
|
||||||
case 'bucket': throw new Unsupported('gridfs bucket entities');
|
case 'bucket': throw new Unsupported('gridfs bucket entities');
|
||||||
case 'clientEncryption': throw new Unsupported('client-side encryption');
|
case 'clientEncryption': throw new Unsupported('client-side encryption');
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
# hasServerConnectionId, and maxTimeMS in an expected command (CSOT rewrites
|
# hasServerConnectionId, and maxTimeMS in an expected command (CSOT rewrites
|
||||||
# it -- the only assertion this runner declines to make).
|
# 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
|
# per-file: name pass fail skip
|
||||||
aggregate-allowdiskuse.json 3 0 0
|
aggregate-allowdiskuse.json 3 0 0
|
||||||
@@ -45,19 +45,19 @@ bulkWrite-deleteOne-rawdata.json 1 0 1
|
|||||||
bulkWrite-errorResponse.json 0 0 1
|
bulkWrite-errorResponse.json 0 0 1
|
||||||
bulkWrite-insertOne-dots_and_dollars.json 3 1 1
|
bulkWrite-insertOne-dots_and_dollars.json 3 1 1
|
||||||
bulkWrite-replaceOne-dots_and_dollars.json 2 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-let.json 0 1 1
|
||||||
bulkWrite-replaceOne-rawdata.json 1 0 1
|
bulkWrite-replaceOne-rawdata.json 1 0 1
|
||||||
bulkWrite-replaceOne-sort.json 0 1 1
|
bulkWrite-replaceOne-sort.json 0 1 1
|
||||||
bulkWrite-update-hint.json 3 0 0
|
bulkWrite-update-hint.json 3 0 0
|
||||||
bulkWrite-update-validation.json 3 0 0
|
bulkWrite-update-validation.json 3 0 0
|
||||||
bulkWrite-updateMany-dots_and_dollars.json 0 0 4
|
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-let.json 0 1 1
|
||||||
bulkWrite-updateMany-pipeline.json 0 1 0
|
bulkWrite-updateMany-pipeline.json 0 1 0
|
||||||
bulkWrite-updateMany-rawdata.json 0 1 1
|
bulkWrite-updateMany-rawdata.json 0 1 1
|
||||||
bulkWrite-updateOne-dots_and_dollars.json 0 0 4
|
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-let.json 0 1 1
|
||||||
bulkWrite-updateOne-pipeline.json 0 1 0
|
bulkWrite-updateOne-pipeline.json 0 1 0
|
||||||
bulkWrite-updateOne-rawdata.json 0 1 1
|
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-rawdata.json 1 0 1
|
||||||
insertMany.json 3 0 0
|
insertMany.json 3 0 0
|
||||||
insertOne-comment.json 2 0 1
|
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-errorResponse.json 0 0 1
|
||||||
insertOne-rawdata.json 1 0 1
|
insertOne-rawdata.json 1 0 1
|
||||||
insertOne.json 1 0 0
|
insertOne.json 1 0 0
|
||||||
replaceOne-collation.json 0 1 0
|
replaceOne-collation.json 0 1 0
|
||||||
replaceOne-comment.json 2 0 1
|
replaceOne-comment.json 2 0 1
|
||||||
replaceOne-dots_and_dollars.json 2 2 1
|
replaceOne-dots_and_dollars.json 3 1 1
|
||||||
replaceOne-hint-unacknowledged.json 0 2 0
|
replaceOne-hint-unacknowledged.json 2 0 0
|
||||||
replaceOne-hint.json 2 0 0
|
replaceOne-hint.json 2 0 0
|
||||||
replaceOne-let.json 0 1 1
|
replaceOne-let.json 0 1 1
|
||||||
replaceOne-rawdata.json 1 0 1
|
replaceOne-rawdata.json 1 0 1
|
||||||
@@ -176,7 +176,7 @@ updateMany-arrayFilters.json 0 3 0
|
|||||||
updateMany-collation.json 0 1 0
|
updateMany-collation.json 0 1 0
|
||||||
updateMany-comment.json 2 0 1
|
updateMany-comment.json 2 0 1
|
||||||
updateMany-dots_and_dollars.json 0 0 4
|
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-hint.json 2 0 0
|
||||||
updateMany-let.json 0 1 1
|
updateMany-let.json 0 1 1
|
||||||
updateMany-pipeline.json 0 1 0
|
updateMany-pipeline.json 0 1 0
|
||||||
@@ -188,7 +188,7 @@ updateOne-collation.json 0 1 0
|
|||||||
updateOne-comment.json 2 0 1
|
updateOne-comment.json 2 0 1
|
||||||
updateOne-dots_and_dollars.json 0 0 4
|
updateOne-dots_and_dollars.json 0 0 4
|
||||||
updateOne-errorResponse.json 0 0 1
|
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-hint.json 2 0 0
|
||||||
updateOne-let.json 0 1 1
|
updateOne-let.json 0 1 1
|
||||||
updateOne-pipeline.json 0 1 0
|
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-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 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 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 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 events client0[0].command.writeConcern: missing from actual
|
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 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-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-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 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 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 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 events client0[0].command.writeConcern: missing from actual
|
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 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-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
|
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-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 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-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 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-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
|
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 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 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-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 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-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
|
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 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 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-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 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-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
|
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-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 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 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 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 events client0[0].command.writeConcern: missing from actual
|
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 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-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
|
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-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 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 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 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 events client0[0].command.writeConcern: missing from actual
|
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 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-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
|
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-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 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 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 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 findOneAndDelete: expected null, got {"_id":2,"x":22}
|
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 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-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
|
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-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 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 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 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 findOneAndReplace: expected null, got {"_id":2,"x":22}
|
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 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-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
|
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-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 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 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 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 findOneAndUpdate: expected null, got {"_id":2,"x":22}
|
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 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-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
|
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 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 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 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-errorResponse.json SKIP insert operations support errorResponse assertions runner: failPoint
|
||||||
insertOne-rawdata.json SKIP insertOne with rawData option needs server >= 8.2.0
|
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-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-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 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 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 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-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
|
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 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 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-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 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-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
|
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 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-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-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 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-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
|
updateOne-pipeline.json FAIL UpdateOne using pipelines MongoServerError: update spec requires u
|
||||||
|
|||||||
Reference in New Issue
Block a user