From: drh <> Date: Sat, 1 Nov 2025 20:14:43 +0000 (+0000) Subject: Update the test/walthread.test testing script so that it uses a random X-Git-Tag: major-release~8 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0c747e16536bf1bebaab5925697d5b3281d0167d;p=thirdparty%2Fsqlite.git Update the test/walthread.test testing script so that it uses a random database name. FossilOrigin-Name: ce25a758d4cea1741cb3db6384720f17faef61b352d494ab410a83a41f1721d3 --- diff --git a/manifest b/manifest index 6615bd4e58..20e0a64e1b 100644 --- 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. diff --git a/manifest.uuid b/manifest.uuid index 262d1f6781..f07064a16b 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -d25a92d88923f880d6477a99f2a35528faea83e7db245f2b07db80613b4aeb8e +ce25a758d4cea1741cb3db6384720f17faef61b352d494ab410a83a41f1721d3 diff --git a/test/walthread.test b/test/walthread.test index 8e5df9e589..1a0c35af08 100644 --- a/test/walthread.test +++ b/test/walthread.test @@ -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