aboutsummaryrefslogtreecommitdiff
path: root/test/permutations.test
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2008-11-19 01:20:26 +0000
committerdrh <drh@noemail.net>2008-11-19 01:20:26 +0000
commitb232c23297248eb0753cf036c99f4bece9df992a (patch)
tree1131a6c766216f9a071bac0119ed202a6f377332 /test/permutations.test
parent4c6517848fac8fa107bbd746171f37e57380be3f (diff)
downloadsqlite-b232c23297248eb0753cf036c99f4bece9df992a.tar.gz
sqlite-b232c23297248eb0753cf036c99f4bece9df992a.zip
Add an alternative application-defined pcache implementation and add test
cases to permutations.test to invoke it. Added the SQLITE_CONFIG_GETPCACHE method to sqlite3_config(). (CVS 5920) FossilOrigin-Name: 16f1e6ec2ad92f68c0079a0c2b5ca08a3b4af816
Diffstat (limited to 'test/permutations.test')
-rw-r--r--test/permutations.test102
1 files changed, 101 insertions, 1 deletions
diff --git a/test/permutations.test b/test/permutations.test
index bec84e993..c4cfaa9ea 100644
--- a/test/permutations.test
+++ b/test/permutations.test
@@ -9,7 +9,7 @@
#
#***********************************************************************
#
-# $Id: permutations.test,v 1.38 2008/11/13 16:21:50 danielk1977 Exp $
+# $Id: permutations.test,v 1.39 2008/11/19 01:20:26 drh Exp $
set testdir [file dirname $argv0]
source $testdir/tester.tcl
@@ -604,6 +604,106 @@ run_tests "safe_append" -description {
} -include [lsort [concat shared_err.test $ALLTESTS]] \
-exclude async3.test
+# The set of tests to run on the alternative-pcache
+set perm-alt-pcache-testset {
+ async.test
+ attach.test
+ delete.test delete2.test
+ index.test
+ insert.test insert2.test
+ join.test join2.test
+ rollback.test
+ select1.test select2.test
+ trans.test
+ update.test
+}
+
+run_tests "pcache0" -description {
+ Alternative pcache implementation without random discard
+} -initialize {
+ catch {db close}
+ sqlite3_reset_auto_extension
+ sqlite3_shutdown
+ sqlite3_config_alt_pcache 1 0 1
+ sqlite3_initialize
+ autoinstall_test_functions
+} -shutdown {
+ catch {db close}
+ sqlite3_reset_auto_extension
+ sqlite3_shutdown
+ sqlite3_config_alt_pcache 0 0 0
+ sqlite3_config_lookaside 100 500
+ install_malloc_faultsim 1
+ sqlite3_initialize
+} -include ${perm-alt-pcache-testset}
+
+run_tests "pcache10" -description {
+ Alternative pcache implementation without 10% random discard
+} -initialize {
+ catch {db close}
+ sqlite3_reset_auto_extension
+ sqlite3_shutdown
+ sqlite3_config_alt_pcache 1 50 1
+ sqlite3_initialize
+ autoinstall_test_functions
+} -shutdown {
+ catch {db close}
+ sqlite3_reset_auto_extension
+ sqlite3_shutdown
+ sqlite3_config_alt_pcache 0 0 0
+ sqlite3_initialize
+} -include ${perm-alt-pcache-testset}
+
+run_tests "pcache50" -description {
+ Alternative pcache implementation without 50% random discard
+} -initialize {
+ catch {db close}
+ sqlite3_reset_auto_extension
+ sqlite3_shutdown
+ sqlite3_config_alt_pcache 1 50 1
+ sqlite3_initialize
+ autoinstall_test_functions
+} -shutdown {
+ catch {db close}
+ sqlite3_reset_auto_extension
+ sqlite3_shutdown
+ sqlite3_config_alt_pcache 0 0 0
+ sqlite3_initialize
+} -include ${perm-alt-pcache-testset}
+
+run_tests "pcache90" -description {
+ Alternative pcache implementation without 90% random discard
+} -initialize {
+ catch {db close}
+ sqlite3_reset_auto_extension
+ sqlite3_shutdown
+ sqlite3_config_alt_pcache 1 50 1
+ sqlite3_initialize
+ autoinstall_test_functions
+} -shutdown {
+ catch {db close}
+ sqlite3_reset_auto_extension
+ sqlite3_shutdown
+ sqlite3_config_alt_pcache 0 0 0
+ sqlite3_initialize
+} -include ${perm-alt-pcache-testset}
+
+run_tests "pcache100" -description {
+ Alternative pcache implementation that always discards when unpinning
+} -initialize {
+ catch {db close}
+ sqlite3_reset_auto_extension
+ sqlite3_shutdown
+ sqlite3_config_alt_pcache 1 100 1
+ sqlite3_initialize
+ autoinstall_test_functions
+} -shutdown {
+ catch {db close}
+ sqlite3_reset_auto_extension
+ sqlite3_shutdown
+ sqlite3_config_alt_pcache 0 0 0
+ sqlite3_initialize
+} -include ${perm-alt-pcache-testset}
# End of tests
#############################################################################