]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
In releasetest.tcl: add options --veryquick and pass-through compiler
authordrh <drh@noemail.net>
Thu, 8 Jan 2015 01:05:42 +0000 (01:05 +0000)
committerdrh <drh@noemail.net>
Thu, 8 Jan 2015 01:05:42 +0000 (01:05 +0000)
optimization settings (ex: -O0).  Collect the SQLite version number from
the main.test output and show it during the summary report at the end.

FossilOrigin-Name: e7e7bc1d9a5c19571e7d87ad345b98c27a826fbd

Makefile.in
manifest
manifest.uuid
test/main.test
test/releasetest.tcl

index 5d89b0aae79a984b39e2b7581206609b012c4c82..5b52e0fe2d504a37d1281d56768158890ab40426 100644 (file)
@@ -930,22 +930,37 @@ testfixture$(TEXE):       $(TESTFIXTURE_SRC)
        $(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 >> $@
index 643c4b0538bf4901dd252701699e49e8bfe4b93c..132f600c79f07b7a6472257b84922f448200d9ea 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,7 +1,7 @@
-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
@@ -699,7 +699,7 @@ F test/lock6.test ad5b387a3a8096afd3c68a55b9535056431b0cf5
 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
@@ -801,7 +801,7 @@ F test/randexpr1.test eda062a97e60f9c38ae8d806b03b0ddf23d796df
 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
@@ -1235,7 +1235,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1
 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
index 0a8eace1f4403d62ca8033f36e37e4a7ba629390..a69406b8251f0764359ab7603d89ce313b5ff6e8 100644 (file)
@@ -1 +1 @@
-19982439418fbd36c91853cf9e09a66606f293fc
\ No newline at end of file
+e7e7bc1d9a5c19571e7d87ad345b98c27a826fbd
\ No newline at end of file
index 5bbc52b84509b901f460459c6e63ff807b81e5f6..62c0f708ae808e0f2ec58360f9e3da1e8b18592e 100644 (file)
@@ -514,5 +514,11 @@ if {$::tcl_platform(platform)=="unix"
     } {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
index ec1e6b28891d0e22a8828141a564e7247fd8757c..7c93479dc9674343c1ba2924d9a4e4219e5977ee 100644 (file)
@@ -13,6 +13,7 @@ optional) are:
     --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)
@@ -31,7 +32,7 @@ of the SQLite source tree.
 array set ::Configs {
   "Default" {
     -O2
-    --disable-amalgamation  --disable-shared
+    --disable-amalgamation
   }
   "Ftrapv" {
     -O2 -ftrapv
@@ -257,6 +258,15 @@ proc count_tests_and_errors {logfile rcVar errmsgVar} {
         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} {
@@ -408,6 +418,9 @@ proc process_options {argv} {
       -quick {
         set ::QUICK 1
       }
+      -veryquick {
+        set ::QUICK 2
+      }
 
       -config {
         incr i
@@ -447,6 +460,7 @@ proc process_options {argv} {
       }
       -g -
       -D* -
+      -O* -
       -enable-* -
       -disable-* -
       *=* {
@@ -484,7 +498,10 @@ proc process_options {argv} {
   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 ""
 }
 
@@ -501,10 +518,16 @@ proc main {argv} {
   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
@@ -513,7 +536,8 @@ proc main {argv} {
     # 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
@@ -536,7 +560,10 @@ proc main {argv} {
   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