Add tests to prevent a regression of the short read problem discovered

in version 3.2.2. (CVS 4428)

FossilOrigin-Name: 995c63b561e935b6a1da34590cb40582f5c30cee
This commit is contained in:
drh
2007-09-14 01:48:11 +00:00
parent 961303c1e7
commit 326c3fca85
3 changed files with 60 additions and 7 deletions
+7 -6
View File
@@ -1,5 +1,5 @@
C Drop\sthe\sforced\serror\sfrom\sfts3.c\sand\sadd\sforced\serrors\sto\sfts2.c\sand\nfts1.c.\s(CVS\s4427)
D 2007-09-13T18:16:08
C Add\stests\sto\sprevent\sa\sregression\sof\sthe\sshort\sread\sproblem\sdiscovered\nin\sversion\s3.2.2.\s(CVS\s4428)
D 2007-09-14T01:48:12
F Makefile.in cbfb898945536a8f9ea8b897e1586dd1fdbcc5db
F Makefile.linux-gcc 65241babba6faf1152bf86574477baab19190499
F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
@@ -409,6 +409,7 @@ F test/shared.test 3f27bca85ba3c032c346f895d42d4110cb5288e6
F test/shared2.test 0ee9de8964d70e451936a48c41cb161d9134ccf4
F test/shared3.test 01e3e124dbb3859788aabc7cfb82f7ea04421749
F test/shared_err.test bfe49fbbf26746a3c05255b1dc7230744182b744
F test/shortread1.test bb591ef20f0fd9ed26d0d12e80eee6d7ac8897a3
F test/soak.test 64f9b27fbcdec43335a88c546ce1983e6ba40d7b
F test/softheap1.test 29cbdb847e63ffef3af5da1e3cd15f44ee11d770
F test/sort.test 0e4456e729e5a92a625907c63dcdedfbe72c5dc5
@@ -577,7 +578,7 @@ F www/tclsqlite.tcl 8be95ee6dba05eabcd27a9d91331c803f2ce2130
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5
P c8d2345200f9ece1af712543982097d0b6f348c7
R ef2d8ee95ba1b46aa99333d48f97eddd
U shess
Z 7e45d9fdd88f579666a7625daeccbaf8
P fec6567a0f8a868cda9bba2a473491dfb17b6c88
R 64368b1c928a9ef5d9e681f8f2f0c32e
U drh
Z ca9ce5d0d5be2d28682a36a17ba9e364
+1 -1
View File
@@ -1 +1 @@
fec6567a0f8a868cda9bba2a473491dfb17b6c88
995c63b561e935b6a1da34590cb40582f5c30cee
+52
View File
@@ -0,0 +1,52 @@
# 2007 Sep 13
#
# 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.
#
#***********************************************************************
#
# This file attempts to duplicate an error scenario seen on a
# customer system using version 3.2.2. The problem appears to
# have been fixed (perhaps by accident) with check-in [3503].
# These tests will prevent an accidental recurrance.
#
# $Id: shortread1.test,v 1.1 2007/09/14 01:48:12 drh Exp $
#
set testdir [file dirname $argv0]
source $testdir/tester.tcl
do_test shortread1-1.1 {
execsql {
CREATE TABLE t1(a TEXT);
BEGIN;
INSERT INTO t1 VALUES(hex(randomblob(5000)));
INSERT INTO t1 VALUES(hex(randomblob(100)));
PRAGMA freelist_count;
}
} {0}
do_test shortread1-1.2 {
execsql {
DELETE FROM t1 WHERE rowid=1;
PRAGMA freelist_count;
}
} {11}
do_test shortread1-1.3 {
sqlite3_release_memory [expr {1024*9}]
execsql {
INSERT INTO t1 VALUES(hex(randomblob(5000)));
PRAGMA freelist_count;
}
} {0}
do_test shortread1-1.4 {
execsql {
COMMIT;
SELECT count(*) FROM t1;
}
} {2}
finish_test