PYTHON-4267 Convert read/write concern spec tests to unified test format (#1763)

This commit is contained in:
Steven Silvester 2024-08-01 20:01:00 -05:00 committed by GitHub
parent 8143f056b5
commit 5699f8029d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 788 additions and 565 deletions

View File

@ -137,6 +137,9 @@ do
srv|SRV|initial-dns-seedlist-discovery|srv_seedlist)
cpjson initial-dns-seedlist-discovery/tests/ srv_seedlist
;;
read-write-concern|read_write_concern)
cpjson read-write-concern/tests/operation read_write_concern/operation
;;
retryable-reads|retryable_reads)
cpjson retryable-reads/tests/ retryable_reads
;;

View File

@ -1,53 +1,93 @@
{
"data": [
{
"_id": 1,
"x": 11
},
{
"_id": 2,
"x": 22
}
],
"collection_name": "default_write_concern_coll",
"database_name": "default_write_concern_db",
"runOn": [
"description": "default-write-concern-2.6",
"schemaVersion": "1.0",
"runOnRequirements": [
{
"minServerVersion": "2.6"
}
],
"createEntities": [
{
"client": {
"id": "client0",
"observeEvents": [
"commandStartedEvent"
]
}
},
{
"database": {
"id": "database0",
"client": "client0",
"databaseName": "default-write-concern-tests",
"databaseOptions": {
"writeConcern": {}
}
}
},
{
"collection": {
"id": "collection0",
"database": "database0",
"collectionName": "coll",
"collectionOptions": {
"writeConcern": {}
}
}
}
],
"initialData": [
{
"collectionName": "coll",
"databaseName": "default-write-concern-tests",
"documents": [
{
"_id": 1,
"x": 11
},
{
"_id": 2,
"x": 22
}
]
}
],
"tests": [
{
"description": "DeleteOne omits default write concern",
"operations": [
{
"name": "deleteOne",
"object": "collection",
"collectionOptions": {
"writeConcern": {}
},
"object": "collection0",
"arguments": {
"filter": {}
},
"result": {
"expectResult": {
"deletedCount": 1
}
}
],
"expectations": [
"expectEvents": [
{
"command_started_event": {
"command": {
"delete": "default_write_concern_coll",
"deletes": [
{
"q": {},
"limit": 1
"client": "client0",
"events": [
{
"commandStartedEvent": {
"command": {
"delete": "coll",
"deletes": [
{
"q": {},
"limit": 1
}
],
"writeConcern": {
"$$exists": false
}
}
],
"writeConcern": null
}
}
}
]
}
]
},
@ -56,32 +96,36 @@
"operations": [
{
"name": "deleteMany",
"object": "collection",
"collectionOptions": {
"writeConcern": {}
},
"object": "collection0",
"arguments": {
"filter": {}
},
"result": {
"expectResult": {
"deletedCount": 2
}
}
],
"expectations": [
"expectEvents": [
{
"command_started_event": {
"command": {
"delete": "default_write_concern_coll",
"deletes": [
{
"q": {},
"limit": 0
"client": "client0",
"events": [
{
"commandStartedEvent": {
"command": {
"delete": "coll",
"deletes": [
{
"q": {},
"limit": 0
}
],
"writeConcern": {
"$$exists": false
}
}
],
"writeConcern": null
}
}
}
]
}
]
},
@ -90,30 +134,24 @@
"operations": [
{
"name": "bulkWrite",
"object": "collection",
"collectionOptions": {
"writeConcern": {}
},
"object": "collection0",
"arguments": {
"ordered": true,
"requests": [
{
"name": "deleteMany",
"arguments": {
"deleteMany": {
"filter": {}
}
},
{
"name": "insertOne",
"arguments": {
"insertOne": {
"document": {
"_id": 1
}
}
},
{
"name": "updateOne",
"arguments": {
"updateOne": {
"filter": {
"_id": 1
},
@ -125,16 +163,14 @@
}
},
{
"name": "insertOne",
"arguments": {
"insertOne": {
"document": {
"_id": 2
}
}
},
{
"name": "replaceOne",
"arguments": {
"replaceOne": {
"filter": {
"_id": 1
},
@ -144,16 +180,14 @@
}
},
{
"name": "insertOne",
"arguments": {
"insertOne": {
"document": {
"_id": 3
}
}
},
{
"name": "updateMany",
"arguments": {
"updateMany": {
"filter": {
"_id": 1
},
@ -165,8 +199,7 @@
}
},
{
"name": "deleteOne",
"arguments": {
"deleteOne": {
"filter": {
"_id": 3
}
@ -176,10 +209,177 @@
}
}
],
"outcome": {
"collection": {
"name": "default_write_concern_coll",
"data": [
"expectEvents": [
{
"client": "client0",
"events": [
{
"commandStartedEvent": {
"command": {
"delete": "coll",
"deletes": [
{
"q": {},
"limit": 0
}
],
"writeConcern": {
"$$exists": false
}
}
}
},
{
"commandStartedEvent": {
"command": {
"insert": "coll",
"documents": [
{
"_id": 1
}
],
"writeConcern": {
"$$exists": false
}
}
}
},
{
"commandStartedEvent": {
"command": {
"update": "coll",
"updates": [
{
"q": {
"_id": 1
},
"u": {
"$set": {
"x": 1
}
},
"upsert": {
"$$unsetOrMatches": false
},
"multi": {
"$$unsetOrMatches": false
}
}
],
"writeConcern": {
"$$exists": false
}
}
}
},
{
"commandStartedEvent": {
"command": {
"insert": "coll",
"documents": [
{
"_id": 2
}
],
"writeConcern": {
"$$exists": false
}
}
}
},
{
"commandStartedEvent": {
"command": {
"update": "coll",
"updates": [
{
"q": {
"_id": 1
},
"u": {
"x": 2
},
"upsert": {
"$$unsetOrMatches": false
},
"multi": {
"$$unsetOrMatches": false
}
}
],
"writeConcern": {
"$$exists": false
}
}
}
},
{
"commandStartedEvent": {
"command": {
"insert": "coll",
"documents": [
{
"_id": 3
}
],
"writeConcern": {
"$$exists": false
}
}
}
},
{
"commandStartedEvent": {
"command": {
"update": "coll",
"updates": [
{
"q": {
"_id": 1
},
"u": {
"$set": {
"x": 3
}
},
"multi": true,
"upsert": {
"$$unsetOrMatches": false
}
}
],
"writeConcern": {
"$$exists": false
}
}
}
},
{
"commandStartedEvent": {
"command": {
"delete": "coll",
"deletes": [
{
"q": {
"_id": 3
},
"limit": 1
}
],
"writeConcern": {
"$$exists": false
}
}
}
}
]
}
],
"outcome": [
{
"collectionName": "coll",
"databaseName": "default-write-concern-tests",
"documents": [
{
"_id": 1,
"x": 3
@ -189,136 +389,6 @@
}
]
}
},
"expectations": [
{
"command_started_event": {
"command": {
"delete": "default_write_concern_coll",
"deletes": [
{
"q": {},
"limit": 0
}
],
"writeConcern": null
}
}
},
{
"command_started_event": {
"command": {
"insert": "default_write_concern_coll",
"documents": [
{
"_id": 1
}
],
"writeConcern": null
}
}
},
{
"command_started_event": {
"command": {
"update": "default_write_concern_coll",
"updates": [
{
"q": {
"_id": 1
},
"u": {
"$set": {
"x": 1
}
}
}
],
"writeConcern": null
}
}
},
{
"command_started_event": {
"command": {
"insert": "default_write_concern_coll",
"documents": [
{
"_id": 2
}
],
"writeConcern": null
}
}
},
{
"command_started_event": {
"command": {
"update": "default_write_concern_coll",
"updates": [
{
"q": {
"_id": 1
},
"u": {
"x": 2
}
}
],
"writeConcern": null
}
}
},
{
"command_started_event": {
"command": {
"insert": "default_write_concern_coll",
"documents": [
{
"_id": 3
}
],
"writeConcern": null
}
}
},
{
"command_started_event": {
"command": {
"update": "default_write_concern_coll",
"updates": [
{
"q": {
"_id": 1
},
"u": {
"$set": {
"x": 3
}
},
"multi": true
}
],
"writeConcern": null
}
}
},
{
"command_started_event": {
"command": {
"delete": "default_write_concern_coll",
"deletes": [
{
"q": {
"_id": 3
},
"limit": 1
}
],
"writeConcern": null
}
}
}
]
},
{
@ -326,10 +396,7 @@
"operations": [
{
"name": "insertOne",
"object": "collection",
"collectionOptions": {
"writeConcern": {}
},
"object": "collection0",
"arguments": {
"document": {
"_id": 3
@ -338,10 +405,7 @@
},
{
"name": "insertMany",
"object": "collection",
"collectionOptions": {
"writeConcern": {}
},
"object": "collection0",
"arguments": {
"documents": [
{
@ -354,10 +418,51 @@
}
}
],
"outcome": {
"collection": {
"name": "default_write_concern_coll",
"data": [
"expectEvents": [
{
"client": "client0",
"events": [
{
"commandStartedEvent": {
"command": {
"insert": "coll",
"documents": [
{
"_id": 3
}
],
"writeConcern": {
"$$exists": false
}
}
}
},
{
"commandStartedEvent": {
"command": {
"insert": "coll",
"documents": [
{
"_id": 4
},
{
"_id": 5
}
],
"writeConcern": {
"$$exists": false
}
}
}
}
]
}
],
"outcome": [
{
"collectionName": "coll",
"databaseName": "default-write-concern-tests",
"documents": [
{
"_id": 1,
"x": 11
@ -377,37 +482,6 @@
}
]
}
},
"expectations": [
{
"command_started_event": {
"command": {
"insert": "default_write_concern_coll",
"documents": [
{
"_id": 3
}
],
"writeConcern": null
}
}
},
{
"command_started_event": {
"command": {
"insert": "default_write_concern_coll",
"documents": [
{
"_id": 4
},
{
"_id": 5
}
],
"writeConcern": null
}
}
}
]
},
{
@ -415,10 +489,7 @@
"operations": [
{
"name": "updateOne",
"object": "collection",
"collectionOptions": {
"writeConcern": {}
},
"object": "collection0",
"arguments": {
"filter": {
"_id": 1
@ -432,10 +503,7 @@
},
{
"name": "updateMany",
"object": "collection",
"collectionOptions": {
"writeConcern": {}
},
"object": "collection0",
"arguments": {
"filter": {
"_id": 2
@ -449,10 +517,7 @@
},
{
"name": "replaceOne",
"object": "collection",
"collectionOptions": {
"writeConcern": {}
},
"object": "collection0",
"arguments": {
"filter": {
"_id": 2
@ -463,10 +528,98 @@
}
}
],
"outcome": {
"collection": {
"name": "default_write_concern_coll",
"data": [
"expectEvents": [
{
"client": "client0",
"events": [
{
"commandStartedEvent": {
"command": {
"update": "coll",
"updates": [
{
"q": {
"_id": 1
},
"u": {
"$set": {
"x": 1
}
},
"upsert": {
"$$unsetOrMatches": false
},
"multi": {
"$$unsetOrMatches": false
}
}
],
"writeConcern": {
"$$exists": false
}
}
}
},
{
"commandStartedEvent": {
"command": {
"update": "coll",
"updates": [
{
"q": {
"_id": 2
},
"u": {
"$set": {
"x": 2
}
},
"multi": true,
"upsert": {
"$$unsetOrMatches": false
}
}
],
"writeConcern": {
"$$exists": false
}
}
}
},
{
"commandStartedEvent": {
"command": {
"update": "coll",
"updates": [
{
"q": {
"_id": 2
},
"u": {
"x": 3
},
"upsert": {
"$$unsetOrMatches": false
},
"multi": {
"$$unsetOrMatches": false
}
}
],
"writeConcern": {
"$$exists": false
}
}
}
}
]
}
],
"outcome": [
{
"collectionName": "coll",
"databaseName": "default-write-concern-tests",
"documents": [
{
"_id": 1,
"x": 1
@ -477,67 +630,6 @@
}
]
}
},
"expectations": [
{
"command_started_event": {
"command": {
"update": "default_write_concern_coll",
"updates": [
{
"q": {
"_id": 1
},
"u": {
"$set": {
"x": 1
}
}
}
],
"writeConcern": null
}
}
},
{
"command_started_event": {
"command": {
"update": "default_write_concern_coll",
"updates": [
{
"q": {
"_id": 2
},
"u": {
"$set": {
"x": 2
}
},
"multi": true
}
],
"writeConcern": null
}
}
},
{
"command_started_event": {
"command": {
"update": "default_write_concern_coll",
"updates": [
{
"q": {
"_id": 2
},
"u": {
"x": 3
}
}
],
"writeConcern": null
}
}
}
]
}
]

View File

@ -1,31 +1,64 @@
{
"data": [
{
"_id": 1,
"x": 11
},
{
"_id": 2,
"x": 22
}
],
"collection_name": "default_write_concern_coll",
"database_name": "default_write_concern_db",
"runOn": [
"description": "default-write-concern-3.2",
"schemaVersion": "1.0",
"runOnRequirements": [
{
"minServerVersion": "3.2"
}
],
"createEntities": [
{
"client": {
"id": "client0",
"observeEvents": [
"commandStartedEvent"
]
}
},
{
"database": {
"id": "database0",
"client": "client0",
"databaseName": "default-write-concern-tests",
"databaseOptions": {
"writeConcern": {}
}
}
},
{
"collection": {
"id": "collection0",
"database": "database0",
"collectionName": "coll",
"collectionOptions": {
"writeConcern": {}
}
}
}
],
"initialData": [
{
"collectionName": "coll",
"databaseName": "default-write-concern-tests",
"documents": [
{
"_id": 1,
"x": 11
},
{
"_id": 2,
"x": 22
}
]
}
],
"tests": [
{
"description": "findAndModify operations omit default write concern",
"operations": [
{
"name": "findOneAndUpdate",
"object": "collection",
"collectionOptions": {
"writeConcern": {}
},
"object": "collection0",
"arguments": {
"filter": {
"_id": 1
@ -39,10 +72,7 @@
},
{
"name": "findOneAndReplace",
"object": "collection",
"collectionOptions": {
"writeConcern": {}
},
"object": "collection0",
"arguments": {
"filter": {
"_id": 2
@ -54,10 +84,7 @@
},
{
"name": "findOneAndDelete",
"object": "collection",
"collectionOptions": {
"writeConcern": {}
},
"object": "collection0",
"arguments": {
"filter": {
"_id": 2
@ -65,60 +92,72 @@
}
}
],
"outcome": {
"collection": {
"name": "default_write_concern_coll",
"data": [
"expectEvents": [
{
"client": "client0",
"events": [
{
"commandStartedEvent": {
"command": {
"findAndModify": "coll",
"query": {
"_id": 1
},
"update": {
"$set": {
"x": 1
}
},
"writeConcern": {
"$$exists": false
}
}
}
},
{
"commandStartedEvent": {
"command": {
"findAndModify": "coll",
"query": {
"_id": 2
},
"update": {
"x": 2
},
"writeConcern": {
"$$exists": false
}
}
}
},
{
"commandStartedEvent": {
"command": {
"findAndModify": "coll",
"query": {
"_id": 2
},
"remove": true,
"writeConcern": {
"$$exists": false
}
}
}
}
]
}
],
"outcome": [
{
"collectionName": "coll",
"databaseName": "default-write-concern-tests",
"documents": [
{
"_id": 1,
"x": 1
}
]
}
},
"expectations": [
{
"command_started_event": {
"command": {
"findAndModify": "default_write_concern_coll",
"query": {
"_id": 1
},
"update": {
"$set": {
"x": 1
}
},
"writeConcern": null
}
}
},
{
"command_started_event": {
"command": {
"findAndModify": "default_write_concern_coll",
"query": {
"_id": 2
},
"update": {
"x": 2
},
"writeConcern": null
}
}
},
{
"command_started_event": {
"command": {
"findAndModify": "default_write_concern_coll",
"query": {
"_id": 2
},
"remove": true,
"writeConcern": null
}
}
}
]
}
]

View File

@ -1,30 +1,68 @@
{
"data": [
{
"_id": 1,
"x": 11
},
{
"_id": 2,
"x": 22
}
],
"collection_name": "default_write_concern_coll",
"database_name": "default_write_concern_db",
"runOn": [
"description": "default-write-concern-3.4",
"schemaVersion": "1.4",
"runOnRequirements": [
{
"minServerVersion": "3.4"
}
],
"createEntities": [
{
"client": {
"id": "client0",
"observeEvents": [
"commandStartedEvent"
]
}
},
{
"database": {
"id": "database0",
"client": "client0",
"databaseName": "default-write-concern-tests",
"databaseOptions": {
"writeConcern": {}
}
}
},
{
"collection": {
"id": "collection0",
"database": "database0",
"collectionName": "coll",
"collectionOptions": {
"writeConcern": {}
}
}
}
],
"initialData": [
{
"collectionName": "coll",
"databaseName": "default-write-concern-tests",
"documents": [
{
"_id": 1,
"x": 11
},
{
"_id": 2,
"x": 22
}
]
}
],
"tests": [
{
"description": "Aggregate with $out omits default write concern",
"runOnRequirements": [
{
"serverless": "forbid"
}
],
"operations": [
{
"object": "collection",
"collectionOptions": {
"writeConcern": {}
},
"object": "collection0",
"name": "aggregate",
"arguments": {
"pipeline": [
@ -42,77 +80,89 @@
}
}
],
"outcome": {
"collection": {
"name": "other_collection_name",
"data": [
"expectEvents": [
{
"client": "client0",
"events": [
{
"commandStartedEvent": {
"command": {
"aggregate": "coll",
"pipeline": [
{
"$match": {
"_id": {
"$gt": 1
}
}
},
{
"$out": "other_collection_name"
}
],
"writeConcern": {
"$$exists": false
}
}
}
}
]
}
],
"outcome": [
{
"collectionName": "other_collection_name",
"databaseName": "default-write-concern-tests",
"documents": [
{
"_id": 2,
"x": 22
}
]
}
},
"expectations": [
{
"command_started_event": {
"command": {
"aggregate": "default_write_concern_coll",
"pipeline": [
{
"$match": {
"_id": {
"$gt": 1
}
}
},
{
"$out": "other_collection_name"
}
],
"writeConcern": null
}
}
}
]
},
{
"description": "RunCommand with a write command omits default write concern (runCommand should never inherit write concern)",
"operations": [
{
"object": "database",
"databaseOptions": {
"writeConcern": {}
},
"object": "database0",
"name": "runCommand",
"command_name": "delete",
"arguments": {
"command": {
"delete": "default_write_concern_coll",
"delete": "coll",
"deletes": [
{
"q": {},
"limit": 1
}
]
}
},
"commandName": "delete"
}
}
],
"expectations": [
"expectEvents": [
{
"command_started_event": {
"command": {
"delete": "default_write_concern_coll",
"deletes": [
{
"q": {},
"limit": 1
"client": "client0",
"events": [
{
"commandStartedEvent": {
"command": {
"delete": "coll",
"deletes": [
{
"q": {},
"limit": 1
}
],
"writeConcern": {
"$$exists": false
}
}
],
"writeConcern": null
}
}
}
]
}
]
},
@ -120,10 +170,7 @@
"description": "CreateIndex and dropIndex omits default write concern",
"operations": [
{
"object": "collection",
"collectionOptions": {
"writeConcern": {}
},
"object": "collection0",
"name": "createIndex",
"arguments": {
"keys": {
@ -132,53 +179,61 @@
}
},
{
"object": "collection",
"collectionOptions": {
"writeConcern": {}
},
"object": "collection0",
"name": "dropIndex",
"arguments": {
"name": "x_1"
}
}
],
"expectations": [
"expectEvents": [
{
"command_started_event": {
"command": {
"createIndexes": "default_write_concern_coll",
"indexes": [
{
"name": "x_1",
"key": {
"x": 1
"client": "client0",
"events": [
{
"commandStartedEvent": {
"command": {
"createIndexes": "coll",
"indexes": [
{
"name": "x_1",
"key": {
"x": 1
}
}
],
"writeConcern": {
"$$exists": false
}
}
],
"writeConcern": null
}
},
{
"commandStartedEvent": {
"command": {
"dropIndexes": "coll",
"index": "x_1",
"writeConcern": {
"$$exists": false
}
}
}
}
}
},
{
"command_started_event": {
"command": {
"dropIndexes": "default_write_concern_coll",
"index": "x_1",
"writeConcern": null
}
}
]
}
]
},
{
"description": "MapReduce omits default write concern",
"runOnRequirements": [
{
"serverless": "forbid"
}
],
"operations": [
{
"name": "mapReduce",
"object": "collection",
"collectionOptions": {
"writeConcern": {}
},
"object": "collection0",
"arguments": {
"map": {
"$code": "function inc() { return emit(0, this.x + 1) }"
@ -192,23 +247,30 @@
}
}
],
"expectations": [
"expectEvents": [
{
"command_started_event": {
"command": {
"mapReduce": "default_write_concern_coll",
"map": {
"$code": "function inc() { return emit(0, this.x + 1) }"
},
"reduce": {
"$code": "function sum(key, values) { return values.reduce((acc, x) => acc + x); }"
},
"out": {
"inline": 1
},
"writeConcern": null
"client": "client0",
"events": [
{
"commandStartedEvent": {
"command": {
"mapReduce": "coll",
"map": {
"$code": "function inc() { return emit(0, this.x + 1) }"
},
"reduce": {
"$code": "function sum(key, values) { return values.reduce((acc, x) => acc + x); }"
},
"out": {
"inline": 1
},
"writeConcern": {
"$$exists": false
}
}
}
}
}
]
}
]
}

View File

@ -1,33 +1,63 @@
{
"data": [
{
"_id": 1,
"x": 11
},
{
"_id": 2,
"x": 22
}
],
"collection_name": "default_write_concern_coll",
"database_name": "default_write_concern_db",
"runOn": [
"description": "default-write-concern-4.2",
"schemaVersion": "1.0",
"runOnRequirements": [
{
"minServerVersion": "4.2"
}
],
"createEntities": [
{
"client": {
"id": "client0",
"observeEvents": [
"commandStartedEvent"
]
}
},
{
"database": {
"id": "database0",
"client": "client0",
"databaseName": "default-write-concern-tests",
"databaseOptions": {
"writeConcern": {}
}
}
},
{
"collection": {
"id": "collection0",
"database": "database0",
"collectionName": "coll",
"collectionOptions": {
"writeConcern": {}
}
}
}
],
"initialData": [
{
"collectionName": "coll",
"databaseName": "default-write-concern-tests",
"documents": [
{
"_id": 1,
"x": 11
},
{
"_id": 2,
"x": 22
}
]
}
],
"tests": [
{
"description": "Aggregate with $merge omits default write concern",
"operations": [
{
"object": "collection",
"databaseOptions": {
"writeConcern": {}
},
"collectionOptions": {
"writeConcern": {}
},
"object": "collection0",
"name": "aggregate",
"arguments": {
"pipeline": [
@ -47,41 +77,49 @@
}
}
],
"expectations": [
"expectEvents": [
{
"command_started_event": {
"command": {
"aggregate": "default_write_concern_coll",
"pipeline": [
{
"$match": {
"_id": {
"$gt": 1
"client": "client0",
"events": [
{
"commandStartedEvent": {
"command": {
"aggregate": "coll",
"pipeline": [
{
"$match": {
"_id": {
"$gt": 1
}
}
},
{
"$merge": {
"into": "other_collection_name"
}
}
}
},
{
"$merge": {
"into": "other_collection_name"
],
"writeConcern": {
"$$exists": false
}
}
],
"writeConcern": null
}
}
}
]
}
],
"outcome": {
"collection": {
"name": "other_collection_name",
"data": [
"outcome": [
{
"collectionName": "other_collection_name",
"databaseName": "default-write-concern-tests",
"documents": [
{
"_id": 2,
"x": 22
}
]
}
}
]
}
]
}

View File

@ -23,14 +23,13 @@ import warnings
sys.path[0:0] = [""]
from test import IntegrationTest, client_context, unittest
from test.unified_format import generate_test_classes
from test.utils import (
EventListener,
SpecTestCreator,
disable_replication,
enable_replication,
rs_or_single_client,
)
from test.utils_spec_runner import SpecRunner
from pymongo import DESCENDING
from pymongo.errors import (
@ -321,25 +320,15 @@ def create_tests():
create_tests()
class TestOperation(SpecRunner):
# Location of JSON test specifications.
TEST_PATH = os.path.join(_TEST_PATH, "operation")
def get_outcome_coll_name(self, outcome, collection):
"""Spec says outcome has an optional 'collection.name'."""
return outcome["collection"].get("name", collection.name)
def create_operation_test(scenario_def, test, name):
@client_context.require_test_commands
def run_scenario(self):
self.run_scenario(scenario_def, test)
return run_scenario
test_creator = SpecTestCreator(create_operation_test, TestOperation, TestOperation.TEST_PATH)
test_creator.create_tests()
# Generate unified tests.
# PyMongo does not support MapReduce.
globals().update(
generate_test_classes(
os.path.join(_TEST_PATH, "operation"),
module=__name__,
expected_failures=["MapReduce .*"],
)
)
if __name__ == "__main__":

View File

@ -27,7 +27,7 @@ from test.unified_format import generate_test_classes
TEST_PATH = Path(__file__).parent / "retryable_reads/unified"
# Generate unified tests.
# PyMongo does not supportMapReduce, ListDatabaseObjects or ListCollectionObjects.
# PyMongo does not support MapReduce, ListDatabaseObjects or ListCollectionObjects.
globals().update(
generate_test_classes(
TEST_PATH,