]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Enhancements to testrunner.tcl:
authordrh <>
Thu, 21 Mar 2024 11:46:52 +0000 (11:46 +0000)
committerdrh <>
Thu, 21 Mar 2024 11:46:52 +0000 (11:46 +0000)
(1) Add the "--config CONFIGS" option, to that only configuration named
on the comma-separated list CONFIGS are run.
(2) Add the "--omit CONFIGS" to omit configuration on the CONFIGS list
(3) Add the Android configuration to "release"

FossilOrigin-Name: 4ccb372967fab779b29be8f01c879a99ef247981466f81f55e18e3961fbd7d5a

manifest
manifest.uuid
test/sessionfuzz.c
test/testrunner.tcl
test/testrunner_data.tcl

index d352d9cc2b3e373aada3013ae836572e8a775f84..3f732c3abd92544ff5f72b9abb8ca83e110af9af 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Have\sos_unix.c\sreuse\scached\sfile-descriptors\sin\sthe\scase\swhen\sa\sread-write\sfd\sis\srequested\son\sa\sread-only\sfile\sand\sa\sread-only\sfd\sreturned.
-D 2024-03-21T11:37:36.346
+C Enhancements\sto\stestrunner.tcl:\n(1)\sAdd\sthe\s"--config\sCONFIGS"\soption,\sto\sthat\sonly\sconfiguration\snamed\non\sthe\scomma-separated\slist\sCONFIGS\sare\srun.\n(2)\sAdd\sthe\s"--omit\sCONFIGS"\sto\somit\sconfiguration\son\sthe\sCONFIGS\slist\n(3)\sAdd\sthe\sAndroid\sconfiguration\sto\s"release"
+D 2024-03-21T11:46:52.796
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -1590,7 +1590,7 @@ F test/selectG.test 089f7d3d7e6db91566f00b036cb353107a2cca6220eb1cb264085a836dae
 F test/selectH.test 0b54599f1917d99568c9b929df22ec6261ed7b6d2f02a46b5945ef81b7871aac
 F test/session.test 78fa2365e93d3663a6e933f86e7afc395adf18be
 F test/sessionfuzz-data1.db 1f8d5def831f19b1c74571037f0d53a588ea49a6c4ca2a028fc0c27ef896dbcb
-F test/sessionfuzz.c 666b47e177c7b25f01ba645d41fb9131d2d54ae673f0d81c08f5af2b3e6ecbda
+F test/sessionfuzz.c f693b8827034a3bed7616d89c65fb4fe8b7ff3c0f000c6ea6beda69b7f1aced3
 F test/shared.test f022874d9d299fe913529dc10f52ad5a386e4e7ff709270b9b1111b3a0f3420a
 F test/shared2.test 03eb4a8d372e290107d34b6ce1809919a698e879
 F test/shared3.test f8cd07c1a2b7cdb315c01671a0b2f8e3830b11ef31da6baa9a9cd8da88965403
@@ -1690,8 +1690,8 @@ F test/temptable2.test 76821347810ecc88203e6ef0dd6897b6036ac788e9dd3e6b04fd4d163
 F test/temptable3.test d11a0974e52b347e45ee54ef1923c91ed91e4637
 F test/temptrigger.test 38f0ca479b1822d3117069e014daabcaacefffcc
 F test/tester.tcl fe617b88c7eb08bdf983d2aaa31c20fbf439eee7b8e0d61ca636fcd0c305bbbf
-F test/testrunner.tcl 01bc3b5bc900dc73b076180727eb2869dc61426b1ab95ac2f42def5d1f3d407e
-F test/testrunner_data.tcl 7032a64e4757db0bf83c6874cab2ccbb14a8708b4d68c1ddc8b359e204139cb7
+F test/testrunner.tcl b48a8fc17e3b200244f53d60348afa7fe9482400d164e95709890743af9536d0
+F test/testrunner_data.tcl 3d36660cfd55ea5e20e661e8f94c0520feebcb437848f9b98b33c483cc479c0c
 F test/thread001.test a0985c117eab62c0c65526e9fa5d1360dd1cac5b03bde223902763274ce21899
 F test/thread002.test c24c83408e35ba5a952a3638b7ac03ccdf1ce4409289c54a050ac4c5f1de7502
 F test/thread003.test ee4c9efc3b86a6a2767516a37bd64251272560a7
