Add tests to "permutations.test coverage-pager" to cover uncovered branches.

FossilOrigin-Name: 07a0e4e9820a85bf1690214fef3577866c763f92
This commit is contained in:
dan 2013-04-06 11:03:09 +00:00
parent d7a558a9fb
commit abd6d84a11
5 changed files with 175 additions and 14 deletions

View File

@ -1,5 +1,5 @@
C Improve\sthe\scode\scoverage\sof\s"permutations.test\scoverage-pager".
D 2013-04-05T20:40:43.227
C Add\stests\sto\s"permutations.test\scoverage-pager"\sto\scover\suncovered\sbranches.
D 2013-04-06T11:03:09.144
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
F Makefile.in aafa71d66bab7e87fb2f348152340645f79f0244
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@ -651,10 +651,10 @@ F test/orderby2.test bc11009f7cd99d96b1b11e57b199b00633eb5b04
F test/orderby3.test 8619d06a3debdcd80a27c0fdea5c40b468854b99
F test/orderby4.test 4d39bfbaaa3ae64d026ca2ff166353d2edca4ba4
F test/oserror.test 50417780d0e0d7cd23cf12a8277bb44024765df3
F test/pager1.test 622bfaea80604a96010f35256a4fc22fce584e95
F test/pager2.test 745b911dde3d1f24ae0870bd433dfa83d7c658c1
F test/pager1.test 134144862f6a98f862dc2edda1b10ff499141bfa
F test/pager2.test 67b8f40ae98112bcdba1f2b2d03ea83266418c71
F test/pager3.test 3856d9c80839be0668efee1b74811b1b7f7fc95f
F test/pagerfault.test 636c01bdbdb2bb2baf68532d6c4ef4c633022743
F test/pagerfault.test bba948be0564254b823ec6ca1fd95fbbfb0839a3
F test/pagerfault2.test 1f79ea40d1133b2683a2f811b00f2399f7ec2401
F test/pagerfault3.test f16e2efcb5fc9996d1356f7cbc44c998318ae1d7
F test/pageropt.test 32cb5a6ed7ccddf8e8c842cb44240bd9340223ce
@ -1044,7 +1044,7 @@ F tool/vdbe-compress.tcl f12c884766bd14277f4fcedcae07078011717381
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
F tool/win/sqlite.vsix 97894c2790eda7b5bce3cc79cb2a8ec2fde9b3ac
P a107f75d93b8acd3403d8473a75137378041a833
R 6d11c98ab18b87c4b8798ffe987d9d38
P b095e2cdb61ca8487255687f58fb1024d40f3986
R bbe90127c799120f0deb57d78c345328
U dan
Z 50aa2590d101ae076870fa94f81e976a
Z 0a43fd582a2aa921b5f65df032585318

View File

@ -1 +1 @@
b095e2cdb61ca8487255687f58fb1024d40f3986
07a0e4e9820a85bf1690214fef3577866c763f92

View File

