From e471a47d1fbae38a2a9abe6aeac032a93c639f6f Mon Sep 17 00:00:00 2001 From: Vito Sansevero Date: Mon, 19 Oct 2026 10:27:31 -0700 Subject: [PATCH] docs(testing): add the concurrent SQLite test rule to the Windows preflight (#242) --- TESTING.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/TESTING.md b/TESTING.md index e0c56a70..86d35b46 100644 --- a/TESTING.md +++ b/TESTING.md @@ -134,6 +134,13 @@ Before changing paths, SQLite, streams, restore or cleanup: exercise the actual native branch, then prove handle release and successful cleanup. Do not hide failures with blanket skips or retries. See Python's [remove/unlink semantics](https://docs.python.org/3.13/library/os.html#os.remove). +- Concurrent SQLite tests must not depend on how fast the host commits. + Managed connections use WAL with `synchronous=NORMAL` (see + `configure_connection`) so commits do not hold the write lock across a + flush. Make real overlap deterministic (for example hold the first writer + open with `FirstWriterHold`) and give peers that must all succeed the + ordinary busy timeout; cross-thread handoffs wait on events with generous + ceilings, never a short wall clock (#242). - Run native Windows CI early for these changes and include a Windows impact and evidence note in the PR. All twelve OS/Python combinations and every applicable exact-head check must pass before merge. Portable `ntpath`/`PureWindowsPath`