@@ -2182,8 +2182,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 66c69e2f20f7692e0f34743ae97b09c4d8d11b874cdc5381795f2d1e0410f724
-R 41345a246cf3c264839b8ebe82b82196
-U dan
-Z d2317639297bfb820720d835feec7e58
+P a678e85402af08c1e387bf30ff2205f84dd7da749755da565d70f831c007a3d9
+R 2c6a53e503eb513e49b4f3899bff37cd
+U drh
+Z 89d0196ee33d74016c89e304cba255b3
 # Remove this line to create a well-formed Fossil manifest.
index ac95fcbf05e66064fd87921d316ee100b0c6455e..09d6bad37886687910fb24cf4a912784a33fda15 100644 (file)
@@ -1 +1 @@
-a678e85402af08c1e387bf30ff2205f84dd7da749755da565d70f831c007a3d9
\ No newline at end of file
+4ccb372967fab779b29be8f01c879a99ef247981466f81f55e18e3961fbd7d5a
\ No newline at end of file
index 093c2b043de2c79332dcbe54c453494ecffff308..c389a5e996950c44f0f47b99f7d196a4b274cf06 100644 (file)
@@ -60,6 +60,7 @@
 
 #define SQLITE_DEBUG 1
 #define SQLITE_THREADSAFE 0
+#undef SQLITE_OMIT_LOAD_EXTENSION
 #define SQLITE_OMIT_LOAD_EXTENSION 0
 #define SQLITE_ENABLE_SESSION 1
 #define SQLITE_ENABLE_PREUPDATE_HOOK 1
index e8570ddf19cd223bcfc565567954f5330735b544..05f7d4cc98dfdad4ba2558e4ffd57147534a3898 100644 (file)
@@ -60,13 +60,15 @@ Usage:
     $a0 status
 
   where SWITCHES are:
-    --buildonly
-    --dryrun
-    --explain
-    --jobs NUMBER-OF-JOBS
-    --stop-on-coredump
-    --stop-on-error
-    --zipvfs ZIPVFS-SOURCE-DIR
+    --buildonly              Build test exes but do not run tests
+    --config CONFIGS         Only use configs on comma-separate list CONFIGS
+    --dryrun                 Write what would have happened to testrunner.log
+    --explain                Write summary to stdout
+    --jobs NUM               Run tests using NUM separate processes
+    --omit CONFIGS           Omit configs on comma-separated list CONFIGS
+    --stop-on-coredump       Stop running if any test segfaults
+    --stop-on-error          Stop running after any reported error
+    --zipvfs ZIPVFSDIR       ZIPVFS source directory
 
 Special values for PERMUTATION that work with plain tclsh:
 
@@ -172,6 +174,8 @@ set TRG(reporttime) 2000
 set TRG(fuzztest) 0                 ;# is the fuzztest option present.
 set TRG(zipvfs) ""                  ;# -zipvfs option, if any
 set TRG(buildonly) 0                ;# True if --buildonly option 
+set TRG(config) {}                  ;# Only build the named configurations
+set TRG(omitconfig) {}              ;# Do not build these configurations
 set TRG(dryrun) 0                   ;# True if --dryrun option 
 set TRG(explain) 0                  ;# True for the --explain option
 set TRG(stopOnError) 0              ;# Stop running at first failure
