@@ -167,7 +167,7 @@ USE_AMALGAMATION = @USE_AMALGAMATION@
167167#
168168LIBOBJS0 = alter.lo analyze.lo attach.lo auth.lo \
169169 backup.lo bitvec.lo btmutex.lo btree.lo build.lo \
170- callback.lo complete.lo ctime.lo date.lo delete.lo \
170+ callback.lo complete.lo ctime.lo date.lo dbstat.lo delete.lo \
171171 expr.lo fault.lo fkey.lo \
172172 fts3.lo fts3_aux.lo fts3_expr.lo fts3_hash.lo fts3_icu.lo \
173173 fts3_porter.lo fts3_snippet.lo fts3_tokenizer.lo fts3_tokenizer1.lo \
@@ -213,6 +213,7 @@ SRC = \
213213 $(TOP ) /src/complete.c \
214214 $(TOP ) /src/ctime.c \
215215 $(TOP ) /src/date.c \
216+ $(TOP ) /src/dbstat.c \
216217 $(TOP ) /src/delete.c \
217218 $(TOP ) /src/expr.c \
218219 $(TOP ) /src/fault.c \
@@ -255,6 +256,7 @@ SRC = \
255256 $(TOP ) /src/pcache.h \
256257 $(TOP ) /src/pcache1.c \
257258 $(TOP ) /src/pragma.c \
259+ $(TOP ) /src/pragma.h \
258260 $(TOP ) /src/prepare.c \
259261 $(TOP ) /src/printf.c \
260262 $(TOP ) /src/random.c \
@@ -286,6 +288,7 @@ SRC = \
286288 $(TOP ) /src/vdbetrace.c \
287289 $(TOP ) /src/vdbeInt.h \
288290 $(TOP ) /src/vtab.c \
291+ $(TOP ) /src/vxworks.h \
289292 $(TOP ) /src/wal.c \
290293 $(TOP ) /src/wal.h \
291294 $(TOP ) /src/walker.c \
@@ -387,7 +390,6 @@ TESTSRC = \
387390 $(TOP ) /src/test_server.c \
388391 $(TOP ) /src/test_superlock.c \
389392 $(TOP ) /src/test_syscall.c \
390- $(TOP ) /src/test_stat.c \
391393 $(TOP ) /src/test_tclvar.c \
392394 $(TOP ) /src/test_thread.c \
393395 $(TOP ) /src/test_vfs.c \
@@ -421,6 +423,7 @@ TESTSRC2 = \
421423 $(TOP ) /src/build.c \
422424 $(TOP ) /src/ctime.c \
423425 $(TOP ) /src/date.c \
426+ $(TOP ) /src/dbstat.c \
424427 $(TOP ) /src/expr.c \
425428 $(TOP ) /src/func.c \
426429 $(TOP ) /src/insert.c \
@@ -474,12 +477,14 @@ HDR = \
474477 $(TOP ) /src/pager.h \
475478 $(TOP ) /src/pcache.h \
476479 parse.h \
480+ $(TOP ) /src/pragma.h \
477481 sqlite3.h \
478482 $(TOP ) /src/sqlite3ext.h \
479483 $(TOP ) /src/sqliteInt.h \
480484 $(TOP ) /src/sqliteLimit.h \
481485 $(TOP ) /src/vdbe.h \
482486 $(TOP ) /src/vdbeInt.h \
487+ $(TOP ) /src/vxworks.h \
483488 $(TOP ) /src/whereInt.h \
484489 config.h
485490
@@ -532,15 +537,29 @@ sqlite3$(TEXE): $(TOP)/src/shell.c libsqlite3.la sqlite3.h
532537 -o $@ $(TOP ) /src/shell.c libsqlite3.la \
533538 $(LIBREADLINE ) $(TLIBS ) -rpath " $( libdir) "
534539
535- mptester$(EXE ) : sqlite3.c $(TOP ) /mptest/mptest.c
540+ sqldiff$(TEXE ) : $(TOP ) /tool/sqldiff.c sqlite3.c sqlite3.h
541+ $(LTLINK ) -o $@ $(TOP ) /tool/sqldiff.c sqlite3.c $(TLIBS )
542+
543+ fuzzershell$(TEXE ) : $(TOP ) /tool/fuzzershell.c sqlite3.c sqlite3.h
544+ $(LTLINK ) -o $@ $(TOP ) /tool/fuzzershell.c sqlite3.c $(TLIBS )
545+
546+ mptester$(TEXE ) : sqlite3.c $(TOP ) /mptest/mptest.c
536547 $(LTLINK ) -o $@ -I. $(TOP ) /mptest/mptest.c sqlite3.c \
537548 $(TLIBS ) -rpath " $( libdir) "
538549
539- mptest : mptester$(EXE )
540- rm -f mptest1.db
541- ./mptester$(EXE ) mptest1.db $(TOP ) /mptest/crash01.test
542- rm -f mptest2.db
543- ./mptester$(EXE ) mptest2.db $(TOP ) /mptest/multiwrite01.test
550+ MPTEST1 =./mptester$(TEXE ) mptest.db $(TOP ) /mptest/crash01.test --repeat 20
551+ MPTEST2 =./mptester$(TEXE ) mptest.db $(TOP ) /mptest/multiwrite01.test --repeat 20
552+ mptest : mptester$(TEXE )
553+ rm -f mptest.db
554+ $(MPTEST1 ) --journalmode DELETE
555+ $(MPTEST2 ) --journalmode WAL
556+ $(MPTEST1 ) --journalmode WAL
557+ $(MPTEST2 ) --journalmode PERSIST
558+ $(MPTEST1 ) --journalmode PERSIST
559+ $(MPTEST2 ) --journalmode TRUNCATE
560+ $(MPTEST1 ) --journalmode TRUNCATE
561+ $(MPTEST2 ) --journalmode DELETE
562+
544563
545564# This target creates a directory named "tsrc" and fills it with
546565# copies of all of the C source code and header files needed to
@@ -634,6 +653,9 @@ ctime.lo: $(TOP)/src/ctime.c $(HDR)
634653date.lo : $(TOP ) /src/date.c $(HDR )
635654 $(LTCOMPILE ) $(TEMP_STORE ) -c $(TOP ) /src/date.c
636655
656+ dbstat.lo : $(TOP ) /src/dbstat.c $(HDR )
657+ $(LTCOMPILE ) $(TEMP_STORE ) -c $(TOP ) /src/dbstat.c
658+
637659delete.lo : $(TOP ) /src/delete.c $(HDR )
638660 $(LTCOMPILE ) $(TEMP_STORE ) -c $(TOP ) /src/delete.c
639661
@@ -933,39 +955,48 @@ testfixture$(TEXE): $(TESTFIXTURE_SRC)
933955 -o $@ $(TESTFIXTURE_SRC ) $(LIBTCL ) $(TLIBS )
934956
935957# A very detailed test running most or all test cases
936- fulltest : testfixture$(TEXE ) sqlite3$(TEXE )
958+ fulltest : testfixture$(TEXE ) sqlite3$(TEXE ) fuzztest
937959 ./testfixture$(TEXE ) $(TOP ) /test/all.test
938960
939961# Really really long testing
940- soaktest : testfixture$(TEXE ) sqlite3$(TEXE )
962+ soaktest : testfixture$(TEXE ) sqlite3$(TEXE ) fuzzoomtest
941963 ./testfixture$(TEXE ) $(TOP ) /test/all.test -soak=1
942964
943965# Do extra testing but not aeverything.
944966fulltestonly : testfixture$(TEXE ) sqlite3$(TEXE )
945967 ./testfixture$(TEXE ) $(TOP ) /test/full.test
946968
969+ # Fuzz testing
970+ fuzztest : fuzzershell$(TEXE )
971+ ./fuzzershell$(TEXE ) $(TOP ) /test/fuzzdata1.txt $(TOP ) /test/fuzzdata2.txt
972+
973+ fuzzoomtest : fuzzershell$(TEXE )
974+ ./fuzzershell$(TEXE ) -f $(TOP ) /test/fuzzdata1.txt --oom
975+
947976# This is the common case. Run many tests but not those that take
948977# a really long time.
949978#
950- test : testfixture$(TEXE ) sqlite3$(TEXE )
979+ test : testfixture$(TEXE ) sqlite3$(TEXE ) fuzztest
951980 ./testfixture$(TEXE ) $(TOP ) /test/veryquick.test
952981
953982# Run a test using valgrind. This can take a really long time
954983# because valgrind is so much slower than a native machine.
955984#
956- valgrindtest : testfixture$(TEXE ) sqlite3$(TEXE )
985+ valgrindtest : testfixture$(TEXE ) sqlite3$(TEXE ) fuzzershell$(TEXE )
986+ valgrind -v ./fuzzershell$(TEXE ) -f $(TOP ) /test/fuzzdata1.txt
957987 OMIT_MISUSE=1 valgrind -v ./testfixture$(TEXE ) $(TOP ) /test/permutations.test valgrind
958988
959989# A very fast test that checks basic sanity. The name comes from
960990# the 60s-era electronics testing: "Turn it on and see if smoke
961991# comes out."
962992#
963- smoketest : testfixture$(TEXE )
993+ smoketest : testfixture$(TEXE ) fuzzershell $( TEXE )
964994 ./testfixture$(TEXE ) $(TOP ) /test/main.test
965995
966- sqlite3_analyzer.c : sqlite3.c $(TOP ) /src/test_stat.c $( TOP ) /src/ tclsqlite.c $(TOP ) /tool/spaceanal.tcl
996+ sqlite3_analyzer.c : sqlite3.c $(TOP ) /src/tclsqlite.c $(TOP ) /tool/spaceanal.tcl
967997 echo " #define TCLSH 2" > $@
968- cat sqlite3.c $(TOP ) /src/test_stat.c $(TOP ) /src/tclsqlite.c >> $@
998+ echo " #define SQLITE_ENABLE_DBSTAT_VTAB" >> $@
999+ cat sqlite3.c $(TOP ) /src/tclsqlite.c >> $@
9691000 echo " static const char *tclsh_main_loop(void){" >> $@
9701001 echo " static const char *zMainloop = " >> $@
9711002 $(NAWK ) -f $(TOP ) /tool/tostr.awk $(TOP ) /tool/spaceanal.tcl >> $@
@@ -995,7 +1026,7 @@ LogEst$(TEXE): $(TOP)/tool/logest.c sqlite3.h
9951026wordcount$(TEXE ) : $(TOP ) /test/wordcount.c sqlite3.c
9961027 $(LTLINK ) -o $@ $(TOP ) /test/wordcount.c sqlite3.c $(TLIBS )
9971028
998- speedtest1$(TEXE ) : $(TOP ) /test/wordcount .c sqlite3.lo
1029+ speedtest1$(TEXE ) : $(TOP ) /test/speedtest1 .c sqlite3.lo
9991030 $(LTLINK ) -o $@ $(TOP ) /test/speedtest1.c sqlite3.lo $(TLIBS )
10001031
10011032# This target will fail if the SQLite amalgamation contains any exported
@@ -1047,7 +1078,7 @@ install: sqlite3$(BEXE) lib_install sqlite3.h sqlite3.pc ${HAVE_TCL:1=tcl_instal
10471078 $(INSTALL ) -m 0644 sqlite3.pc $(DESTDIR )$(pkgconfigdir )
10481079
10491080pkgIndex.tcl :
1050- echo ' package ifneeded sqlite3 $(RELEASE) [list load $(TCLLIBDIR)/libtclsqlite3.so sqlite3]' > $@
1081+ echo ' package ifneeded sqlite3 $(RELEASE) [list load $(TCLLIBDIR)/libtclsqlite3$(SHLIB_SUFFIX) sqlite3]' > $@
10511082tcl_install : lib_install libtclsqlite3.la pkgIndex.tcl
10521083 $(INSTALL ) -d $(DESTDIR )$(TCLLIBDIR )
10531084 $(LTINSTALL ) libtclsqlite3.la $(DESTDIR )$(TCLLIBDIR )
0 commit comments