zotero/test
Dan Stillman bdaecbb5cc Detect database corruption reported by a transaction's commit
We only ever checked for corruption errors from transactions in
queryAsync(), so a corruption error raised by the COMMIT that mozStorage
runs itself bypassed the check. A 10.0 schema upgrade -- which heavily
exercises the database -- that failed due to corruption showed "Database
upgrade error" and a single Sqlite.sys.mjs frame instead of the prompt
offering to restore from a backup.

Two users reported this, but it's not clear what triggered it --
corruption usually occurs during a statement, which we did catch. There
may have been some statement transaction whose corruption error was
caught and ignored rather than being left to abort the transaction,
causing SQLite to then block the commit. That's what the test does, and
it fails without the fix.

https://forums.zotero.org/discussion/133611/
2026-09-08 16:01:23 -04:00
..
components fx140: Asyncify/ESMify tests 2025-07-30 22:30:53 -04:00
content Wait for test success file to be written before quitting 2026-08-20 12:34:40 -04:00
resource Remove Chai as Promised 2025-07-30 22:31:08 -04:00
tests Detect database corruption reported by a transaction's commit 2026-09-08 16:01:23 -04:00
chrome.manifest fx115: Restore test runner 2024-03-30 00:58:53 -04:00
runtests.sh Wait for the browser process in Windows test runs 2026-08-20 12:34:41 -04:00