soulsync/config
Broque Thomas 4238aeb4d9 Add regression tests for config DB retry behaviour (#434)
Pin the new save-retry contract so future changes can't silently
re-introduce the spam reported in #434:

- Happy-path saves emit zero ERROR logs.
- Transient locks during retries log at DEBUG, not ERROR.
- Six attempts run before giving up, with the documented backoff
  schedule (0.2 + 0.5 + 1.0 + 2.0 + 4.0s).
- Genuine exhaustion logs a single ERROR and writes config.json.
- sqlite3.OperationalError("database is locked") routes to DEBUG;
  any other OperationalError still logs ERROR.
- _connect_db() actually applies WAL + busy_timeout + synchronous=NORMAL.

Also moves `import time` from inside _save_config to the module
top so the tests can monkeypatch sleep cleanly.
2026-04-30 13:17:41 -07:00
..
config.example.json Add hi-res FLAC to CD quality downsampling in post-processing 2026-03-17 11:53:56 -07:00
settings.py Add regression tests for config DB retry behaviour (#434) 2026-04-30 13:17:41 -07:00