Hello, I've tried to run the quicktest suite for SQLite 3.22.0 on Linux (kernel version 4.13.0), and when it executes test/oserror.test I get errors:
oserror-1.1.1... Ok oserror-1.1.2... Ok oserror-1.1.3... Ok oserror-1.2.1... Ok oserror-1.2.2... Ok oserror-1.3.1... Ok oserror-1.3.2... Ok oserror-1.4.1... Ok oserror-1.4.2... Ok oserror-2.1.1... ! oserror-2.1.1 expected: [1 {disk I/O error}] ! oserror-2.1.1 got: [0 {}] oserror-2.1.2... ! oserror-2.1.2 expected: [^os_unix.c:\d+: \(\d+\) unlink\(.*test.db-wal\) - ] ! oserror-2.1.2 got: [] oserror-2.1.3... Ok After looking at the code in test/oserror.test, I'm confused about how it could possibly ever pass: as far as I can see and understand, it does not enable WAL journaling at all: ifcapable wal { do_test 2.1.1 { set ::log [list] file mkdir test.db-wal forcedelete test.db list [catch { sqlite3 dbh test.db execsql { SELECT * FROM sqlite_master } dbh } msg] $msg } {1 {disk I/O error}} do_re_test 2.1.2 { lindex $::log 0 } {^os_unix.c:\d+: \(\d+\) unlink\(.*test.db-wal\) - } do_test 2.1.3 { catch { dbh close } forcedelete test.db-wal } {} } so the file "testdir/test.db-wal" (which the test overrides with a dir) does never come into play in the testdir/test.db DB that the test opens. On the contrary, other WAL-related tests (such as test/wal.test) do enable WAL journaling via "PRAGMA journal_mode = wal". Any hints? Thanks _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users