-C Progress\stoward\sregisterification\sof\sthe\sconstraint\schecking\slogic\sfor\nINSERT\sand\sUPDATE.\s(CVS\s4693)
-D 2008-01-08T02:57:56
+C Add\sadditional\srandomness\sto\scrash\stests.\s(CVS\s4694)
+D 2008-01-08T15:18:52
F Makefile.arm-wince-mingw32ce-gcc ac5f7b2cef0cd850d6f755ba6ee4ab961b1fadf7
F Makefile.in 30789bf70614bad659351660d76b8e533f3340e9
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
F test/corrupt2.test 572f8df0303d0ce63ddad5c5c9101a83a345ae46
F test/corrupt3.test 263e8bb04e2728df832fddf6973cf54c91db0c32
F test/corrupt4.test acdb01afaedf529004b70e55de1a6f5a05ae7fff
-F test/crash.test e8b9385771789851f030045c68fdf369ca030fc6
+F test/crash.test 1b6ac8410689ff78028887f445062dc897c9ac89
F test/crash2.test 26d7a4c5520201e5de2c696ea51ab946b59dc0e9
F test/crash3.test 0b09687ae1a3ccbcefdfaeb4b963e26e36255d76
F test/crashtest1.c 09c1c7d728ccf4feb9e481671e29dda5669bbcc2
F test/tableapi.test 92651a95c23cf955e92407928e640536402fa3cc
F test/tclsqlite.test 3fac87cb1059c46b8fa8a60b553f4f1adb0fb6d9
F test/temptable.test 19b851b9e3e64d91e9867619b2a3f5fffee6e125
-F test/tester.tcl ac4dace5f901b1ba5586b209f533f115d423985c
+F test/tester.tcl cfe051326b216c5a6ade6fa6e4d2ee4fd460a0aa
F test/thread001.test 8fbd9559da0bbdc273e00318c7fd66c162020af7
F test/thread002.test 2c4ad2c386f60f6fe268cd91c769ee35b3c1fd0b
F test/thread1.test 776c9e459b75ba905193b351926ac4019b049f35
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5
-P aa48867cfa04da265b906e5b583bc7ac6b6a1157
-R af4f73c6bffdbedd3861a3c5eb6d920e
+P b9bf509e39f5ac38c2149d2a648f68e5df5ae9e3
+R f86b7697fbcfb346b78b785f78b0e5e6
U drh
-Z 313f66697e8ae592eab31fdd061363d6
+Z 70a8e75efdd2439fff3e31be8bea7e10
-b9bf509e39f5ac38c2149d2a648f68e5df5ae9e3
\ No newline at end of file
+3ccce1f58be46787f8a35f0fa6d738ed126c0f07
\ No newline at end of file
# These routines allow us to simulate the kind of file damage that
# occurs after a power failure.
#
-# $Id: crash.test,v 1.26 2007/10/09 08:29:32 danielk1977 Exp $
+# $Id: crash.test,v 1.27 2008/01/08 15:18:52 drh Exp $
set testdir [file dirname $argv0]
source $testdir/tester.tcl
set ::sig [signature]
expr 0
} {0}
-do_test crash-1.2 {
- crashsql -delay 1 -file test.db-journal {
- DELETE FROM abc WHERE a = 1;
- }
-} {1 {child process exited abnormally}}
-do_test crash-1.3 {
- signature
-} $::sig
+for {set i 0} {$i<10} {incr i} {
+ set seed [expr {int(abs(rand()*10000))}]
+ do_test crash-1.2.$i {
+ crashsql -delay 1 -file test.db-journal -seed $seed {
+ DELETE FROM abc WHERE a = 1;
+ }
+ } {1 {child process exited abnormally}}
+ do_test crash-1.3.$i {
+ signature
+ } $::sig
+}
do_test crash-1.4 {
crashsql -delay 1 -file test.db {
DELETE FROM abc WHERE a = 1;
for {set i 1} {$i < $repeats} {incr i} {
set sig [signature]
do_test crash-3.$i.1 {
- crashsql -delay [expr $i%5 + 1] -file test.db-journal "
+ set seed [expr {int(abs(rand()*10000))}]
+ crashsql -delay [expr $i%5 + 1] -file test.db-journal -seed $seed "
BEGIN;
SELECT random() FROM abc LIMIT $i;
INSERT INTO abc VALUES(randstr(10,10), 0, 0);
set fin 0
for {set i 1} {$i<$repeats} {incr i} {
+ set seed [expr {int(abs(rand()*10000))}]
set sig [signature]
set sig2 [signature2]
do_test crash-4.1.$i.1 {
- set c [crashsql -delay $i -file test.db-journal "
+ set c [crashsql -delay $i -file test.db-journal -seed $::seed "
ATTACH 'test2.db' AS aux;
BEGIN;
SELECT randstr($i,$i) FROM abc LIMIT $i;
set i 0
set fin 0
while {[incr i]} {
+ set seed [expr {int(abs(rand()*10000))}]
set sig [signature]
set sig2 [signature2]
set ::fin 0
do_test crash-4.2.$i.1 {
- set c [crashsql -delay $i -file test2.db-journal "
+ set c [crashsql -delay $i -file test2.db-journal -seed $::seed "
ATTACH 'test2.db' AS aux;
BEGIN;
SELECT randstr($i,$i) FROM abc LIMIT $i;
# This file implements some common TCL routines used for regression
# testing the SQLite library
#
-# $Id: tester.tcl,v 1.96 2008/01/07 19:20:25 drh Exp $
+# $Id: tester.tcl,v 1.97 2008/01/08 15:18:52 drh Exp $
set tcl_precision 15
set blocksize ""
set crashdelay 1
+ set prngseed 0
set crashfile ""
set dc ""
set sql [lindex $args end]
set z2 [lindex $args [expr $ii+1]]
if {$n>1 && [string first $z -delay]==0} {set crashdelay $z2} \
+ elseif {$n>1 && [string first $z -seed]==0} {set prngseed $z2} \
elseif {$n>1 && [string first $z -file]==0} {set crashfile $z2} \
elseif {$n>1 && [string first $z -blocksize]==0} {set blocksize "-s $z2" } \
elseif {$n>1 && [string first $z -characteristics]==0} {set dc "-c {$z2}" } \
puts $f {db eval {SELECT * FROM sqlite_master;}}
puts $f {set bt [btree_from_db db]}
puts $f {btree_set_cache_size $bt 10}
+ if {$prngseed} {
+ set seed [expr {$prngseed%10007+1}]
+ # puts seed=$seed
+ puts $f "db eval {SELECT randomblob($seed)}"
+ }
puts $f "db eval {"
puts $f "$sql"