@ -2245,7 +2245,6 @@ do_test pager1-25-1 {
}
db close
} {}
breakpoint
do_test pager1-25-2 {
faultsim_delete_and_reopen
execsql {
@ -2543,7 +2542,6 @@ foreach {tn pragma strsize} {
CREATE TABLE t1(a, b);
INSERT INTO t1 VALUES(1, 2);
}
breakpoint
do_execsql_test 34.$tn.2 {
BEGIN;
INSERT INTO t1 VALUES(2, a_string($strsize));
@ -2605,14 +2603,21 @@ foreach {tn uri} {
do_test 37.$tn {
catch { db close }
sqlite3_shutdown
sqlite3_config_uri 1
sqlite3 db $uri
sqlite3_config_uri 1
sqlite3 db $uri
db eval {
CREATE TABLE t1(x);
INSERT INTO t1 VALUES(1);
SELECT * FROM t1;
}
} {1}
do_execsql_test 37.$tn.2 {
VACUUM;
SELECT * FROM t1;
} {1}
db close
sqlite3_shutdown
sqlite3_config_uri 0
@ -2730,6 +2735,84 @@ do_test 41.2 {
PRAGMA integrity_check;
}
} {ok}
db close
tv delete
set pending_prev [sqlite3_test_control_pending_byte 0x1000000]
do_test 42.1 {
reset_db
execsql {
CREATE TABLE t1(x, y);
INSERT INTO t1 VALUES(randomblob(200), randomblob(200));
INSERT INTO t1 SELECT randomblob(200), randomblob(200) FROM t1;
INSERT INTO t1 SELECT randomblob(200), randomblob(200) FROM t1;
INSERT INTO t1 SELECT randomblob(200), randomblob(200) FROM t1;
INSERT INTO t1 SELECT randomblob(200), randomblob(200) FROM t1;
INSERT INTO t1 SELECT randomblob(200), randomblob(200) FROM t1;
INSERT INTO t1 SELECT randomblob(200), randomblob(200) FROM t1;
INSERT INTO t1 SELECT randomblob(200), randomblob(200) FROM t1;
INSERT INTO t1 SELECT randomblob(200), randomblob(200) FROM t1;
INSERT INTO t1 SELECT randomblob(200), randomblob(200) FROM t1;
}
db close
sqlite3_test_control_pending_byte 0x0010000
sqlite3 db test.db
db eval { PRAGMA mmap_limit = 0 }
catchsql { SELECT sum(length(y)) FROM t1 }
} {1 {database disk image is malformed}}
do_test 42.2 {
reset_db
execsql {
CREATE TABLE t1(x, y);
INSERT INTO t1 VALUES(randomblob(200), randomblob(200));
INSERT INTO t1 SELECT randomblob(200), randomblob(200) FROM t1;
INSERT INTO t1 SELECT randomblob(200), randomblob(200) FROM t1;
INSERT INTO t1 SELECT randomblob(200), randomblob(200) FROM t1;
INSERT INTO t1 SELECT randomblob(200), randomblob(200) FROM t1;
INSERT INTO t1 SELECT randomblob(200), randomblob(200) FROM t1;
INSERT INTO t1 SELECT randomblob(200), randomblob(200) FROM t1;
INSERT INTO t1 SELECT randomblob(200), randomblob(200) FROM t1;
INSERT INTO t1 SELECT randomblob(200), randomblob(200) FROM t1;
}
db close
testvfs tv -default 1
tv sectorsize 16384;
tv devchar [list]
sqlite3 db test.db -vfs tv
execsql { UPDATE t1 SET x = randomblob(200) }
} {}
db close
tv delete
sqlite3_test_control_pending_byte $pending_prev
do_test 43.1 {
reset_db
execsql {
CREATE TABLE t1(x, y);
INSERT INTO t1 VALUES(1, 2);
CREATE TABLE t2(x, y);
INSERT INTO t2 VALUES(1, 2);
CREATE TABLE t3(x, y);
INSERT INTO t3 VALUES(1, 2);
}
db close
sqlite3 db test.db
db eval { PRAGMA mmap_limit = 0 }
db eval { SELECT * FROM t1 }
sqlite3_db_status db CACHE_MISS 0
} {0 2 0}
do_test 43.2 {
db eval { SELECT * FROM t2 }
sqlite3_db_status db CACHE_MISS 1
} {0 3 0}
do_test 43.3 {
db eval { SELECT * FROM t3 }
sqlite3_db_status db CACHE_MISS 0
} {0 1 0}
finish_test

View File

@ -118,7 +118,6 @@ tv delete
#-------------------------------------------------------------------------
#
# pager2-2.1: Test a ROLLBACK with journal_mode=off.
# pager2-2.2: Test shrinking the database (auto-vacuum) with
# journal_mode=off
@ -148,4 +147,22 @@ do_test pager2-2.2 {
file size test.db
} {3072}
#-------------------------------------------------------------------------
# Test that shared in-memory databases seem to work.
#
db close
do_test pager2-3.1 {
forcedelete test.db
sqlite3_shutdown
sqlite3_config_uri 1
sqlite3 db1 {file:test.db?mode=memory&cache=shared}
sqlite3 db2 {file:test.db?mode=memory&cache=shared}
sqlite3 db3 test.db
db1 eval { CREATE TABLE t1(a, b) }
db2 eval { INSERT INTO t1 VALUES(1, 2) }
list [catch { db3 eval { INSERT INTO t1 VALUES(3, 4) } } msg] $msg
} {1 {no such table: t1}}
finish_test

View File

@ -1483,6 +1483,67 @@ do_faultsim_test pagerfault-34 -prep {
faultsim_test_result {0 {}}
}
do_test pagerfault-35-pre {
faultsim_delete_and_reopen
execsql {
CREATE TABLE t1(x PRIMARY KEY, y);
INSERT INTO t1 VALUES(randomblob(200), randomblob(200));
INSERT INTO t1 SELECT randomblob(200), randomblob(200) FROM t1;
INSERT INTO t1 SELECT randomblob(200), randomblob(200) FROM t1;
INSERT INTO t1 SELECT randomblob(200), randomblob(200) FROM t1;
}
faultsim_save_and_close
} {}
testvfs tv -default 1
tv sectorsize 8192;
tv devchar [list]
do_faultsim_test pagerfault-35 -prep {
faultsim_restore_and_reopen
} -body {
execsql { UPDATE t1 SET x=randomblob(200) }
} -test {
faultsim_test_result {0 {}}
}
catch {db close}
tv delete
sqlite3_shutdown
sqlite3_config_uri 1
do_test pagerfault-36-pre {
faultsim_delete_and_reopen
execsql {
CREATE TABLE t1(x PRIMARY KEY, y);
INSERT INTO t1 VALUES(randomblob(200), randomblob(200));
INSERT INTO t1 SELECT randomblob(200), randomblob(200) FROM t1;
INSERT INTO t1 SELECT randomblob(200), randomblob(200) FROM t1;
INSERT INTO t1 SELECT randomblob(200), randomblob(200) FROM t1;
}
faultsim_save_and_close
} {}
do_faultsim_test pagerfault-36 -prep {
faultsim_restore
sqlite3 db file:test.db?cache=shared
sqlite3 db2 file:test.db?cache=shared
db2 eval {
BEGIN;
SELECT count(*) FROM sqlite_master;
}
db eval {
PRAGMA cache_size = 1;
BEGIN;
UPDATE t1 SET x = randomblob(200);
}
} -body {
execsql ROLLBACK db
} -test {
catch { db eval {UPDATE t1 SET x = randomblob(200)} }
faultsim_test_result {0 {}}
catch { db close }
catch { db2 close }
}
sqlite3_shutdown
sqlite3_config_uri 0
finish_test