Index: main.mk ================================================================== --- main.mk +++ main.mk @@ -520,10 +520,21 @@ soaktest: testfixture$(EXE) sqlite3$(EXE) ./testfixture$(EXE) $(TOP)/test/all.test -soak=1 test: testfixture$(EXE) sqlite3$(EXE) ./testfixture$(EXE) $(TOP)/test/veryquick.test + +# The next two rules are used to support the "threadtest" target. Building +# threadtest runs a few thread-safety tests that are implemented in C. This +# target is invoked by the releasetest.tcl script. +# +threadtest3$(EXE): sqlite3.c $(TOP)/test/threadtest3.c + $(TCCX) -O2 sqlite3.c $(TOP)/test/threadtest3.c \ + -o threadtest3$(EXE) $(THREADLIB) + +threadtest: threadtest3$(EXE) + ./threadtest3$(EXE) sqlite3_analyzer$(EXE): $(TOP)/src/tclsqlite.c sqlite3.c $(TESTSRC) \ $(TOP)/tool/spaceanal.tcl sed \ -e '/^#/d' \ Index: test/releasetest.tcl ================================================================== --- test/releasetest.tcl +++ test/releasetest.tcl @@ -117,11 +117,10 @@ -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_MEMORY_MANAGEMENT=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_MAX_COMPOUND_SELECT=50 -DSQLITE_MAX_PAGE_SIZE=32768 - -DSQLITE_OMIT_BUILTIN_TEST=1 -DSQLITE_OMIT_TRACE=1 -DSQLITE_TEMP_STORE=3 -DSQLITE_THREADSAFE=2 } "Locking-Style" { @@ -155,22 +154,22 @@ "Unlock-Notify" "QUICKTEST_INCLUDE=notify2.test test" "Update-Delete-Limit" test "Debug-One" test "Extra-Robustness" test "Device-Two" test - "Default" test + "Default" "threadtest test" "Device-One" fulltest } Linux-i686 { "Unlock-Notify" "QUICKTEST_INCLUDE=notify2.test test" - "Device-Two" test "Device-One" test - "Default" fulltest + "Device-Two" test + "Default" "threadtest fulltest" } Darwin-i386 { "Locking-Style" test - "OS-X" fulltest + "OS-X" "threadtest fulltest" } } # End of configuration section. #########################################################################