$(LTLINK) -DSQLITE_NO_SYNC=1 $(TEMP_STORE) $(TESTFIXTURE_FLAGS) \
-o $@ $(TESTFIXTURE_SRC) $(LIBTCL) $(TLIBS)
-
+# A very detailed test running most or all test cases
fulltest: testfixture$(TEXE) sqlite3$(TEXE)
./testfixture$(TEXE) $(TOP)/test/all.test
+# Really really long testing
soaktest: testfixture$(TEXE) sqlite3$(TEXE)
./testfixture$(TEXE) $(TOP)/test/all.test -soak=1
+# Do extra testing but not aeverything.
fulltestonly: testfixture$(TEXE) sqlite3$(TEXE)
./testfixture$(TEXE) $(TOP)/test/full.test
+# This is the common case. Run many tests but not those that take
+# a really long time.
+#
test: testfixture$(TEXE) sqlite3$(TEXE)
./testfixture$(TEXE) $(TOP)/test/veryquick.test
+# Run a test using valgrind. This can take a really long time
+# because valgrind is so much slower than a native machine.
+#
valgrindtest: testfixture$(TEXE) sqlite3$(TEXE)
valgrind -v ./testfixture$(TEXE) $(TOP)/test/permutations.test valgrind
+# A very fast test that checks basic sanity. The name comes from
+# the 60s-era electronics testing: "Turn it on and see if smoke
+# comes out."
+#
+smoketest: testfixture$(TEXT) sqlite3$(TEXT)
+ ./testfixture$(TEXT) $(TOP)/test/main.test
+
sqlite3_analyzer.c: sqlite3.c $(TOP)/src/test_stat.c $(TOP)/src/tclsqlite.c $(TOP)/tool/spaceanal.tcl
echo "#define TCLSH 2" > $@
cat sqlite3.c $(TOP)/src/test_stat.c $(TOP)/src/tclsqlite.c >> $@
-C In\sreleasetest.tcl,\salways\suse\s--disable-shared\stogether\swith\n--disable-amalgamation\sbecause\smingw\sgenerates\sa\sbinary\sthat\scrashes\sand\ncannot\sbe\sdebugged\susing\sgdb\sif\syou\sdon't.
-D 2015-01-07T19:38:49.154
+C In\sreleasetest.tcl:\sadd\soptions\s--veryquick\sand\spass-through\scompiler\noptimization\ssettings\s(ex:\s-O0).\s\sCollect\sthe\sSQLite\sversion\snumber\sfrom\nthe\smain.test\soutput\sand\sshow\sit\sduring\sthe\ssummary\sreport\sat\sthe\send.
+D 2015-01-08T01:05:42.481
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
-F Makefile.in 3a2b5f8356e11591b2a7b23ce444654424591d06
+F Makefile.in f1c9525dccb991ad3095a7f8778b4ae869851130
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
F Makefile.msc b363b90fe1bfc3b87d190f2f728a126c00d9ce09
F Makefile.vxworks 034289efa9d591b04b1a73598623119c306cbba0
F test/lock7.test 49f1eaff1cdc491cc5dee3669f3c671d9f172431
F test/lock_common.tcl 0c270b121d40959fa2f3add382200c27045b3d95
F test/lookaside.test 93f07bac140c5bb1d49f3892d2684decafdc7af2
-F test/main.test 39c4bb8a157f57298ed1659d6df89d9f35aaf2c8
+F test/main.test 6aa6c7a5468f5b16868e74ce1160b4947c58d83b
F test/make-where7.tcl 05c16b5d4f5d6512881dfec560cb793915932ef9
F test/malloc.test 96939d2d1a6f39667bbebe5bc27c6525f2ab614e
F test/malloc3.test e3b32c724b5a124b57cb0ed177f675249ad0c66a
F test/rdonly.test dd30a4858d8e0fbad2304c2bd74a33d4df36412a
F test/regexp1.test 497ea812f264d12b6198d6e50a76be4a1973a9d8
F test/reindex.test 44edd3966b474468b823d481eafef0c305022254
-F test/releasetest.tcl ed0bbb989509c727ef485986a239f13a431ff01f
+F test/releasetest.tcl 29111a0fd97b4b92a5f40c25c0102d94167ae57f
F test/resolver01.test 33abf37ff8335e6bf98f2b45a0af3e06996ccd9a
F test/rollback.test 458fe73eb3ffdfdf9f6ba3e9b7350a6220414dea
F test/rollback2.test fc14cf6d1a2b250d2735ef16124b971bce152f14
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
F tool/warnings.sh 0abfd78ceb09b7f7c27c688c8e3fe93268a13b32
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P 889864b58af1e51fb148af2d6a5cef4950f373f4
-R 26902a8eca2abb38182891a95ae86cbf
+P 19982439418fbd36c91853cf9e09a66606f293fc
+R e120388d83e06da397d9a5be14f3a4df
U drh
-Z e594c5678dcb940c76bf74543898ae24
+Z 2b3b1e8376da1c06b0cff1703883fdf5
-19982439418fbd36c91853cf9e09a66606f293fc
\ No newline at end of file
+e7e7bc1d9a5c19571e7d87ad345b98c27a826fbd
\ No newline at end of file
} {1 {no such vfs: async}}
}
}
+
+# Print the version number so that it can be picked up by releasetest.tcl.
+#
+puts [db one {SELECT 'VERSION: ' ||
+ sqlite_version() || ' ' ||
+ sqlite_source_id();}]
finish_test
--platform PLATFORM (see below)
--config CONFIGNAME (Run only CONFIGNAME)
--quick (Run "veryquick.test" only)
+ --veryquick (Run "make smoketest" only)
--buildonly (Just build testfixture - do not run)
--dryrun (Print what would have happened)
--info (Show diagnostic info)
array set ::Configs {
"Default" {
-O2
- --disable-amalgamation --disable-shared
+ --disable-amalgamation
}
"Ftrapv" {
-O2 -ftrapv
set errmsg $all
}
}
+ if {[regexp {^VERSION: 3\.\d+.\d+} $line]} {
+ set v [string range $line 9 end]
+ if {$::SQLITE_VERSION eq ""} {
+ set ::SQLITE_VERSION $v
+ } elseif {$::SQLITE_VERSION ne $v} {
+ set rc 1
+ set errmsg "version conflict: {$::SQLITE_VERSION} vs. {$v}"
+ }
+ }
}
close $fd
if {!$seen} {
-quick {
set ::QUICK 1
}
+ -veryquick {
+ set ::QUICK 2
+ }
-config {
incr i
}
-g -
-D* -
+ -O* -
-enable-* -
-disable-* -
*=* {
puts -nonewline "Flags:"
if {$::DRYRUN} {puts -nonewline " --dryrun"}
if {$::BUILDONLY} {puts -nonewline " --buildonly"}
- if {$::QUICK} {puts -nonewline " --quick"}
+ switch -- $::QUICK {
+ 1 {puts -nonewline " --quick"}
+ 2 {puts -nonewline " --veryquick"}
+ }
puts ""
}
set ::NTEST 0
set ::NTESTCASE 0
set ::NERRCASE 0
+ set ::SQLITE_VERSION {}
set STARTTIME [clock seconds]
foreach {zConfig target} $::CONFIGLIST {
- if {$::QUICK} {set target test}
- if {$::BUILDONLY} {set target testfixture}
+ if {$target ne "checksymbols"} {
+ switch -- $::QUICK {
+ 1 {set target test}
+ 2 {set target smoketest}
+ }
+ if {$::BUILDONLY} {set target testfixture}
+ }
set config_options [concat $::Configs($zConfig) $::EXTRACONFIG]
incr NTEST
# If the configuration included the SQLITE_DEBUG option, then remove
# it and run veryquick.test. If it did not include the SQLITE_DEBUG option
# add it and run veryquick.test.
- if {$target!="checksymbols" && $target!="valgrindtest" && !$::BUILDONLY} {
+ if {$target!="checksymbols" && $target!="valgrindtest"
+ && !$::BUILDONLY && $::QUICK<2} {
set debug_idx [lsearch -glob $config_options -DSQLITE_DEBUG*]
set xtarget $target
regsub -all {fulltest[a-z]*} $xtarget test xtarget
set sec [expr {$elapsetime%60}]
set etime [format (%02d:%02d:%02d) $hr $min $sec]
puts [string repeat * 79]
- puts "$::NERRCASE failures of $::NTESTCASE tests run in $etime"
+ puts "$::NERRCASE failures out of $::NTESTCASE tests in $etime"
+ if {$::SQLITE_VERSION ne ""} {
+ puts "SQLite $::SQLITE_VERSION"
+ }
}
main $argv