pymongo async Validation Report (Rust server)¶
Generated 2026-08-19 — SecantusDB 0.6.0b12 vs pymongo f2103a95870a (vendor/pymongo-tests/test/asynchronous/).
Run uv run python -m invoke validate-pymongo-async --server rust to refresh. This is the async-driver analogue of the R8 conformance gate: pymongo’s native AsyncMongoClient suite pointed at the Rust server.
Summary by test file¶
Test file |
Passed |
Failed |
Errored |
Skipped |
Total |
Pass rate |
|---|---|---|---|---|---|---|
|
34 |
0 |
0 |
4 |
38 |
100.0% |
|
97 |
0 |
0 |
58 |
155 |
100.0% |
|
16 |
0 |
0 |
0 |
16 |
100.0% |
|
85 |
2 |
0 |
4 |
91 |
97.7% |
|
7 |
0 |
0 |
0 |
7 |
100.0% |
|
22 |
0 |
0 |
14 |
36 |
100.0% |
|
31 |
0 |
0 |
7 |
38 |
100.0% |
|
3 |
0 |
0 |
0 |
3 |
100.0% |
|
4 |
0 |
0 |
0 |
4 |
100.0% |
|
301 |
0 |
0 |
185 |
486 |
100.0% |
|
57 |
3 |
0 |
12 |
72 |
95.0% |
|
51 |
0 |
0 |
0 |
51 |
100.0% |
|
35 |
0 |
0 |
1 |
36 |
100.0% |
|
18 |
0 |
0 |
2 |
20 |
100.0% |
|
4 |
0 |
0 |
2 |
6 |
100.0% |
|
6 |
0 |
0 |
0 |
6 |
100.0% |
|
9 |
1 |
0 |
20 |
30 |
90.0% |
|
16 |
0 |
0 |
5 |
21 |
100.0% |
|
92 |
0 |
0 |
172 |
264 |
100.0% |
|
38 |
0 |
0 |
5 |
43 |
100.0% |
Overall |
926 |
6 |
0 |
491 |
1423 |
99.4% |
Failures (6)¶
First 30 failure node-ids for manual triage:
vendor/pymongo-tests/test/asynchronous/test_collection.py::AsyncTestCollection::test_index_hashed
vendor/pymongo-tests/test/asynchronous/test_collection.py::AsyncTestCollection::test_index_text
vendor/pymongo-tests/test/asynchronous/test_cursor.py::TestCursor::test_maxtime_ms_message
vendor/pymongo-tests/test/asynchronous/test_cursor.py::TestCursor::test_to_list_csot_applied
vendor/pymongo-tests/test/asynchronous/test_cursor.py::TestCursor::test_where
vendor/pymongo-tests/test/asynchronous/test_read_preferences.py::TestMongosAndReadPreference::test_read_preference_hedge_deprecated
How this is generated¶
pymongo’s async tests are run unmodified. The submodule at vendor/pymongo-tests/ is checked out at the pinned upstream tag with zero local edits. The integration is entirely external: the shared pymongo_validation/plugin.py starts an embedded Rust server (_secantus_server.RustServer(storage_path=<fresh tempdir>, port=0)) (real on-disk WiredTiger) before pymongo’s conftest is imported and writes the bound host/port into DB_IP + DB_PORT — the env vars pymongo’s helpers_shared.py reads at import time, which the async AsyncClientContext also resolves from. Pytest then runs the in-scope paths from pymongo_async_validation/include_paths.py under pytest-asyncio (asyncio_mode=auto).
Tests gated on replica-set / sharding / auth / TLS / encryption topology self-skip — those skips are honest gaps, not failures. The pass rate is a meaningful conformance number for SecantusDB’s behaviour under pymongo’s async driver, exercised the same way pymongo’s own CI exercises a real mongod.