]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Update the test/walthread.test testing script so that it uses a random
authordrh <>
Sat, 1 Nov 2025 20:14:43 +0000 (20:14 +0000)
committerdrh <>
Sat, 1 Nov 2025 20:14:43 +0000 (20:14 +0000)
database name.

FossilOrigin-Name: ce25a758d4cea1741cb3db6384720f17faef61b352d494ab410a83a41f1721d3

manifest
manifest.uuid
test/walthread.test

index 6615bd4e58691858db5b850a494f761980417499..20e0a64e1befd2acb944300b494c7034cb5b622a 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\sext/wasm/mkdist.sh\sto\suse\s./version-info\sinstead\sof\s../../version-info\s(a\srecent\sbuild\schange\smade\sto\sensure\sthat\sbuilds\swith\sa\scustom\ssqlite3.c\sembed\sthat\sversion\sinfo).
-D 2025-11-01T14:49:05.545
+C Update\sthe\stest/walthread.test\stesting\sscript\sso\sthat\sit\suses\sa\srandom\ndatabase\sname.
+D 2025-11-01T20:14:43.048
 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
@@ -2001,7 +2001,7 @@ F test/walsetlk_recover.test adccbffc59e365063a4efd2da6b661ae2fcf15d775b6719fe46
 F test/walsetlk_snapshot.test 86d5588380f9927d8fcbbd75133b0a34fddf959378d6823c6f164a390123f70a
 F test/walshared.test 42e3808582504878af237ea02c42ca793e8a0efaa19df7df26ac573370dbc7a3
 F test/walslow.test 0c51843836c9dcf40a5ac05aa781bfb977b396ee2c872d92bd48b79d5dd9aa23
-F test/walthread.test 14b20fcfa6ae152f5d8e12f5dc8a8a724b7ef189f5d8ef1e2ceab79f2af51747
+F test/walthread.test d562f51a61191ccfab64940df7aa1cef87c902fa5ab742590ef7f859dfe6a44b
 F test/walvfs.test e1a6ad0f3c78e98b55c3d5f0889cf366cc0d0a1cb2bccb44ac9ec67384adc4a1
 F test/where.test 5087c72d26fd075a1644c8512be9fe18de9bf2d2b0754f7fd9b74a1c6540c4fc
 F test/where2.test 52237a8cb27ebbf6583469429bb5733d1b94ac37d09c3dbd0f487952ed0ab3f8
@@ -2171,8 +2171,8 @@ F tool/version-info.c 33d0390ef484b3b1cb685d59362be891ea162123cea181cb8e6d2cf6dd
 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
 F tool/warnings.sh d924598cf2f55a4ecbc2aeb055c10bd5f48114793e7ba25f9585435da29e7e98
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P 652310a9f0ef2a870b5033029278b1fbef28c2ec15405d1b32bf1d51df28266c
-R 789639c165514ce3af810176f0997206
-U stephan
-Z 34036299517fa820aa962dad8e6384b2
+P d25a92d88923f880d6477a99f2a35528faea83e7db245f2b07db80613b4aeb8e
+R 90592ab746f3751e2ee7e35915c03115
+U drh
+Z e53fd1ab0932500170aad04e560ed29f
 # Remove this line to create a well-formed Fossil manifest.
index 262d1f678123db6b9c33c8629fa60dbf6e5874f4..f07064a16bd40a08a9774a19efe1108e9487028d 100644 (file)
@@ -1 +1 @@
-d25a92d88923f880d6477a99f2a35528faea83e7db245f2b07db80613b4aeb8e
+ce25a758d4cea1741cb3db6384720f17faef61b352d494ab410a83a41f1721d3
index 8e5df9e5895ae764cee678e757223a956121a78e..1a0c35af087d0012a0cd52fcc2d0a1aa0e9d5ad9 100644 (file)
@@ -19,6 +19,7 @@ source $testdir/tester.tcl
 source $testdir/lock_common.tcl
 if {[run_thread_tests]==0} { finish_test ; return }
 ifcapable !wal             { finish_test ; return }
+set DBNAME wt-[expr {int(abs(rand()*100000000))}]-test.db
 
 set sqlite_walsummary_mmap_incr 64
 
