Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Modify a few test scripts to avoid leaving the sqlite3Config structure in a non-default state. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
562687d9f56bf4bb0f5f07f97cbbb764 |
User & Date: | dan 2015-07-24 14:17:17.027 |
References
2015-07-24
| ||
18:22 | Fix a test script bug introduced by [562687d9]. (check-in: a343745d99 user: dan tags: trunk) | |
Context
2015-07-24
| ||
15:49 | More robust handling of zeroblob() with oversized arguments. Fix fuzzcheck so that it can be run with limited heap memory. (check-in: 4e3e516a42 user: drh tags: trunk) | |
14:17 | Modify a few test scripts to avoid leaving the sqlite3Config structure in a non-default state. (check-in: 562687d9f5 user: dan tags: trunk) | |
00:02 | Update RBU description comment in the header file. No changes to code. (check-in: 119883a21b user: mistachkin tags: trunk) | |
Changes
Changes to src/test_malloc.c.
︙ | |||
935 936 937 938 939 940 941 | 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 | - + - - + + + + + + + + + - - - - | static int test_config_pagecache( void * clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[] ){ int sz, N, rc; |
︙ |
Changes to test/fuzz3.test.
︙ | |||
17 18 19 20 21 22 23 | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | - - - + - - - | set testdir [file dirname $argv0] source $testdir/tester.tcl # These tests deal with corrupt database files # database_may_be_corrupt |
︙ | |||
172 173 174 175 176 177 178 179 | 167 168 169 170 171 172 173 174 175 176 | + + | purge_pcache modify_database $iOld do_test fuzz3-$ii.$iNew.[incr iTest] { db_checksum } $::cksum } test_restore_config_pagecache finish_test |
Changes to test/lookaside.test.
︙ | |||
25 26 27 28 29 30 31 32 33 | 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | + + - | # connection is opened. This will not work if there is any "presql" # configured (SQL run within the [sqlite3] wrapper in tester.tcl). if {[info exists ::G(perm:presql)]} { finish_test return } test_set_config_pagecache 0 0 catch {db close} sqlite3_shutdown |
︙ | |||
125 126 127 128 129 130 131 132 | 126 127 128 129 130 131 132 133 134 | + | db close sqlite3_shutdown catch sqlite3_config_error } {0} sqlite3_initialize autoinstall_test_functions test_restore_config_pagecache finish_test |
Changes to test/malloc5.test.
︙ | |||
16 17 18 19 20 21 22 | 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 44 45 46 47 48 49 | - - - - - + + | # the configured soft heap limit could cause sqlite to upgrade database # locks and flush dirty pages to the file system. As of 3.6.2, this is # no longer the case. In version 3.6.2, sqlite3_release_memory() only # reclaims clean pages. This test file has been updated accordingly. # # $Id: malloc5.test,v 1.22 2009/04/11 19:09:54 drh Exp $ |
︙ | |||
411 412 413 414 415 416 417 418 419 | 408 409 410 411 412 413 414 415 416 417 | + | sqlite3_release_memory 31459 list [nPage db] [nPage db2] } {1 3} db2 close sqlite3_soft_heap_limit $::soft_limit test_restore_config_pagecache finish_test catch {db close} |
Changes to test/memsubsys1.test.
︙ | |||
20 21 22 23 24 25 26 27 28 29 30 31 32 33 | 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | + + | # by default when a new database connection is opened. As a result, it # will not work with the "memsubsys1" permutation. # if {[permutation] == "memsubsys1"} { finish_test return } test_set_config_pagecache 0 0 # This procedure constructs a new database in test.db. It fills # this database with many small records (enough to force multiple # rebalance operations in the btree-layer and to require a large # page cache), verifies correct results, then returns. # proc build_test_db {testname pragmas} { |
︙ | |||
306 307 308 309 310 311 312 | 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 | - + + | } } {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16} db close sqlite3_shutdown sqlite3_config_memstatus 1 |
Changes to test/pcache2.test.
︙ | |||
11 12 13 14 15 16 17 18 19 20 21 22 23 24 | 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | + + | # # This file is focused on testing the pcache module. # # $Id: pcache2.test,v 1.5 2009/07/18 14:36:24 danielk1977 Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl test_set_config_pagecache 0 0 # Set up a pcache memory pool so that we can easily track how many # pages are being used for cache. # do_test pcache2-1.1 { db close sqlite3_reset_auto_extension |
︙ | |||
74 75 76 77 78 79 80 81 | 76 77 78 79 80 81 82 83 84 | + | sqlite3_reset_auto_extension sqlite3_shutdown sqlite3_config_pagecache 0 0 sqlite3_config serialized sqlite3_initialize autoinstall_test_functions test_restore_config_pagecache finish_test |
Changes to test/permutations.test.
︙ | |||
413 414 415 416 417 418 419 420 421 | 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 | + - + - + - + - | # causes the effective limit on the page-cache to be just 24 pages. # test_suite "memsubsys1" -description { Tests using pre-allocated page and scratch blocks } -files [ test_set $::allquicktests -exclude ioerr5.test malloc5.test mmap1.test ] -initialize { test_set_config_pagecache 4096 24 catch {db close} sqlite3_shutdown |
︙ |
Changes to test/tester.tcl.
︙ | |||
2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 | 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + | sqlite3 db $dbfile } proc db_delete_and_reopen {{file test.db}} { catch { db close } foreach f [glob -nocomplain test.db*] { forcedelete $f } sqlite3 db $file } # Close any connections named [db], [db2] or [db3]. Then use sqlite3_config # to configure the size of the PAGECACHE allocation using the parameters # provided to this command. Save the old PAGECACHE parameters in a global # variable so that [test_restore_config_pagecache] can restore the previous # configuration. # # Before returning, reopen connection [db] on file test.db. # proc test_set_config_pagecache {sz nPg} { catch {db close} catch {db2 close} catch {db3 close} sqlite3_shutdown set ::old_pagecache_config [sqlite3_config_pagecache $sz $nPg] sqlite3_initialize autoinstall_test_functions sqlite3 db test.db } # Close any connections named [db], [db2] or [db3]. Then use sqlite3_config # to configure the size of the PAGECACHE allocation to the size saved in # the global variable by an earlier call to [test_set_config_pagecache]. # # Before returning, reopen connection [db] on file test.db. # proc test_restore_config_pagecache {} { catch {db close} catch {db2 close} catch {db3 close} sqlite3_shutdown eval sqlite3_config_pagecache $::old_pagecache_config unset ::old_pagecache_config sqlite3_initialize autoinstall_test_functions sqlite3 db test.db } # If the library is compiled with the SQLITE_DEFAULT_AUTOVACUUM macro set # to non-zero, then set the global variable $AUTOVACUUM to 1. set AUTOVACUUM $sqlite_options(default_autovacuum) # Make sure the FTS enhanced query syntax is disabled. set sqlite_fts3_enable_parentheses 0 |
︙ |
Changes to test/zeroblob.test.
︙ | |||
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 44 45 46 47 48 49 50 | 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 44 45 46 47 48 49 50 51 52 53 | + + + | set testdir [file dirname $argv0] source $testdir/tester.tcl ifcapable !incrblob { finish_test return } test_set_config_pagecache 0 0 # When zeroblob() is used for the last field of a column, then the # content of the zeroblob is never instantiated on the VDBE stack. # But it does get inserted into the database correctly. # db eval {PRAGMA cache_size=10} sqlite3_memory_highwater 1 unset -nocomplain memused set memused [sqlite3_memory_used] do_test zeroblob-1.1 { execsql { CREATE TABLE t1(a,b,c,d); } set ::sqlite3_max_blobsize 0 execsql { INSERT INTO t1 VALUES(2,3,4,zeroblob(1000000)); } set ::sqlite3_max_blobsize } {10} do_test zeroblob-1.1.1 { expr {[sqlite3_memory_highwater]<$::memused+25000} } {1} do_test zeroblob-1.2 { execsql { SELECT length(d) FROM t1 } |
︙ | |||
261 262 263 264 265 266 267 268 | 264 265 266 267 268 269 270 271 272 | + | db eval { CREATE TABLE t10(a,b,c); } catchsql {INSERT INTO t10 VALUES(zeroblob(1e9),zeroblob(1e9),zeroblob(1e9))} } {1 {string or blob too big}} test_restore_config_pagecache finish_test |