From: dan Date: Tue, 10 Dec 2024 18:12:59 +0000 (+0000) Subject: Fix walsetlk.test to work on unix. X-Git-Tag: major-release~248^2~21 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e5418e9dd3cf9c9c97a0d800b3f0bc664b3fba29;p=thirdparty%2Fsqlite.git Fix walsetlk.test to work on unix. FossilOrigin-Name: 798dff041be46d2d5014779c0855f60e6b2a142e9946bfb79061d7dff0bc3d27 --- diff --git a/manifest b/manifest index 933c5731be..f262cc8852 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Merge\slatest\strunk\schanges\sinto\sthis\sbranch. -D 2024-12-10T17:36:20.046 +C Fix\swalsetlk.test\sto\swork\son\sunix. +D 2024-12-10T18:12:59.802 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md e108e1e69ae8e8a59e93c455654b8ac9356a11720d3345df2a4743e9590fb20d @@ -2021,7 +2021,7 @@ F test/walro.test cb438d05ba0d191f10b688e39c4f0cd5b71569a1d1f4440e5bdf3c6880e08c F test/walro2.test 33955a6fd874dd9724005e17f77fef89d334b3171454a1256fe4941a96766cdc F test/walrofault.test c70cb6e308c443867701856cce92ad8288cd99488fa52afab77cca6cfd51af68 F test/walseh1.test bae700eb99519b6d5cd3f893c04759accc5a59c391d4189fe4dd6995a533442b -F test/walsetlk.test 502cd17ebd2b4fcb7a2f67c3612582ae9da416c756affb652064c16ce365c16d +F test/walsetlk.test e24dd0a7bba843a3f7da97b6571d0e7fa9133941e74bb75a1d89e172008df31c F test/walshared.test 42e3808582504878af237ea02c42ca793e8a0efaa19df7df26ac573370dbc7a3 F test/walslow.test 0c51843836c9dcf40a5ac05aa781bfb977b396ee2c872d92bd48b79d5dd9aa23 F test/walthread.test 14b20fcfa6ae152f5d8e12f5dc8a8a724b7ef189f5d8ef1e2ceab79f2af51747 @@ -2202,8 +2202,8 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7 F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P 9cbc97ff8411a672b572000e4509ac02b3d29911be5ce1bcf334ed8e2a91db77 0f3b484fd71fd77947a1de7c24f35f8eed2911d0565d03edb7970b8f3092a5da -R b4b044f08598c4c125c36b0936a05c1b +P d67a42d62555cf9294e11a04d3c7cfdf11ca7978d60fc085f5a73e36aff8313e +R f7af9d80a506351b36f5bd843c579062 U dan -Z 7839b247a1c08690f8454e1a17953ba8 +Z 1f09d6481c3b825c642e11d0b6e347e6 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 9ad9e4ac3f..9e8542b6bf 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -d67a42d62555cf9294e11a04d3c7cfdf11ca7978d60fc085f5a73e36aff8313e +798dff041be46d2d5014779c0855f60e6b2a142e9946bfb79061d7dff0bc3d27 diff --git a/test/walsetlk.test b/test/walsetlk.test index ae53976cf0..3a26d9a09a 100644 --- a/test/walsetlk.test +++ b/test/walsetlk.test @@ -18,6 +18,7 @@ source $testdir/lock_common.tcl set testprefix walsetlk ifcapable !wal {finish_test ; return } +if 0 { db timeout 1000 #------------------------------------------------------------------------- @@ -89,6 +90,7 @@ do_multiclient_test tn { set ::sleep_count 0 proc xSleep_callback {xSleep nMs} { + puts POOOOOOP after [expr $nMs / 1000] incr ::sleep_count } @@ -218,6 +220,7 @@ do_multiclient_test tn { } #------------------------------------------------------------------------- +} reset_db testvfs tvfs -fullshm 1 @@ -228,6 +231,7 @@ set ::sleep_count 0 proc xSleep_callback {xSleep nMs} { after [expr $nMs / 1000] incr ::sleep_count + breakpoint } sqlite3 db2 test.db -vfs tvfs @@ -240,14 +244,28 @@ do_execsql_test 3.0 { INSERT INTO x1 VALUES(1, 2); } {wal} -do_test 3.1 { +do_execsql_test -db db2 3.1a { + SELECT * FROM x1 +} {} + +do_test 3.1b { list [catch { db2 eval {BEGIN EXCLUSIVE} } msg] $msg } {1 {database is locked}} -do_execsql_test 3.2 { - COMMIT; +# Set bExpect to true if calls to xSleep() are expected. Such calls are +# expected unless this is an SQLITE_ENABLE_SETLK_TIMEOUT=1 build. +set bExpect 1 +if {$tcl_platform(platform)=="windows" && $::sqlite_options(setlk_timeout)==1} { + set bExpect 0 } +do_test 3.2 { + expr {$::sleep_count > 0} +} $bExpect +set ::sleep_count 0 +do_execsql_test 3.3 { + COMMIT; +} # Launch a non-blocking testfixture process to write-lock the # database for 2000 ms. @@ -265,7 +283,7 @@ testfixture_nb done { after 500 db2 timeout 5000 -do_test 3.3 { +do_test 3.4 { set t [lindex [time { db2 eval { BEGIN EXCLUSIVE } }] 0] expr ($t>1000000) } {1} @@ -276,7 +294,7 @@ set bExpect 1 if {$::sqlite_options(setlk_timeout)==1} { set bExpect 0 } -do_test 3.4 { +do_test 3.5 { expr {$::sleep_count > 0} } $bExpect