diff options
Diffstat (limited to 'components/external/SQLite-3.8.1/test/bitvec.test')
| -rw-r--r-- | components/external/SQLite-3.8.1/test/bitvec.test | 195 |
1 files changed, 0 insertions, 195 deletions
diff --git a/components/external/SQLite-3.8.1/test/bitvec.test b/components/external/SQLite-3.8.1/test/bitvec.test deleted file mode 100644 index d27f927456..0000000000 --- a/components/external/SQLite-3.8.1/test/bitvec.test +++ /dev/null @@ -1,195 +0,0 @@ -# 2008 February 18 -# -# 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. -# -#*********************************************************************** -# -# Unit testing of the Bitvec object. -# -# $Id: bitvec.test,v 1.4 2009/04/01 23:49:04 drh Exp $ -# - -set testdir [file dirname $argv0] -source $testdir/tester.tcl - -# The built-in test logic must be operational in order for -# this test to work. -ifcapable !builtin_test { - finish_test - return -} - -# Test that sqlite3BitvecBuiltinTest correctly reports errors -# that are deliberately introduced. -# -do_test bitvec-1.0.1 { - sqlite3BitvecBuiltinTest 400 {5 1 1 1 0} -} 1 -do_test bitvec-1.0.2 { - sqlite3BitvecBuiltinTest 400 {5 1 234 1 0} -} 234 - -# Run test cases that set every bit in vectors of various sizes. -# for larger cases, this should cycle the bit vector representation -# from hashing into subbitmaps. The subbitmaps should start as -# hashes then change to either subbitmaps or linear maps, depending -# on their size. -# -do_test bitvec-1.1 { - sqlite3BitvecBuiltinTest 400 {1 400 1 1 0} -} 0 -do_test bitvec-1.2 { - sqlite3BitvecBuiltinTest 4000 {1 4000 1 1 0} -} 0 -do_test bitvec-1.3 { - sqlite3BitvecBuiltinTest 40000 {1 40000 1 1 0} -} 0 -do_test bitvec-1.4 { - sqlite3BitvecBuiltinTest 400000 {1 400000 1 1 0} -} 0 - -# By specifying a larger increments, we spread the load around. -# -do_test bitvec-1.5 { - sqlite3BitvecBuiltinTest 400 {1 400 1 7 0} -} 0 -do_test bitvec-1.6 { - sqlite3BitvecBuiltinTest 4000 {1 4000 1 7 0} -} 0 -do_test bitvec-1.7 { - sqlite3BitvecBuiltinTest 40000 {1 40000 1 7 0} -} 0 -do_test bitvec-1.8 { - sqlite3BitvecBuiltinTest 400000 {1 400000 1 7 0} -} 0 - -# First fill up the bitmap with ones, then go through and -# clear all the bits. This will stress the clearing mechanism. -# -do_test bitvec-1.9 { - sqlite3BitvecBuiltinTest 400 {1 400 1 1 2 400 1 1 0} -} 0 -do_test bitvec-1.10 { - sqlite3BitvecBuiltinTest 4000 {1 4000 1 1 2 4000 1 1 0} -} 0 -do_test bitvec-1.11 { - sqlite3BitvecBuiltinTest 40000 {1 40000 1 1 2 40000 1 1 0} -} 0 -do_test bitvec-1.12 { - sqlite3BitvecBuiltinTest 400000 {1 400000 1 1 2 400000 1 1 0} -} 0 - -do_test bitvec-1.13 { - sqlite3BitvecBuiltinTest 400 {1 400 1 1 2 400 1 7 0} -} 0 -do_test bitvec-1.15 { - sqlite3BitvecBuiltinTest 4000 {1 4000 1 1 2 4000 1 7 0} -} 0 -do_test bitvec-1.16 { - sqlite3BitvecBuiltinTest 40000 {1 40000 1 1 2 40000 1 77 0} -} 0 -do_test bitvec-1.17 { - sqlite3BitvecBuiltinTest 400000 {1 400000 1 1 2 400000 1 777 0} -} 0 - -do_test bitvec-1.18 { - sqlite3BitvecBuiltinTest 400000 {1 5000 100000 1 2 400000 1 37 0} -} 0 - -# Attempt to induce hash collisions. -# -unset -nocomplain start -unset -nocomplain incr -foreach start {1 2 3 4 5 6 7 8} { - foreach incr {124 125} { - do_test bitvec-1.20.$start.$incr { - set prog [list 1 60 $::start $::incr 2 5000 1 1 0] - sqlite3BitvecBuiltinTest 5000 $prog - } 0 - } -} - -do_test bitvec-1.30.big_and_slow { - sqlite3BitvecBuiltinTest 17000000 {1 17000000 1 1 2 17000000 1 1 0} -} 0 - - -# Test setting and clearing a random subset of bits. -# -do_test bitvec-2.1 { - sqlite3BitvecBuiltinTest 4000 {3 2000 4 2000 0} -} 0 -do_test bitvec-2.2 { - sqlite3BitvecBuiltinTest 4000 {3 1000 4 1000 3 1000 4 1000 3 1000 4 1000 - 3 1000 4 1000 3 1000 4 1000 3 1000 4 1000 0} -} 0 -do_test bitvec-2.3 { - sqlite3BitvecBuiltinTest 400000 {3 10 0} -} 0 -do_test bitvec-2.4 { - sqlite3BitvecBuiltinTest 4000 {3 10 2 4000 1 1 0} -} 0 -do_test bitvec-2.5 { - sqlite3BitvecBuiltinTest 5000 {3 20 2 5000 1 1 0} -} 0 -do_test bitvec-2.6 { - sqlite3BitvecBuiltinTest 50000 {3 60 2 50000 1 1 0} -} 0 -do_test bitvec-2.7 { - sqlite3BitvecBuiltinTest 5000 { - 1 25 121 125 - 1 50 121 125 - 2 25 121 125 - 0 - } -} 0 - -# This procedure runs sqlite3BitvecBuiltinTest with argments "n" and -# "program". But it also causes a malloc error to occur after the -# "failcnt"-th malloc. The result should be "0" if no malloc failure -# occurs or "-1" if there is a malloc failure. -# -proc bitvec_malloc_test {label failcnt n program} { - do_test $label [subst { - sqlite3_memdebug_fail $failcnt - set x \[sqlite3BitvecBuiltinTest $n [list $program]\] - set nFail \[sqlite3_memdebug_fail -1\] - if {\$nFail==0} { - set ::go 0 - set x -1 - } - set x - }] -1 -} - -# Make sure malloc failures are handled sanily. -# -unset -nocomplain n -unset -nocomplain go -set go 1 -save_prng_state -for {set n 0} {$go} {incr n} { - restore_prng_state - bitvec_malloc_test bitvec-3.1.$n $n 5000 { - 3 60 2 5000 1 1 3 60 2 5000 1 1 3 60 2 5000 1 1 0 - } -} -set go 1 -for {set n 0} {$go} {incr n} { - restore_prng_state - bitvec_malloc_test bitvec-3.2.$n $n 5000 { - 3 600 2 5000 1 1 3 600 2 5000 1 1 3 600 2 5000 1 1 0 - } -} -set go 1 -for {set n 1} {$go} {incr n} { - bitvec_malloc_test bitvec-3.3.$n $n 50000 {1 50000 1 1 0} -} - -finish_test -return |
