pymongo Validation Report¶
Generated 2026-06-15 — SecantusDB 0.5.3b7 vs pymongo f2103a95870a (vendor/pymongo-tests/).
Run uv run python -m invoke validate to refresh. The pass rate is the best honest measure of how close SecantusDB is to a complete MongoDB surrogate for the in-scope wire-protocol surface; gaps are the to-do list.
Summary by category¶
Category |
Passed |
Failed |
Errored |
Skipped |
Total |
Pass rate |
|---|---|---|---|---|---|---|
|
29 |
0 |
0 |
0 |
29 |
100.0% |
|
34 |
0 |
0 |
4 |
38 |
100.0% |
|
106 |
0 |
0 |
49 |
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% |
|
14 |
0 |
0 |
0 |
14 |
100.0% |
|
64 |
3 |
0 |
5 |
72 |
95.5% |
|
51 |
0 |
0 |
0 |
51 |
100.0% |
|
35 |
0 |
0 |
1 |
36 |
100.0% |
|
4 |
0 |
0 |
0 |
4 |
100.0% |
|
18 |
0 |
0 |
2 |
20 |
100.0% |
|
4 |
0 |
0 |
2 |
6 |
100.0% |
|
2 |
0 |
0 |
0 |
2 |
100.0% |
|
14 |
0 |
0 |
0 |
14 |
100.0% |
|
6 |
0 |
0 |
0 |
6 |
100.0% |
|
9 |
0 |
0 |
20 |
29 |
100.0% |
|
5 |
0 |
0 |
0 |
5 |
100.0% |
|
16 |
0 |
0 |
5 |
21 |
100.0% |
|
92 |
3 |
0 |
172 |
267 |
96.8% |
|
4 |
0 |
0 |
0 |
4 |
100.0% |
|
38 |
0 |
0 |
5 |
43 |
100.0% |
|
6 |
0 |
0 |
0 |
6 |
100.0% |
Overall |
1020 |
8 |
0 |
475 |
1503 |
99.2% |
Failures (8)¶
First 30 failure node-ids for manual triage:
vendor/pymongo-tests/test/test_collection.py::TestCollection::test_index_hashed
vendor/pymongo-tests/test/test_collection.py::TestCollection::test_index_text
vendor/pymongo-tests/test/test_cursor.py::TestCursor::test_maxtime_ms_message
vendor/pymongo-tests/test/test_cursor.py::TestCursor::test_to_list_csot_applied
vendor/pymongo-tests/test/test_cursor.py::TestCursor::test_where
vendor/pymongo-tests/test/test_transactions_unified.py::TestUnifiedReadPref::test_secondary_readPreference
vendor/pymongo-tests/test/test_transactions_unified.py::TestUnifiedRunCommand::test_run_command_fails_with_explicit_secondary_read_preference
vendor/pymongo-tests/test/test_transactions_unified.py::TestUnifiedRunCommand::test_run_command_fails_with_secondary_read_preference_from_transaction_options
How this is generated¶
pymongo’s tests are run unmodified. The submodule at vendor/pymongo-tests/ is checked out at the pinned upstream tag with zero local edits — git diff HEAD inside the submodule is empty. The integration is entirely external: pymongo_validation/plugin.py starts an embedded SecantusDBServer(host='127.0.0.1', port=0, storage_path=<fresh tempdir>) (real on-disk WiredTiger via tempfile.mkdtemp(prefix='secantus-pymongo-gauge-'), not :memory:) in pytest_configure and writes the bound host/port into DB_IP + DB_PORT — the env vars pymongo’s own helpers_shared.py reads at import time. Pytest then collects and runs the in-scope test paths defined in pymongo_validation/include_paths.py.
Tests gated on replica-set / sharding / auth / TLS / encryption topology self-skip — those skips are honest gaps, not failures. The pass rate above is therefore a meaningful conformance number: those are pymongo’s actual tests, exercising SecantusDB the same way they exercise a real mongod in pymongo’s CI.