diff options
author | danielk1977 <danielk1977@noemail.net> | 2008-08-21 15:54:01 +0000 |
---|---|---|
committer | danielk1977 <danielk1977@noemail.net> | 2008-08-21 15:54:01 +0000 |
commit | 801880f66cc3de3a30b36d6a2d38c49c08da3a75 (patch) | |
tree | c928e7d77947bc353b0e7fa7d350e1b0586fb608 /test/malloc5.test | |
parent | e0ae6978a1079f5a495123508d2e92fc290bb4ea (diff) | |
download | sqlite-801880f66cc3de3a30b36d6a2d38c49c08da3a75.tar.gz sqlite-801880f66cc3de3a30b36d6a2d38c49c08da3a75.zip |
Fix soft-heap-limit related test suite failures. (CVS 5582)
FossilOrigin-Name: 2091d9a5260b1d7e27ff5ca93e60dae1e3b12081
Diffstat (limited to 'test/malloc5.test')
-rw-r--r-- | test/malloc5.test | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/test/malloc5.test b/test/malloc5.test index 22f9237df..550cb03dc 100644 --- a/test/malloc5.test +++ b/test/malloc5.test @@ -12,7 +12,7 @@ # This file contains test cases focused on the two memory-management APIs, # sqlite3_soft_heap_limit() and sqlite3_release_memory(). # -# $Id: malloc5.test,v 1.18 2008/02/18 22:24:58 drh Exp $ +# $Id: malloc5.test,v 1.19 2008/08/21 15:54:01 danielk1977 Exp $ #--------------------------------------------------------------------------- # NOTES ON EXPECTED BEHAVIOUR @@ -206,7 +206,7 @@ do_test malloc5-4.1 { } {1} do_test malloc5-4.2 { sqlite3_release_memory - sqlite3_soft_heap_limit 100000 + sqlite3_soft_heap_limit 110000 sqlite3_memory_highwater 1 execsql {BEGIN;} for {set i 0} {$i < 10000} {incr i} { @@ -231,7 +231,7 @@ do_test malloc5-4.2 { # the problem are the calls to sqlite3_malloc() inserted into selected # sqlite3OsXXX() functions in test builds. # - expr $nMaxBytes <= 100100 + expr $nMaxBytes <= 110100 } {1} do_test malloc5-4.3 { # Check that the content of table abc is at least roughly as expected. @@ -296,6 +296,9 @@ do_test malloc5-6.1.1 { execsql { PRAGMA page_size=1024; PRAGMA default_cache_size=10; + } + execsql { + PRAGMA temp_store = memory; BEGIN; CREATE TABLE abc(a PRIMARY KEY, b, c); INSERT INTO abc VALUES(randstr(50,50), randstr(75,75), randstr(100,100)); @@ -325,22 +328,22 @@ do_test malloc5-6.1.2 { do_test malloc5-6.2.1 { execsql { SELECT * FROM abc } db2 execsql {SELECT * FROM abc} db - list [nPage db] [nPage db2] -} {10 10} + expr [nPage db] + [nPage db2] +} {20} + do_test malloc5-6.2.2 { # If we now try to reclaim some memory, it should come from the db2 cache. sqlite3_release_memory 3000 - list [nPage db] [nPage db2] -} {10 7} + expr [nPage db] + [nPage db2] +} {17} do_test malloc5-6.2.3 { # Access the db2 cache again, so that all the db2 pages have been used # more recently than all the db pages. Then try to reclaim 3000 bytes. # This time, 3 pages should be pulled from the db cache. execsql { SELECT * FROM abc } db2 sqlite3_release_memory 3000 - list [nPage db] [nPage db2] -} {7 10} - + expr [nPage db] + [nPage db2] +} {17} do_test malloc5-6.3.1 { # Now open a transaction and update 2 pages in the db2 cache. Then @@ -356,8 +359,8 @@ do_test malloc5-6.3.1 { WHERE rowid = 1 OR rowid = (SELECT max(rowid) FROM abc); } db2 execsql { SELECT * FROM abc } db - list [nPage db] [nPage db2] -} {10 10} + expr [nPage db] + [nPage db2] +} {20} do_test malloc5-6.3.2 { # Try to release 7700 bytes. This should release all the # non-dirty pages held by db2. |