@@ -468,10 +472,16 @@ for {set ii 0} {$ii < [llength $argv]} {incr ii} {
       if {$isLast} { usage }
     } elseif {($n>2 && [string match "$a*" --buildonly]) || $a=="-b"} {
       set TRG(buildonly) 1
+    } elseif {($n>2 && [string match "$a*" --config]) || $a=="-c"} {
+      incr ii
+      set TRG(config) [lindex $argv $ii]
     } elseif {($n>2 && [string match "$a*" --dryrun]) || $a=="-d"} {
       set TRG(dryrun) 1
     } elseif {($n>2 && [string match "$a*" --explain]) || $a=="-e"} {
       set TRG(explain) 1
+    } elseif {($n>2 && [string match "$a*" --omit]) || $a=="-c"} {
+      incr ii
+      set TRG(omitconfig) [lindex $argv $ii]
     } elseif {[string match "$a*" --stop-on-error]} {
       set TRG(stopOnError) 1
     } elseif {[string match "$a*" --stop-on-coredump]} {
@@ -485,8 +495,6 @@ for {set ii 0} {$ii < [llength $argv]} {incr ii} {
 }
 set argv [list]
 
-
-
 # This script runs individual tests - tcl scripts or [make xyz] commands -
 # in directories named "testdir$N", where $N is an integer. This variable
 # contains a list of integers indicating the directories in use.
@@ -911,6 +919,8 @@ proc add_jobs_from_cmdline {patternlist} {
     release {
       set patternlist [lrange $patternlist 1 end]
       foreach b [trd_builds $TRG(platform)] {
+        if {$TRG(config)!="" && ![regexp "\\y$b\\y" $TRG(config)]} continue
+        if {[regexp "\\y$b\\y" $TRG(omitconfig)]} continue
         set bld [add_build_job $b $TRG(testfixture)]
         foreach c [trd_configs $TRG(platform) $b] {
           add_tcl_jobs $bld $c $patternlist
index 73b5472a996f6dd3ccc5ececc0af78b9092b33d8..f8f12d91a73956ed4b34dab15d3119af10572c8a 100644 (file)
@@ -23,6 +23,7 @@ namespace eval trd {
   set tcltest(linux.No-lookaside)         veryquick
   set tcltest(linux.Devkit)               veryquick
   set tcltest(linux.Apple)                veryquick
+  set tcltest(linux.Android)              veryquick
   set tcltest(linux.Sanitize)             veryquick
   set tcltest(linux.Device-One)           all
   set tcltest(linux.Default)              all_plus_autovacuum_crash
@@ -53,6 +54,7 @@ namespace eval trd {
   set extra(linux.Device-Two)             {fuzztest sourcetest threadtest}
   set extra(linux.No-lookaside)           {fuzztest sourcetest}
   set extra(linux.Devkit)                 {fuzztest sourcetest}
+  set extra(linux.Android)                {fuzztest sourcetest}
   set extra(linux.Apple)                  {fuzztest sourcetest}
   set extra(linux.Sanitize)               {fuzztest sourcetest}
   set extra(linux.Default)                {fuzztest sourcetest threadtest}
@@ -246,6 +248,40 @@ namespace eval trd {
     -O2
     -DSQLITE_ENABLE_LOCKING_STYLE=1
   }
+  set build(Android) {
+    -Os
+    -DHAVE_USLEEP=1
+    -DSQLITE_HAVE_ISNAN
+    -DSQLITE_POWERSAFE_OVERWRITE=1
+    -DSQLITE_DEFAULT_FILE_FORMAT=4
+    -DSQLITE_DEFAULT_AUTOVACUUM=1
+    -DSQLITE_ENABLE_MEMORY_MANAGEMENT=1
+    -DSQLITE_ENABLE_FTS3
+    -DSQLITE_ENABLE_FTS3_BACKWARDS
+    -DSQLITE_ENABLE_FTS4
+    -DSQLITE_SECURE_DELETE
+    -DSQLITE_ENABLE_BATCH_ATOMIC_WRITE
+    -DBIONIC_IOCTL_NO_SIGNEDNESS_OVERLOAD
+    -DSQLITE_ALLOW_ROWID_IN_VIEW
+    -DSQLITE_ENABLE_BYTECODE_VTAB
+    -Wno-unused-parameter
+    -Werror
+    -DUSE_PREAD64
+    -Dfdatasync=fdatasync
+    -DHAVE_MALLOC_H=1
+    -DHAVE_MALLOC_USABLE_SIZE
+    -DSQLITE_ENABLE_DBSTAT_VTAB
+  }
+  # Compile-options used by Android but omitted from these
+  # tests:
+  #   -DNDEBUG=1
+  #   -DSQLITE_DEFAULT_LEGACY_ALTER_TABLE
+  #   -DSQLITE_DEFAULT_JOURNAL_SIZE_LIMIT=1048576
+  #   -DSQLITE_DEFAULT_FILE_PERMISSIONS=0600
+  #   -DSQLITE_OMIT_BUILTIN_TEST
+  #   -DSQLITE_OMIT_LOAD_EXTENSION
+  #   -DSQLITE_OMIT_COMPILEOPTION_DIAGS
+  #
   set build(Apple) {
     -Os
     -DHAVE_GMTIME_R=1