@@ -430,6 +430,7 @@ TESTSRC += \
430430 $(TOP ) /ext/misc/nextchar.c \
431431 $(TOP ) /ext/misc/percentile.c \
432432 $(TOP ) /ext/misc/regexp.c \
433+ $(TOP ) /ext/misc/remember.c \
433434 $(TOP ) /ext/misc/series.c \
434435 $(TOP ) /ext/misc/spellfix.c \
435436 $(TOP ) /ext/misc/totype.c \
@@ -550,7 +551,8 @@ FUZZDATA = \
550551 $(TOP ) /test/fuzzdata1.db \
551552 $(TOP ) /test/fuzzdata2.db \
552553 $(TOP ) /test/fuzzdata3.db \
553- $(TOP ) /test/fuzzdata4.db
554+ $(TOP ) /test/fuzzdata4.db \
555+ $(TOP ) /test/fuzzdata5.db
554556
555557# Standard options to testfixture
556558#
@@ -563,7 +565,9 @@ SHELL_OPT = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS4
563565SHELL_OPT += -DSQLITE_ENABLE_EXPLAIN_COMMENTS
564566SHELL_OPT += -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
565567FUZZERSHELL_OPT = -DSQLITE_ENABLE_JSON1
566- FUZZCHECK_OPT = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMSYS5
568+ FUZZCHECK_OPT = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMSYS5 -DSQLITE_OSS_FUZZ
569+ FUZZCHECK_SRC = $(TOP ) /test/fuzzcheck.c $(TOP ) /test/ossfuzz.c
570+ DBFUZZ_OPT =
567571
568572# This is the default Makefile target. The objects listed here
569573# are what get build when you type just "make" with no arguments.
@@ -612,8 +616,14 @@ fuzzershell$(TEXE): $(TOP)/tool/fuzzershell.c sqlite3.c sqlite3.h
612616 $(LTLINK ) -o $@ $(FUZZERSHELL_OPT ) \
613617 $(TOP ) /tool/fuzzershell.c sqlite3.c $(TLIBS )
614618
615- fuzzcheck$(TEXE ) : $(TOP ) /test/fuzzcheck.c sqlite3.c sqlite3.h
616- $(LTLINK ) -o $@ $(FUZZCHECK_OPT ) $(TOP ) /test/fuzzcheck.c sqlite3.c $(TLIBS )
619+ fuzzcheck$(TEXE ) : $(FUZZCHECK_SRC ) sqlite3.c sqlite3.h
620+ $(LTLINK ) -o $@ $(FUZZCHECK_OPT ) $(FUZZCHECK_SRC ) sqlite3.c $(TLIBS )
621+
622+ ossshell$(TEXE ) : $(TOP ) /test/ossfuzz.c $(TOP ) /test/ossshell.c sqlite3.c sqlite3.h
623+ $(LTLINK ) -o $@ $(FUZZCHECK_OPT ) $(TOP ) /test/ossshell.c sqlite3.c sqlite3.h $(TLIBS )
624+
625+ dbfuzz$(TEXE ) : $(TOP ) /test/dbfuzz.c sqlite3.c sqlite3.h
626+ $(LTLINK ) -o $@ $(DBFUZZ_OPT ) $(TOP ) /test/dbfuzz.c sqlite3.c $(TLIBS )
617627
618628mptester$(TEXE ) : sqlite3.lo $(TOP ) /mptest/mptest.c
619629 $(LTLINK ) -o $@ -I. $(TOP ) /mptest/mptest.c sqlite3.lo \
@@ -1103,6 +1113,11 @@ fastfuzztest: fuzzcheck$(TEXE) $(FUZZDATA)
11031113valgrindfuzz : fuzzcheck$(TEXT ) $(FUZZDATA )
11041114 valgrind ./fuzzcheck$(TEXE ) --cell-size-check --limit-mem 10M --timeout 600 $(FUZZDATA )
11051115
1116+ # The veryquick.test TCL tests.
1117+ #
1118+ tcltest : ./testfixture$(TEXE )
1119+ ./testfixture$(TEXE ) $(TOP ) /test/veryquick.test $(TESTOPTS )
1120+
11061121# Minimal testing that runs in less than 3 minutes
11071122#
11081123quicktest : ./testfixture$(TEXE )
@@ -1111,8 +1126,7 @@ quicktest: ./testfixture$(TEXE)
11111126# This is the common case. Run many tests that do not take too long,
11121127# including fuzzcheck, sqlite3_analyzer, and sqldiff tests.
11131128#
1114- test : $(TESTPROGS ) sourcetest fastfuzztest
1115- ./testfixture$(TEXE ) $(TOP ) /test/veryquick.test $(TESTOPTS )
1129+ test : fastfuzztest sourcetest $(TESTPROGS ) tcltest
11161130
11171131# Run a test using valgrind. This can take a really long time
11181132# because valgrind is so much slower than a native machine.
0 commit comments