Observed while verifying #90.
Symptom
cargo test (full suite, all binaries in parallel) failed:
test test_batch_delete_edge_cases ... FAILED
test result: FAILED. 6 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.44s
error: test failed, to rerun pass `--test batch_delete_test`
Both of these then passed:
cargo test --test batch_delete_test in isolation — 7/7
- a second full
cargo test run — 191 test-result groups, 0 failures
So it is load-dependent, not a deterministic failure.
Not caused by #90
tests/batch_delete_test.rs never calls set_hide_internal_tables, and the flag defaults to false, so preprocess_query (src/query/executor.rs:40) short-circuits before reaching SqliteMasterFilter::translate. The filter is unreachable from that binary. The test also contains no sqlite_master reference.
Possible cause
The tests build table names from SystemTime::now().duration_since(UNIX_EPOCH).as_nanos() (tests/batch_delete_test.rs:9,113,166,210,266,299). Under heavy parallel load across test binaries that is a collision risk, and it is also the kind of setup that gets starved when many test servers contend for resources.
Worth capturing the actual assertion message next time it reproduces — the run above only surfaced the FAILED line, so the failing assertion has not been identified yet.
Observed while verifying #90.
Symptom
cargo test(full suite, all binaries in parallel) failed:Both of these then passed:
cargo test --test batch_delete_testin isolation — 7/7cargo testrun — 191 test-result groups, 0 failuresSo it is load-dependent, not a deterministic failure.
Not caused by #90
tests/batch_delete_test.rsnever callsset_hide_internal_tables, and the flag defaults to false, sopreprocess_query(src/query/executor.rs:40) short-circuits before reachingSqliteMasterFilter::translate. The filter is unreachable from that binary. The test also contains nosqlite_masterreference.Possible cause
The tests build table names from
SystemTime::now().duration_since(UNIX_EPOCH).as_nanos()(tests/batch_delete_test.rs:9,113,166,210,266,299). Under heavy parallel load across test binaries that is a collision risk, and it is also the kind of setup that gets starved when many test servers contend for resources.Worth capturing the actual assertion message next time it reproduces — the run above only surfaced the
FAILEDline, so the failing assertion has not been identified yet.