From: dan Date: Tue, 26 Oct 2010 07:14:25 +0000 (+0000) Subject: More coverage tests for fts3.c. X-Git-Tag: version-3.7.4~86^2~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c7c91257d593c1864b2a49ac8adf3afb724b227d;p=thirdparty%2Fsqlite.git More coverage tests for fts3.c. FossilOrigin-Name: 7a2f2864002d4e9a487e2779ae05513880ecb4d1 --- diff --git a/ext/fts3/fts3.c b/ext/fts3/fts3.c index c9766dafea..bf760efe8e 100644 --- a/ext/fts3/fts3.c +++ b/ext/fts3/fts3.c @@ -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); } } diff --git a/ext/fts3/fts3Int.h b/ext/fts3/fts3Int.h index ad43570cb4..9ddf5e51d0 100644 --- a/ext/fts3/fts3Int.h +++ b/ext/fts3/fts3Int.h @@ -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. */ diff --git a/manifest b/manifest index fe6cc27b77..694473c445 100644 --- a/manifest +++ b/manifest @@ -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 diff --git a/manifest.uuid b/manifest.uuid index 8757f8c717..633f8d0fd3 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -918b609290127f54326c638d82837d117398eade \ No newline at end of file +7a2f2864002d4e9a487e2779ae05513880ecb4d1 \ No newline at end of file diff --git a/test/fts3cov.test b/test/fts3cov.test index 87e8b39562..c43999d2da 100644 --- a/test/fts3cov.test +++ b/test/fts3cov.test @@ -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 diff --git a/test/fts3defer.test b/test/fts3defer.test index 67f89bab16..d3b0a0023e 100644 --- a/test/fts3defer.test +++ b/test/fts3defer.test @@ -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