Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Minor test script changes to allow all.test to run when SQLITE_DEFAULT_AUTOVACUUM=1 is defined. (CVS 2182) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
5023b1dba2e61bb10d1b488874e3d3ee |
User & Date: | danielk1977 2005-01-08 02:35:44.000 |
Context
2005-01-08
| ||
12:42 | Fix a problem with auto-vacuum databases and the VACUUM command. Also add "pages read" and "pages written" statistics to the pager layer. (CVS 2183) (check-in: fb3bf68d0e user: danielk1977 tags: trunk) | |
02:35 | Minor test script changes to allow all.test to run when SQLITE_DEFAULT_AUTOVACUUM=1 is defined. (CVS 2182) (check-in: 5023b1dba2 user: danielk1977 tags: trunk) | |
2005-01-07
| ||
10:42 | Reset the temp_store_directory each iteration of tests in all.test. (CVS 2181) (check-in: 7373a5d4cf user: danielk1977 tags: trunk) | |
Changes
Changes to test/all.test.
1 2 3 4 5 6 7 8 9 10 11 12 | # 2001 September 15 # # The author disclaims copyright to this source code. In place of # a legal notice, here is a blessing: # # May you do good and not evil. # May you find forgiveness for yourself and forgive others. # May you share freely, never taking more than you give. # #*********************************************************************** # This file runs all tests. # | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | # 2001 September 15 # # The author disclaims copyright to this source code. In place of # a legal notice, here is a blessing: # # May you do good and not evil. # May you find forgiveness for yourself and forgive others. # May you share freely, never taking more than you give. # #*********************************************************************** # This file runs all tests. # # $Id: all.test,v 1.25 2005/01/08 02:35:44 danielk1977 Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl rename finish_test really_finish_test proc finish_test {} {memleak_check} if {[file exists ./sqlite_test_count]} { |
︙ | ︙ | |||
46 47 48 49 50 51 52 53 54 55 56 57 58 | # grows, it may mean there is a memory leak in the library. # set LeakList {} set EXCLUDE { all.test crash.test quick.test malloc.test misuse.test memleak.test corrupt.test } | > > > > > > > | > > | 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | # grows, it may mean there is a memory leak in the library. # set LeakList {} set EXCLUDE { all.test crash.test autovacuum_crash.test quick.test malloc.test misuse.test memleak.test corrupt.test } # Test files btree2.test and btree4.test don't work if the # SQLITE_DEFAULT_AUTOVACUUM macro is defined to true (because they depend # on tables being allocated starting at page 2). # ifcapable default_autovacuum { lappend EXCLUDE btree2.test lappend EXCLUDE btree4.test } for {set Counter 0} {$Counter<$COUNT && $nErr==0} {incr Counter} { if {$Counter%2} { set ::SETUP_SQL {PRAGMA default_synchronous=off;} } else { catch {unset ::SETUP_SQL} } |
︙ | ︙ | |||
100 101 102 103 104 105 106 | lappend ::failList memory-leak-test break } } puts " Ok" } | | > > > > | 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | lappend ::failList memory-leak-test break } } puts " Ok" } # Run the crashtest only on unix and only once. If the library does not # always create auto-vacuum databases, also run autovacuum_crash.test. # if {$tcl_platform(platform)=="unix"} { source $testdir/crash.test ifcapable !default_autovacuum { source $testdir/autovacuum_crash.test } } # Run the malloc tests and the misuse test after memory leak detection. # Both tests leak memory. Currently, misuse.test also leaks a handful of # file descriptors. This is not considered a problem, but can cause tests # in malloc.test to fail. So set the open-file count to zero before running # malloc.test to get around this. |
︙ | ︙ |
Changes to test/crash.test.
︙ | ︙ | |||
16 17 18 19 20 21 22 | # module "crashtest" compiled with the special "os_test.c" backend is used. # The os_test.c simulates the kind of file corruption that can occur # when writes are happening at the moment of power loss. # # The special crash-test module with its os_test.c backend only works # on Unix. # | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | # module "crashtest" compiled with the special "os_test.c" backend is used. # The os_test.c simulates the kind of file corruption that can occur # when writes are happening at the moment of power loss. # # The special crash-test module with its os_test.c backend only works # on Unix. # # $Id: crash.test,v 1.13 2005/01/08 02:35:44 danielk1977 Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl # set repeats 100 set repeats 10 |
︙ | ︙ | |||
239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 | # crash-4.1.*: Test recovery when crash occurs during sync() of the # main database journal file. # crash-4.2.*: Test recovery when crash occurs during sync() of an # attached database journal file. # crash-4.3.*: Test recovery when crash occurs during sync() of the master # journal file. # do_test crash-4.0 { file delete -force test2.db file delete -force test2.db-journal execsql { ATTACH 'test2.db' AS aux; PRAGMA aux.default_cache_size = 10; CREATE TABLE aux.abc2 AS SELECT 2*a as a, 2*b as b, 2*c as c FROM abc; } expr [file size test2.db] / 1024 | > > > > | | 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 | # crash-4.1.*: Test recovery when crash occurs during sync() of the # main database journal file. # crash-4.2.*: Test recovery when crash occurs during sync() of an # attached database journal file. # crash-4.3.*: Test recovery when crash occurs during sync() of the master # journal file. # set filesize 559 ifcapable default_autovacuum { set filesize 562 } do_test crash-4.0 { file delete -force test2.db file delete -force test2.db-journal execsql { ATTACH 'test2.db' AS aux; PRAGMA aux.default_cache_size = 10; CREATE TABLE aux.abc2 AS SELECT 2*a as a, 2*b as b, 2*c as c FROM abc; } expr [file size test2.db] / 1024 } $filesize for {set i 1} {$i<$repeats} {incr i} { set sig [signature] set sig2 [signature2] do_test crash-4.1.$i.1 { set c [crashsql $i test.db-journal " ATTACH 'test2.db' AS aux; |
︙ | ︙ |
Changes to test/ioerr.test.
︙ | ︙ | |||
11 12 13 14 15 16 17 | # This file implements regression tests for SQLite library. The # focus of this file is testing for correct handling of I/O errors # such as writes failing because the disk is full. # # The tests in this file use special facilities that are only # available in the SQLite test fixture. # | | > > > > > > > > > > > > | 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | # This file implements regression tests for SQLite library. The # focus of this file is testing for correct handling of I/O errors # such as writes failing because the disk is full. # # The tests in this file use special facilities that are only # available in the SQLite test fixture. # # $Id: ioerr.test,v 1.7 2005/01/08 02:35:44 danielk1977 Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl set ::go 1 for {set n 1} {$go} {incr n} { # If SQLITE_DEFAULT_AUTOVACUUM is set to true, then a simulated IO error # on the 8th IO operation in the SQL script below doesn't report an error. # # This is because the 8th IO call attempts to read page 2 of the database # file when the file on disk is only 1 page. The pager layer detects that # this has happened and suppresses the error returned by the OS layer. # ifcapable default_autovacuum { if {$n==8} continue } do_test ioerr-1.$n.1 { set ::sqlite_io_error_pending 0 db close catch {file delete -force test.db} catch {file delete -force test.db-journal} sqlite3 db test.db execsql {SELECT * FROM sqlite_master} |
︙ | ︙ |