pymongo Validation Report¶
Generated 2026-07-16 — SecantusDB 0.5.4b234 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% |
|
63 |
4 |
0 |
5 |
72 |
94.0% |
|
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% |
|
3 |
1 |
0 |
2 |
6 |
75.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 |
0 |
0 |
172 |
264 |
100.0% |
|
4 |
0 |
0 |
0 |
4 |
100.0% |
|
38 |
0 |
0 |
5 |
43 |
100.0% |
|
6 |
0 |
0 |
0 |
6 |
100.0% |
Overall |
1018 |
7 |
0 |
475 |
1500 |
99.3% |
Failures (7)¶
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_to_list_length
vendor/pymongo-tests/test/test_cursor.py::TestCursor::test_where
vendor/pymongo-tests/test/test_logger.py::TestLogger::test_default_truncation_limit
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.