@@ -74,7 +75,6 @@ proc lshift {lvar} {
 #   -check     SCRIPT                 Script to run after test.
 #
 proc do_thread_test {args} {
-
   set A $args
 
   set P(testname) [lshift A]
@@ -126,12 +126,12 @@ proc do_thread_test {args} {
     return
   }
 
-  puts "Running $P(testname) for $P(seconds) seconds..."
+  puts "Running $P(testname) for $P(seconds) seconds on $::DBNAME"
 
   catch { db close }
-  forcedelete test.db test.db-journal test.db-wal
+  forcedelete $::DBNAME $::DBNAME-journal $::DBNAME-wal
 
-  sqlite3 db test.db
+  sqlite3 db $::DBNAME
   eval $P(init)
   catch { db close }
 
@@ -146,7 +146,7 @@ proc do_thread_test {args} {
         set E(nthread) $count
         set E(seconds) $P(seconds)
       "
-      set program [string map [list %TEST% $prg %VARS% $vars] {
+      set program [string map [list %TEST% $prg %VARS% $vars %DB% $::DBNAME] {
 
         %VARS%
 
@@ -163,7 +163,7 @@ proc do_thread_test {args} {
 
         proc busyhandler {n} { usleep 10 ; return 0 }
 
-        sqlite3 db test.db
+        sqlite3 db %DB%
         db busy busyhandler
         db eval { SELECT randomblob($E(pid)*5) }
 
@@ -202,7 +202,7 @@ proc do_thread_test {args} {
   }
   puts $report
 
-  sqlite3 db test.db
+  sqlite3 db $::DBNAME
   set res ""
   if {[catch $P(check) msg]} { set res $msg }
   do_test $P(testname).check [list set {} $res] ""
@@ -327,16 +327,16 @@ do_thread_test2 walthread-1 -seconds $seconds(walthread-1) -init {
 # the number of write-transactions performed using a rollback journal.
 # For example, "192 w, 185 r".
 #
-if {[atomic_batch_write test.db]==0} {
+if {[atomic_batch_write $::DBNAME]==0} {
   do_thread_test2 walthread-2 -seconds $seconds(walthread-2) -init {
     execsql { CREATE TABLE t1(x INTEGER PRIMARY KEY, y UNIQUE) }
-  } -thread RB 2 {
+  } -thread RB 2 [string map [list %DB% $::DBNAME] {
 
     db close
     set nRun 0
     set nDel 0
     while {[tt_continue]} {
-      sqlite3 db test.db
+      sqlite3 db %DB%
       db busy busyhandler
       db eval { SELECT * FROM sqlite_master }
       catch { db eval { PRAGMA journal_mode = DELETE } }
@@ -345,8 +345,8 @@ if {[atomic_batch_write test.db]==0} {
         INSERT INTO t1 VALUES(NULL, randomblob(100+$E(pid)));
       }
       incr nRun 1
-      incr nDel [file exists test.db-journal]
-      if {[file exists test.db-journal] + [file exists test.db-wal] != 1} {
+      incr nDel [file exists %DB%-journal]
+      if {[file exists %DB%-journal] + [file exists %DB%-wal] != 1} {
         error "File-system looks bad..."
       }
       db eval COMMIT
@@ -357,12 +357,12 @@ if {[atomic_batch_write test.db]==0} {
     list $nRun $nDel
     set {} "[expr $nRun-$nDel] w, $nDel r"
   
-  } -thread WAL 2 {
+  }] -thread WAL 2 [string map [list %DB% $::DBNAME] {
     db close
     set nRun 0
     set nDel 0
     while {[tt_continue]} {
-      sqlite3 db test.db
+      sqlite3 db %DB%
       db busy busyhandler
       db eval { SELECT * FROM sqlite_master }
       catch { db eval { PRAGMA journal_mode = WAL } }
@@ -371,8 +371,8 @@ if {[atomic_batch_write test.db]==0} {
         INSERT INTO t1 VALUES(NULL, randomblob(110+$E(pid)));
       }
       incr nRun 1
-      incr nDel [file exists test.db-journal]
-      if {[file exists test.db-journal] + [file exists test.db-wal] != 1} {
+      incr nDel [file exists %DB%-journal]
+      if {[file exists %DB%-journal] + [file exists %DB%-wal] != 1} {
         error "File-system looks bad..."
       }
       db eval COMMIT
@@ -381,7 +381,7 @@ if {[atomic_batch_write test.db]==0} {
       db close
     }
     set {} "[expr $nRun-$nDel] w, $nDel r"
-  }
+  }]
 }
 
 do_thread_test walthread-3 -seconds $seconds(walthread-3) -init {
@@ -510,14 +510,14 @@ do_thread_test walthread-5 -seconds $seconds(walthread-5) -init {
     COMMIT;
   }
 
-  forcecopy test.db-wal bak.db-wal
-  forcecopy test.db bak.db
+  forcecopy $::DBNAME-wal $::DBNAME-bak.db-wal
+  forcecopy $::DBNAME $::DBNAME-bak.db
   db close
 
-  forcecopy bak.db-wal test.db-wal
-  forcecopy bak.db test.db
+  forcecopy $::DBNAME-bak.db-wal $::DBNAME-wal
+  forcecopy $::DBNAME-bak.db $::DBNAME
 
-  if {[file size test.db-wal] < [log_file_size [expr 64*1024] 1024]} {
+  if {[file size $::DBNAME-wal] < [log_file_size [expr 64*1024] 1024]} {
     error "Somehow failed to create a large log file"
   }
   puts "Database with large log file recovered. Now running clients..."
@@ -525,5 +525,8 @@ do_thread_test walthread-5 -seconds $seconds(walthread-5) -init {
   db eval { SELECT count(*) FROM t1 }
 }
 unset -nocomplain seconds
+catch {db close}
+forcedelete $::DBNAME $::DBNAME-journal $::DBNAME-wal $::DBNAME-shm
+forcedelete $::DBNAME-bak.db-wal $::DBNAME-bak.db
 
 finish_test