M1: doc-level free list, sessions, and a spec runner that no longer overstates #1
@@ -646,6 +646,21 @@ function matchEvent(expected, actual, entities, pathStr) {
|
||||
for (const [k, v] of Object.entries(body || {})) {
|
||||
switch (k) {
|
||||
case 'command':
|
||||
// The one assertion this runner cannot make, and the only
|
||||
// escape hatch in it. Every client entity carries CSOT
|
||||
// `timeoutMS` (see OP_TIMEOUT_MS), and CSOT overwrites
|
||||
// `maxTimeMS` on every command with what is left of that
|
||||
// budget -- so the value on the wire is the harness's, not the
|
||||
// test's. Dropping `timeoutMS` is not the alternative: it is
|
||||
// what replaced the outer race that produced ~190 phantom
|
||||
// timeout FAILs, and it would cost far more than one case.
|
||||
// Refused unconditionally rather than only when the values
|
||||
// differ, so this can never turn into a pass by coincidence.
|
||||
if (isPlainDoc(v) && Object.prototype.hasOwnProperty.call(v, 'maxTimeMS')) {
|
||||
throw new Unsupported('maxTimeMS in an expected command (CSOT rewrites it)');
|
||||
}
|
||||
match(v, actual.ev[k], entities, `${pathStr}.${k}`, true);
|
||||
break;
|
||||
case 'reply':
|
||||
match(v, actual.ev[k], entities, `${pathStr}.${k}`, true);
|
||||
break;
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
# semantics; ignoring them makes some cases pass that a full runner would
|
||||
# fail, so treat `pass` as an upper bound until M1 wires events up.
|
||||
|
||||
total 159 pass 133 fail 195 skip 175 files 0 errored
|
||||
total 159 pass 132 fail 196 skip 175 files 0 errored
|
||||
|
||||
# per-file: name pass fail skip
|
||||
aggregate-allowdiskuse.json 3 0 0
|
||||
@@ -109,7 +109,7 @@ distinct-rawdata.json 0 1 1
|
||||
distinct.json 0 2 0
|
||||
estimatedDocumentCount-comment.json 1 1 1
|
||||
estimatedDocumentCount-rawdata.json 1 0 1
|
||||
estimatedDocumentCount.json 2 2 2
|
||||
estimatedDocumentCount.json 2 1 3
|
||||
find-allowdiskuse-serverError.json 0 0 2
|
||||
find-allowdiskuse.json 3 0 0
|
||||
find-collation.json 0 1 0
|
||||
@@ -348,7 +348,7 @@ distinct.json FAIL Distinct with a filter MongoServerError: no such command: 'di
|
||||
estimatedDocumentCount-comment.json SKIP estimatedDocumentCount with document comment needs server >= 4.4.14
|
||||
estimatedDocumentCount-comment.json FAIL estimatedDocumentCount with document comment - pre 4.4.14, server error estimatedDocumentCount: expected an error, the operation succeeded
|
||||
estimatedDocumentCount-rawdata.json SKIP Estimated document count with rawData option needs server >= 8.2.0
|
||||
estimatedDocumentCount.json FAIL estimatedDocumentCount with maxTimeMS events client0[0].command.maxTimeMS: expected 6000, got 10000
|
||||
estimatedDocumentCount.json SKIP estimatedDocumentCount with maxTimeMS runner: maxTimeMS in an expected command (CSOT rewrites it)
|
||||
estimatedDocumentCount.json SKIP estimatedDocumentCount errors correctly--command error runner: failPoint
|
||||
estimatedDocumentCount.json SKIP estimatedDocumentCount errors correctly--socket error runner: failPoint
|
||||
estimatedDocumentCount.json FAIL estimatedDocumentCount works correctly on views estimatedDocumentCount: expected 2, got 0
|
||||
|
||||
Reference in New Issue
Block a user