From: drh <> Date: Fri, 17 Nov 2023 17:55:03 +0000 (+0000) Subject: Add the new "run-fuzzcheck" target on the autoconf unix makefile. Requires X-Git-Tag: version-3.45.0~145 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f9ae48b9ede6fedb3cac4027f0a1e3840c763955;p=thirdparty%2Fsqlite.git Add the new "run-fuzzcheck" target on the autoconf unix makefile. Requires that FUZZDB be set to the name of the fuzz-data database file. FossilOrigin-Name: 8fa3915dbfdd9a5b0fcf4d695590b3de7e7d19d2917924186ca889cd60bf0eb9 --- diff --git a/Makefile.in b/Makefile.in index c521586a14..4a78e3cf38 100644 --- a/Makefile.in +++ b/Makefile.in @@ -710,6 +710,21 @@ fuzzcheck-asan$(TEXE): $(FUZZCHECK_SRC) sqlite3.c sqlite3.h $(FUZZCHECK_DEP) fuzzcheck-ubsan$(TEXE): $(FUZZCHECK_SRC) sqlite3.c sqlite3.h $(FUZZCHECK_DEP) $(LTLINK) -o $@ -fsanitize=undefined $(FUZZCHECK_OPT) $(FUZZCHECK_SRC) sqlite3.c $(TLIBS) +# Usage: FUZZDB=filename make run-fuzzcheck +# +# Where filename is a fuzzcheck database, this target builds and runs +# fuzzcheck, fuzzcheck-asan, and fuzzcheck-ubsan on that database. +# +# FUZZDB can be a glob pattern of two or more databases. Example: +# +# FUZZDB=test/fuzzdata*.db make run-fuzzcheck +# +run-fuzzcheck: fuzzcheck$(TEXE) fuzzcheck-asan$(TEXE) fuzzcheck-ubsan$(TEXE) + @if test "$(FUZZDB)" = ""; then echo 'ERROR: No FUZZDB specified. Rerun with FUZZDB=filename'; exit 1; fi + ./fuzzcheck$(TEXE) --spinner $(FUZZDB) + ./fuzzcheck-asan$(TEXE) --spinner $(FUZZDB) + ./fuzzcheck-ubsan$(TEXE) --spinner $(FUZZDB) + ossshell$(TEXE): $(TOP)/test/ossfuzz.c $(TOP)/test/ossshell.c sqlite3.c sqlite3.h $(LTLINK) -o $@ $(FUZZCHECK_OPT) $(TOP)/test/ossshell.c \ $(TOP)/test/ossfuzz.c sqlite3.c $(TLIBS) diff --git a/manifest b/manifest index a1d7b763f5..8a6ff75125 100644 --- a/manifest +++ b/manifest @@ -1,9 +1,9 @@ -C Add\san\sassert()\sto\sprove\sthe\ssqlite3_prepare()\salways\seither\sreturns\nSQLITE_OK\sor\selse\sleaves\s*ppStmt\sset\sto\sNULL.\s\sSee\n[forum:/forumpost/70bb8576c6c084c2|forum\spost\s70bb8576c6c084c2]. -D 2023-11-17T17:25:30.458 +C Add\sthe\snew\s"run-fuzzcheck"\starget\son\sthe\sautoconf\sunix\smakefile.\s\sRequires\nthat\sFUZZDB\sbe\sset\sto\sthe\sname\sof\sthe\sfuzz-data\sdatabase\sfile. +D 2023-11-17T17:55:03.500 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 -F Makefile.in 8b59912fc1538f96a08555605c5886cdcc733696ae7f22e374b2a4752196ca20 +F Makefile.in a0cf17b2a456ae24959030b979bc6f1ec5efc74a240fb834c12e63dd1127cd72 F Makefile.linux-gcc f3842a0b1efbfbb74ac0ef60e56b301836d05b4d867d014f714fa750048f1ab6 F Makefile.msc f0cf219350d9af4fba411b4f6306dce2adc897484e8f446de1fb4f40de674d00 F README.md 963d30019abf0cc06b263cd2824bce022893f3f93a531758f6f04ff2194a16a8 @@ -2140,8 +2140,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P ce6a75622ea5bca517bc6613e738aa670c9e1dd863596220eded5c2379c616c7 -R 0df7c74767a0014b650e41ddac5ac20d +P feadd4024228e578811447c4b2d2b60780ff3d3681f80ca903585aa7b289d758 +R b258b9f86fa511b15c0d194695659eb8 U drh -Z 3d905d6e432172a6f350f89a5634e3bc +Z 85994133c2347299e70cb8542787884c # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 75e0636b11..ab13a71e1c 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -feadd4024228e578811447c4b2d2b60780ff3d3681f80ca903585aa7b289d758 \ No newline at end of file +8fa3915dbfdd9a5b0fcf4d695590b3de7e7d19d2917924186ca889cd60bf0eb9 \ No newline at end of file