Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Fix some test files so that they work with SQLITE_OMIT_WAL builds. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
a38668dcff0a4d241d959ea19330ad43 |
User & Date: | dan 2011-09-24 05:55:36.123 |
Context
2011-09-24
| ||
09:54 | Fix misc3.test so that it works with OMIT_MERGE_SORT builds. (check-in: 87946c627f user: dan tags: trunk) | |
05:55 | Fix some test files so that they work with SQLITE_OMIT_WAL builds. (check-in: a38668dcff user: dan tags: trunk) | |
2011-09-23
| ||
18:58 | Add SQLITE_DBSTATUS_CACHE_HIT and _MISS to the ".stat" command in the shell. (check-in: d279e1a309 user: drh tags: trunk) | |
Changes
Changes to test/attach4.test.
︙ | ︙ | |||
71 72 73 74 75 76 77 | set L } $files set L [list] set S "" foreach {name f} $files { if {[permutation] == "journaltest"} { | | | > > | 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | set L } $files set L [list] set S "" foreach {name f} $files { if {[permutation] == "journaltest"} { set mode delete } else { set mode wal } ifcapable !wal { set mode delete } lappend L $mode append S " PRAGMA $name.journal_mode = WAL; UPDATE $name.tbl SET x = '$name'; " } do_execsql_test 1.5 $S $L |
︙ | ︙ |
Changes to test/oserror.test.
︙ | ︙ | |||
93 94 95 96 97 98 99 | } {1 {unable to open database file}} do_re_test 1.4.2 { lindex $::log 0 } {^os_unix.c:\d*: \(\d+\) open\(.*test.db\) - } #-------------------------------------------------------------------------- # Tests oserror-1.* test failures in the unlink() system call. # | > | | | | | | | | | | | | | | | | | > | 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 | } {1 {unable to open database file}} do_re_test 1.4.2 { lindex $::log 0 } {^os_unix.c:\d*: \(\d+\) open\(.*test.db\) - } #-------------------------------------------------------------------------- # Tests oserror-1.* test failures in the unlink() system call. # 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 } {} } test_syscall reset sqlite3_shutdown test_sqlite3_log sqlite3_initialize finish_test |
Changes to test/pager1.test.
︙ | ︙ | |||
1988 1989 1990 1991 1992 1993 1994 | #------------------------------------------------------------------------- # Test that a "PRAGMA wal_checkpoint": # # pager1-22.1.*: is a no-op on a non-WAL db, and # pager1-22.2.*: does not cause xSync calls with a synchronous=off db. # | > | | | | | | | | | | | | | | | | | | | | | | | | | > | 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 | #------------------------------------------------------------------------- # Test that a "PRAGMA wal_checkpoint": # # pager1-22.1.*: is a no-op on a non-WAL db, and # pager1-22.2.*: does not cause xSync calls with a synchronous=off db. # ifcapable wal { do_test pager1-22.1.1 { faultsim_delete_and_reopen execsql { CREATE TABLE ko(c DEFAULT 'abc', b DEFAULT 'def'); INSERT INTO ko DEFAULT VALUES; } execsql { PRAGMA wal_checkpoint } } {0 -1 -1} do_test pager1-22.2.1 { testvfs tv -default 1 tv filter xSync tv script xSyncCb proc xSyncCb {args} {incr ::synccount} set ::synccount 0 sqlite3 db test.db execsql { PRAGMA synchronous = off; PRAGMA journal_mode = WAL; INSERT INTO ko DEFAULT VALUES; } execsql { PRAGMA wal_checkpoint } set synccount } {0} db close tv delete } #------------------------------------------------------------------------- # Tests for changing journal mode. # # pager1-23.1.*: Test that when changing from PERSIST to DELETE mode, # the journal file is deleted. # |
︙ | ︙ |
Changes to test/superlock.test.
︙ | ︙ | |||
43 44 45 46 47 48 49 50 51 52 53 54 55 56 | # do_execsql_test 1.1 { CREATE TABLE t1(a, b); INSERT INTO t1 VALUES(1, 2); PRAGMA journal_mode = DELETE; } {delete} do_test 1.2 { sqlite3demo_superlock unlock test.db } {unlock} do_catchsql_test 1.3 { SELECT * FROM t1 } {1 {database is locked}} do_test 1.4 { unlock } {} do_execsql_test 2.1 { INSERT INTO t1 VALUES(3, 4); | > > > > > | 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | # do_execsql_test 1.1 { CREATE TABLE t1(a, b); INSERT INTO t1 VALUES(1, 2); PRAGMA journal_mode = DELETE; } {delete} ifcapable !wal { finish_test return } do_test 1.2 { sqlite3demo_superlock unlock test.db } {unlock} do_catchsql_test 1.3 { SELECT * FROM t1 } {1 {database is locked}} do_test 1.4 { unlock } {} do_execsql_test 2.1 { INSERT INTO t1 VALUES(3, 4); |
︙ | ︙ |
Changes to test/uri.test.
︙ | ︙ | |||
215 216 217 218 219 220 221 | # # This block of code creates two VFS - "tvfs1" and "tvfs2". Each time one # of the above methods is called using "tvfs1", global variable ::T1(X) is # set, where X is the file-name the method is called on. Calls to the above # methods using "tvfs2" set entries in the global T2 array. # | > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | < | > | | > | 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 | # # This block of code creates two VFS - "tvfs1" and "tvfs2". Each time one # of the above methods is called using "tvfs1", global variable ::T1(X) is # set, where X is the file-name the method is called on. Calls to the above # methods using "tvfs2" set entries in the global T2 array. # ifcapable wal { testvfs tvfs1 tvfs1 filter {xOpen xDelete xAccess xFullPathname} tvfs1 script tvfs1_callback proc tvfs1_callback {method filename args} { set ::T1([file tail $filename]) 1 } testvfs tvfs2 tvfs2 filter {xOpen xDelete xAccess xFullPathname} tvfs2 script tvfs2_callback proc tvfs2_callback {method filename args} { set ::T2([file tail $filename]) 1 } catch {db close} eval forcedelete [glob test.db*] do_test 5.1.1 { sqlite3 db file:test.db1?vfs=tvfs1 execsql { ATTACH 'file:test.db2?vfs=tvfs2' AS aux; PRAGMA main.journal_mode = PERSIST; PRAGMA aux.journal_mode = PERSIST; CREATE TABLE t1(a, b); CREATE TABLE aux.t2(a, b); PRAGMA main.journal_mode = WAL; PRAGMA aux.journal_mode = WAL; INSERT INTO t1 VALUES('x', 'y'); INSERT INTO t2 VALUES('x', 'y'); } lsort [array names ::T1] } {test.db1 test.db1-journal test.db1-wal} do_test 5.1.2 { lsort [array names ::T2] } {test.db2 test.db2-journal test.db2-wal} db close tvfs1 delete tvfs2 delete } #------------------------------------------------------------------------- # Check that only "" and "localhost" are acceptable as authorities. # catch {db close} foreach {tn uri res} { 1 "file://localhost/PWD/test.db" {not an error} |
︙ | ︙ |
Changes to test/walbig.test.
︙ | ︙ | |||
12 13 14 15 16 17 18 19 20 21 22 23 24 25 | # focus of this script testing the ability of SQLite to handle database # files larger than 4GB in WAL mode. # set testdir [file dirname $argv0] source $testdir/tester.tcl # Do not use a codec for this file, as the database is manipulated using # external methods (the [fake_big_file] and [hexio_write] commands). # do_not_use_codec # If SQLITE_DISABLE_LFS is defined, omit this file. | > > > > > | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | # focus of this script testing the ability of SQLite to handle database # files larger than 4GB in WAL mode. # set testdir [file dirname $argv0] source $testdir/tester.tcl ifcapable !wal { finish_test return } # Do not use a codec for this file, as the database is manipulated using # external methods (the [fake_big_file] and [hexio_write] commands). # do_not_use_codec # If SQLITE_DISABLE_LFS is defined, omit this file. |
︙ | ︙ |
Changes to test/walpersist.test.
︙ | ︙ | |||
12 13 14 15 16 17 18 19 20 21 22 23 24 25 | # This file contains tests for using WAL with persistent WAL file mode. # set testdir [file dirname $argv0] source $testdir/tester.tcl source $testdir/lock_common.tcl set ::testprefix walpersist do_test walpersist-1.0 { db eval { PRAGMA journal_mode=WAL; CREATE TABLE t1(a); INSERT INTO t1 VALUES(randomblob(5000)); } | > > > > > | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | # This file contains tests for using WAL with persistent WAL file mode. # set testdir [file dirname $argv0] source $testdir/tester.tcl source $testdir/lock_common.tcl set ::testprefix walpersist ifcapable !wal { finish_test return } do_test walpersist-1.0 { db eval { PRAGMA journal_mode=WAL; CREATE TABLE t1(a); INSERT INTO t1 VALUES(randomblob(5000)); } |
︙ | ︙ |
Changes to test/walro.test.
︙ | ︙ | |||
19 20 21 22 23 24 25 26 27 28 29 30 31 32 | # These tests are only going to work on unix. # if {$::tcl_platform(platform) != "unix"} { finish_test return } do_multiclient_test tn { # Do not run tests with the connections in the same process. # if {$tn==2} continue # Close all connections and delete the database. | > > > > > > > | 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | # These tests are only going to work on unix. # if {$::tcl_platform(platform) != "unix"} { finish_test return } # And only if the build is WAL-capable. # ifcapable !wal { finish_test return } do_multiclient_test tn { # Do not run tests with the connections in the same process. # if {$tn==2} continue # Close all connections and delete the database. |
︙ | ︙ |