From: drh <> Date: Sat, 7 Mar 2026 21:07:18 +0000 (+0000) Subject: Give the fuzzcheck test program access to all the same extensions that X-Git-Tag: major-release~104 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=13a494fddd47fcdec9274fafdf3c72bf00017363;p=thirdparty%2Fsqlite.git Give the fuzzcheck test program access to all the same extensions that dbsqlfuzz has access to. FossilOrigin-Name: d9c23b49e355233bbfcdc8305dcae21640e66a0bbf1daed0dd3f9d132c1ef69f --- diff --git a/Makefile.msc b/Makefile.msc index 763616ce93..368a84be22 100644 --- a/Makefile.msc +++ b/Makefile.msc @@ -1719,6 +1719,7 @@ FUZZERSHELL_COMPILE_OPTS = FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -I$(TOP)\test -I$(TOP)\ext\recover FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_MEMSYS5 FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_OSS_FUZZ +FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_DECIMAL_MAX_DIGIT=1000 FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_BYTECODE_VTAB FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_CARRAY FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_DBPAGE_VTAB @@ -1765,7 +1766,17 @@ FUZZCHECK_SRC = $(FUZZCHECK_SRC) $(TOP)\test\fuzzinvariants.c FUZZCHECK_SRC = $(FUZZCHECK_SRC) $(TOP)\test\vt02.c FUZZCHECK_SRC = $(FUZZCHECK_SRC) $(TOP)\ext\recover\dbdata.c FUZZCHECK_SRC = $(FUZZCHECK_SRC) $(TOP)\ext\recover\sqlite3recover.c +FUZZCHECK_SRC = $(FUZZCHECK_SRC) $(TOP)\ext\misc\base64.c +FUZZCHECK_SRC = $(FUZZCHECK_SRC) $(TOP)\ext\misc\base85.c +FUZZCHECK_SRC = $(FUZZCHECK_SRC) $(TOP)\ext\misc\completion.c +FUZZCHECK_SRC = $(FUZZCHECK_SRC) $(TOP)\ext\misc\decimal.c +FUZZCHECK_SRC = $(FUZZCHECK_SRC) $(TOP)\ext\misc\ieee754.c FUZZCHECK_SRC = $(FUZZCHECK_SRC) $(TOP)\ext\misc\randomjson.c +FUZZCHECK_SRC = $(FUZZCHECK_SRC) $(TOP)\ext\misc\regexp.c +FUZZCHECK_SRC = $(FUZZCHECK_SRC) $(TOP)\ext\misc\series.c +FUZZCHECK_SRC = $(FUZZCHECK_SRC) $(TOP)\ext\misc\shathree.c +FUZZCHECK_SRC = $(FUZZCHECK_SRC) $(TOP)\ext\misc\sha1.c +FUZZCHECK_SRC = $(FUZZCHECK_SRC) $(TOP)\ext\misc\stmtrand.c OSSSHELL_SRC = $(TOP)\test\ossshell.c $(TOP)\test\ossfuzz.c DBFUZZ_COMPILE_OPTS = -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION diff --git a/main.mk b/main.mk index 46d646d03a..aca5fc7856 100644 --- a/main.mk +++ b/main.mk @@ -957,6 +957,7 @@ FUZZCHECK_OPT += -I$(TOP)/test FUZZCHECK_OPT += -I$(TOP)/ext/recover FUZZCHECK_OPT += \ -DSQLITE_OSS_FUZZ \ + -DSQLITE_DECIMAL_MAX_DIGIT=1000 \ -DSQLITE_ENABLE_BYTECODE_VTAB \ -DSQLITE_ENABLE_CARRAY \ -DSQLITE_ENABLE_DBPAGE_VTAB \ @@ -988,13 +989,26 @@ FUZZCHECK_OPT += \ -DSQLITE_STRICT_SUBTYPE=1 \ -DSQLITE_STATIC_RANDOMJSON -FUZZCHECK_SRC += $(TOP)/test/fuzzcheck.c -FUZZCHECK_SRC += $(TOP)/test/ossfuzz.c -FUZZCHECK_SRC += $(TOP)/test/fuzzinvariants.c -FUZZCHECK_SRC += $(TOP)/ext/recover/dbdata.c -FUZZCHECK_SRC += $(TOP)/ext/recover/sqlite3recover.c -FUZZCHECK_SRC += $(TOP)/test/vt02.c -FUZZCHECK_SRC += $(TOP)/ext/misc/randomjson.c +FUZZCHECK_SRC = sqlite3.c \ + $(TOP)/test/fuzzcheck.c \ + $(TOP)/test/ossfuzz.c \ + $(TOP)/test/fuzzinvariants.c \ + $(TOP)/ext/recover/dbdata.c \ + $(TOP)/ext/recover/sqlite3recover.c \ + $(TOP)/test/vt02.c \ + $(TOP)/ext/misc/base64.c \ + $(TOP)/ext/misc/base85.c \ + $(TOP)/ext/misc/completion.c \ + $(TOP)/ext/misc/decimal.c \ + $(TOP)/ext/misc/ieee754.c \ + $(TOP)/ext/misc/randomjson.c \ + $(TOP)/ext/misc/regexp.c \ + $(TOP)/ext/misc/series.c \ + $(TOP)/ext/misc/shathree.c \ + $(TOP)/ext/misc/sha1.c \ + $(TOP)/ext/misc/stmtrand.c + +FUZZCHECK_DEP = sqlite3.h DBFUZZ_OPT = ST_OPT = -DSQLITE_OS_KV_OPTIONAL @@ -2261,23 +2275,23 @@ fuzzershell$(T.exe): $(TOP)/tool/fuzzershell.c sqlite3.c sqlite3.h fuzzy: fuzzershell$(T.exe) xbin: fuzzershell$(T.exe) -fuzzcheck$(T.exe): $(FUZZCHECK_SRC) sqlite3.c sqlite3.h $(FUZZCHECK_DEP) - $(T.link) -o $@ $(FUZZCHECK_OPT) $(FUZZCHECK_SRC) sqlite3.c $(LDFLAGS.libsqlite3) +fuzzcheck$(T.exe): $(FUZZCHECK_SRC) $(FUZZCHECK_DEP) + $(T.link) -o $@ $(FUZZCHECK_OPT) $(FUZZCHECK_SRC) $(LDFLAGS.libsqlite3) fuzzy: fuzzcheck$(T.exe) xbin: fuzzcheck$(T.exe) # -fsanitize=... flags for fuzzcheck-asan. CFLAGS.fuzzcheck-asan.fsanitize ?= -fsanitize=address -fuzzcheck-asan$(T.exe): $(FUZZCHECK_SRC) sqlite3.c sqlite3.h $(FUZZCHECK_DEP) +fuzzcheck-asan$(T.exe): $(FUZZCHECK_SRC) $(FUZZCHECK_DEP) $(T.link) -o $@ $(CFLAGS.fuzzcheck-asan.fsanitize) $(FUZZCHECK_OPT) $(FUZZCHECK_SRC) \ - sqlite3.c $(LDFLAGS.libsqlite3) + $(LDFLAGS.libsqlite3) fuzzy: fuzzcheck-asan$(T.exe) xbin: fuzzcheck-asan$(T.exe) -fuzzcheck-ubsan$(T.exe): $(FUZZCHECK_SRC) sqlite3.c sqlite3.h $(FUZZCHECK_DEP) +fuzzcheck-ubsan$(T.exe): $(FUZZCHECK_SRC) $(FUZZCHECK_DEP) $(T.link) -o $@ -fsanitize=undefined $(FUZZCHECK_OPT) $(FUZZCHECK_SRC) \ - sqlite3.c $(LDFLAGS.libsqlite3) + $(LDFLAGS.libsqlite3) fuzzy: fuzzcheck-ubsan$(T.exe) xbin: fuzzcheck-ubsan$(T.exe) diff --git a/manifest b/manifest index e1b4eafa73..3964e7e066 100644 --- a/manifest +++ b/manifest @@ -1,12 +1,12 @@ -C Fix\sharmless\scompiler\swarnings\son\sWindows. -D 2026-03-07T17:50:32.369 +C Give\sthe\sfuzzcheck\stest\sprogram\saccess\sto\sall\sthe\ssame\sextensions\sthat\ndbsqlfuzz\shas\saccess\sto. +D 2026-03-07T21:07:18.432 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md 6bc480fc673fb4acbc4094e77edb326267dd460162d7723c7f30bee2d3d9e97d F Makefile.in 3ce07126d7e87c7464301482e161fdae6a51d0a2aa06b200b8f0000ef4d6163b F Makefile.linux-generic bd3e3cacd369821a6241d4ea1967395c962dfe3057e38cb0a435cee0e8b789d0 -F Makefile.msc 174764cb7e80c80f9003c46b3e388d74c68c8c40230208904b3af8fcabee5f4e +F Makefile.msc d6448b1066932640e0ab2b01376c4ee7615a2b978c3c92e010f8fe222183c201 F README.md 3fa51fc7ababc32edd175ae8b2986c86d5ea120c1cb1e57c7f7849492d1405ec F VERSION ed5325177122f86b7a25c21bee36fda8171a34ab86e4c72007798d7837a752be F art/icon-243x273.gif 9750b734f82fdb3dc43127753d5e6fbf3b62c9f4e136c2fbf573b2f57ea87af5 @@ -651,7 +651,7 @@ F ext/wasm/tests/opfs/sahpool/index.html be736567fd92d3ecb9754c145755037cbbd2bca F ext/wasm/tests/opfs/sahpool/sahpool-pausing.js f264925cfc82155de38cecb3d204c36e0f6991460fff0cb7c15079454679a4e2 F ext/wasm/tests/opfs/sahpool/sahpool-worker.js bd25a43fc2ab2d1bafd8f2854ad3943ef673f7c3be03e95ecf1612ff6e8e2a61 F magic.txt 5ade0bc977aa135e79e3faaea894d5671b26107cc91e70783aa7dc83f22f3ba0 -F main.mk e1a03e9206f6a042a9147035915cb944e9242d570779bc3ccd7ed6a39df10cae +F main.mk 4aad7346b8a3b82462db63a7ad1657162cf2619738c7acb0ef7d06507344a22e F make.bat a136fd0b1c93e89854a86d5f4edcf0386d211e5d5ec2434480f6eea436c7420c F mptest/config01.test 3c6adcbc50b991866855f1977ff172eb6d901271 F mptest/config02.test 4415dfe36c48785f751e16e32c20b077c28ae504 @@ -1238,7 +1238,7 @@ F test/fuzz3.test 70ba57260364b83e964707b9d4b5625284239768ab907dd387c740c0370ce3 F test/fuzz4.test c229bcdb45518a89e1d208a21343e061503460ac69fae1539320a89f572eb634 F test/fuzz_common.tcl b7197de6ed1ee8250a4f82d67876f4561b42ee8cbbfc6160dcb66331bad3f830 F test/fuzz_malloc.test f348276e732e814802e39f042b1f6da6362a610af73a528d8f76898fde6b22f2 -F test/fuzzcheck.c 9096506277f33cc242eb59743c409c81306492b6ebb84571198f864e536ebe22 +F test/fuzzcheck.c 207d3d1c1d578928f16dec20df781c5d13c2fd4694b4d70e72242f4dcb799830 F test/fuzzdata1.db 3e86d9cf5aea68ddb8e27c02d7dfdaa226347426c7eb814918e4d95475bf8517 F test/fuzzdata2.db 128b3feeb78918d075c9b14b48610145a0dd4c8d6f1ca7c2870c7e425f5bf31f F test/fuzzdata3.db c6586d3e3cef0fbc18108f9bb649aa77bfc38aba @@ -2189,8 +2189,8 @@ F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee F tool/warnings.sh d924598cf2f55a4ecbc2aeb055c10bd5f48114793e7ba25f9585435da29e7e98 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c -P c8fb88c19ed91dc5e205f719aedb895f7ceb62b113f61ec94cc6e435051da15c -R 850172d46551c7d57e3d40eea58d626b +P 358d78da75033d4d1fcb27b5f95c940dcc306cdf34ef999262da901e71f2b306 +R 5e16e73b2cbd96262b64b9972a9ecca5 U drh -Z dfa517086561e3dc7a550e4649699f74 +Z 607592826a2b890309bb03fac2620dab # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 5449291ae9..900630c0a5 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -358d78da75033d4d1fcb27b5f95c940dcc306cdf34ef999262da901e71f2b306 +d9c23b49e355233bbfcdc8305dcae21640e66a0bbf1daed0dd3f9d132c1ef69f diff --git a/test/fuzzcheck.c b/test/fuzzcheck.c index f056d2d93a..46328fb14a 100644 --- a/test/fuzzcheck.c +++ b/test/fuzzcheck.c @@ -169,8 +169,18 @@ static struct GlobalVars { /* ** Include various extensions. */ -extern int sqlite3_vt02_init(sqlite3*,char**,const sqlite3_api_routines*); -extern int sqlite3_randomjson_init(sqlite3*,char**,const sqlite3_api_routines*); +extern int sqlite3_vt02_init(sqlite3*,char**,void*); +extern int sqlite3_randomjson_init(sqlite3*,char**,void*); +extern int sqlite3_series_init(sqlite3*,char**,void*); +extern int sqlite3_base64_init(sqlite3*,char**,void*); +extern int sqlite3_base85_init(sqlite3*,char**,void*); +extern int sqlite3_completion_init(sqlite3*,char**,void*); +extern int sqlite3_decimal_init(sqlite3*,char**,void*); +extern int sqlite3_ieee_init(sqlite3*,char**,void*); +extern int sqlite3_regexp_init(sqlite3*,char**,void*); +extern int sqlite3_shathree_init(sqlite3*,char**,void*); +extern int sqlite3_sha_init(sqlite3*,char**,void*); +extern int sqlite3_stmtrand_init(sqlite3*,char**,void*); /* ** Print an error message and quit. @@ -1382,6 +1392,16 @@ int runCombinedDbSqlInput( /* Activate extensions */ sqlite3_randomjson_init(cx.db, 0, 0); + sqlite3_series_init(cx.db, 0, 0); + sqlite3_base64_init(cx.db, 0, 0); + sqlite3_base85_init(cx.db, 0, 0); + sqlite3_completion_init(cx.db, 0, 0); + sqlite3_decimal_init(cx.db, 0, 0); + sqlite3_ieee_init(cx.db, 0, 0); + sqlite3_regexp_init(cx.db, 0, 0); + sqlite3_shathree_init(cx.db, 0, 0); + sqlite3_sha_init(cx.db, 0, 0); + sqlite3_stmtrand_init(cx.db, 0, 0); /* Add support for sqlite_dbdata and sqlite_dbptr virtual tables used ** by the recovery API */