| Index: third_party/sqlite/src/test/memsubsys1.test
|
| diff --git a/third_party/sqlite/src/test/memsubsys1.test b/third_party/sqlite/src/test/memsubsys1.test
|
| index 3bb2cc71d4df3a12d3c0fd794252cc163c07e62f..8cc7c2afc1e7cabae979d575b98b262b9e235711 100644
|
| --- a/third_party/sqlite/src/test/memsubsys1.test
|
| +++ b/third_party/sqlite/src/test/memsubsys1.test
|
| @@ -32,7 +32,7 @@ if {[permutation] == "memsubsys1"} {
|
| #
|
| proc build_test_db {testname pragmas} {
|
| catch {db close}
|
| - file delete -force test.db test.db-journal
|
| + forcedelete test.db test.db-journal
|
| sqlite3 db test.db
|
| sqlite3_db_config_lookaside db 0 0 0
|
| db eval $pragmas
|
| @@ -68,7 +68,7 @@ proc reset_highwater_marks {} {
|
| sqlite3_status SQLITE_STATUS_PARSER_STACK 1
|
| }
|
|
|
| -set xtra_size 256
|
| +set xtra_size 290
|
|
|
| # Test 1: Both PAGECACHE and SCRATCH are shut down.
|
| #
|
| @@ -94,12 +94,14 @@ sqlite3_shutdown
|
| sqlite3_config_pagecache [expr 1024+$xtra_size] 20
|
| sqlite3_initialize
|
| reset_highwater_marks
|
| -build_test_db memsubsys1-2 {PRAGMA page_size=1024}
|
| +build_test_db memsubsys1-2 {PRAGMA page_size=1024; PRAGMA mmap_size=0}
|
| #show_memstats
|
| set MEMORY_MANAGEMENT $sqlite_options(memorymanage)
|
| -do_test memsubsys1-2.3 {
|
| - set pg_ovfl [lindex [sqlite3_status SQLITE_STATUS_PAGECACHE_OVERFLOW 0] 2]
|
| -} [expr ($TEMP_STORE>1 || $MEMORY_MANAGEMENT==0)*1024]
|
| +ifcapable !malloc_usable_size {
|
| + do_test memsubsys1-2.3 {
|
| + set pg_ovfl [lindex [sqlite3_status SQLITE_STATUS_PAGECACHE_OVERFLOW 0] 2]
|
| + } [expr ($TEMP_STORE>1 || $MEMORY_MANAGEMENT==0)*1024]
|
| +}
|
| do_test memsubsys1-2.4 {
|
| set pg_used [lindex [sqlite3_status SQLITE_STATUS_PAGECACHE_USED 0] 2]
|
| } 20
|
| @@ -122,7 +124,13 @@ do_test memsubsys1-3.1.3 {
|
| } 0
|
| do_test memsubsys1-3.1.4 {
|
| set overflow [lindex [sqlite3_status SQLITE_STATUS_PAGECACHE_OVERFLOW 0] 2]
|
| -} $max_pagecache
|
| + # Note: The measured PAGECACHE_OVERFLOW is amount malloc() returns, not what
|
| + # was requested. System malloc() implementations might (arbitrarily) return
|
| + # slightly different oversize buffers, which can result in slightly different
|
| + # PAGECACHE_OVERFLOW sizes between consecutive runs. So we cannot do an
|
| + # exact comparison. Simply verify that the amount is within 5%.
|
| + expr {$overflow>=$max_pagecache*0.95 && $overflow<=$max_pagecache*1.05}
|
| +} 1
|
| do_test memsubsys1-3.1.5 {
|
| set s_used [lindex [sqlite3_status SQLITE_STATUS_SCRATCH_USED 0] 2]
|
| } 0
|
|
|