More coverage tests for fts3.c.

FossilOrigin-Name: 7a2f2864002d4e9a487e2779ae05513880ecb4d1
This commit is contained in:
dan 2010-10-26 07:14:25 +00:00
parent e25ac099f1
commit c7c91257d5
6 changed files with 37 additions and 20 deletions

View File

@ -658,9 +658,8 @@ static void fts3DatabasePageSize(int *pRc, Fts3Table *p){
}else{
rc = sqlite3_prepare(p->db, zSql, -1, &pStmt, 0);
if( rc==SQLITE_OK ){
if( SQLITE_ROW==sqlite3_step(pStmt) ){
p->nPgsz = sqlite3_column_int(pStmt, 0);
}
sqlite3_step(pStmt);
p->nPgsz = sqlite3_column_int(pStmt, 0);
rc = sqlite3_finalize(pStmt);
}
}

View File

@ -77,8 +77,14 @@
** Macros indicating that conditional expressions are always true or
** false.
*/
#ifdef SQLITE_COVERAGE_TEST
# define ALWAYS(x) (1)
# define NEVER(X) (0)
#else
# define ALWAYS(x) (x)
# define NEVER(X) (x)
#endif
/*
** Internal types used by SQLite.
*/

View File

@ -1,5 +1,5 @@
C Further\simprovements\sto\scoverage\sof\sfts3.c.\sFixes\sfor\sbugs\srevealed\sby\sthe\ssame.
D 2010-10-25T19:01:25
C More\scoverage\stests\sfor\sfts3.c.
D 2010-10-26T07:14:26
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
F Makefile.in 2c8cefd962eca0147132c7cf9eaa4bb24c656f3f
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@ -61,9 +61,9 @@ F ext/fts2/mkfts2amal.tcl 974d5d438cb3f7c4a652639262f82418c1e4cff0
F ext/fts3/README.syntax a19711dc5458c20734b8e485e75fb1981ec2427a
F ext/fts3/README.tokenizers 998756696647400de63d5ba60e9655036cb966e9
F ext/fts3/README.txt 8c18f41574404623b76917b9da66fcb0ab38328d
F ext/fts3/fts3.c 989ab87071f160f1459359058e629ca00cb13f70
F ext/fts3/fts3.c e78273903ca271d90fe30f32832de18b730e5818
F ext/fts3/fts3.h 3a10a0af180d502cecc50df77b1b22df142817fe
F ext/fts3/fts3Int.h 11fa12ce041bacbc6ac53db127eb0bcc0538af51
F ext/fts3/fts3Int.h 819bc2661c8f3b46221d146f1810dc6741819f55
F ext/fts3/fts3_expr.c ee48b9278b8b2432a05a03320fbcacba151dbaa5
F ext/fts3/fts3_hash.c 3c8f6387a4a7f5305588b203fa7c887d753e1f1c
F ext/fts3/fts3_hash.h 8331fb2206c609f9fc4c4735b9ab5ad6137c88ec
@ -431,9 +431,9 @@ F test/fts3ao.test b83f99f70e9eec85f27d75801a974b3f820e01f9
F test/fts3atoken.test 25c2070e1e8755d414bf9c8200427b277a9f99fa
F test/fts3b.test e93bbb653e52afde110ad53bbd793f14fe7a8984
F test/fts3c.test fc723a9cf10b397fdfc2b32e73c53c8b1ec02958
F test/fts3cov.test a02a9abee9e40a8e964e015e8e76abeacd1ea7e1
F test/fts3cov.test e0fb00d8b715ddae4a94c305992dfc3ef70353d7
F test/fts3d.test 95fb3c862cbc4297c93fceb9a635543744e9ef52
F test/fts3defer.test 422566346d8f2da95dc5be9b0d3ddae86990240a
F test/fts3defer.test 1f75427fa35d7715595c91575b7c5d449fd28089
F test/fts3defer2.test 1a9f213ca79509b60d81460febc7e4e5b64af95c
F test/fts3e.test 1f6c6ac9cc8b772ca256e6b22aaeed50c9350851
F test/fts3expr.test 5e745b2b6348499d9ef8d59015de3182072c564c
@ -877,7 +877,7 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
P a8b1d99899678b72c2a487909eabed321593d55f
R b112f25d96f2f7bfd00311268c363283
P 918b609290127f54326c638d82837d117398eade
R eb8dee96b23ed044e3e188dc32bc02ca
U dan
Z e6dd64e790348520f70c858c0027a456
Z 86656592adbe34ecce7b6ce9cf686881

View File

@ -1 +1 @@
918b609290127f54326c638d82837d117398eade
7a2f2864002d4e9a487e2779ae05513880ecb4d1

View File

@ -415,6 +415,18 @@ do_catchsql_test 16.2 {
SELECT * FROM t16 WHERE t16 MATCH 'invisible'
} {1 {database disk image is malformed}}
# And another corruption test case.
#
do_execsql_test 17.1 {
CREATE VIRTUAL TABLE t17 USING fts4;
INSERT INTO t17(content) VALUES('one one one');
UPDATE t17_segdir SET root = X'00036F6E65FFFFFFFFFFFFFFFFFFFFFF02030300'
} {}
do_catchsql_test 17.2 {
SELECT * FROM t17 WHERE t17 MATCH 'one'
} {1 {database disk image is malformed}}
finish_test

View File

@ -210,7 +210,7 @@ foreach {tn setup} {
foreach doc $data { execsql { INSERT INTO t1 VALUES($doc) } }
}
3 {
#set dmt_modes {0 1 2}
set dmt_modes {0 1 2}
execsql { CREATE VIRTUAL TABLE t1 USING FTS4 }
foreach doc $data { execsql { INSERT INTO t1 VALUES($doc) } }
execsql $zero_long_doclists
@ -392,14 +392,14 @@ foreach {tn setup} {
WHERE t1 MATCH 'vgsld (hrlipdm OR (aayxpmve duszemmzl))'
} {10}
do_select_test 6.2.1 {
SELECT rowid FROM t1 WHERE t1 MATCH '"jk jcpiwj"'
} {39 40}
SELECT rowid FROM t1 WHERE t1 MATCH '"jk xduvfhk"'
} {8}
do_select_test 6.2.2 {
SELECT rowid FROM t1 WHERE t1 MATCH '"zm xnxhf"'
} {40 47}
SELECT rowid FROM t1 WHERE t1 MATCH '"zm azavwm"'
} {15 26 92 96}
do_select_test 6.2.3 {
SELECT rowid FROM t1 WHERE t1 MATCH '"jk jcpiwj" OR "zm xnxhf"'
} {39 40 47}
SELECT rowid FROM t1 WHERE t1 MATCH '"jk xduvfhk" OR "zm azavwm"'
} {8 15 26 92 96}
}
set testprefix fts3defer