]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix walsetlk.test to work on unix.
authordan <Dan Kennedy>
Tue, 10 Dec 2024 18:12:59 +0000 (18:12 +0000)
committerdan <Dan Kennedy>
Tue, 10 Dec 2024 18:12:59 +0000 (18:12 +0000)
FossilOrigin-Name: 798dff041be46d2d5014779c0855f60e6b2a142e9946bfb79061d7dff0bc3d27

manifest
manifest.uuid
test/walsetlk.test

index 933c5731bebafb6d8f511300124cb6fba8db9e45..f262cc88520d60845627d1b29e246a7f4f81984e 100644 (file)
--- 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.
index 9ad9e4ac3feb4ec65fd3e6529c50db8002b0cb09..9e8542b6bfb534dc7606654c25fd9802768c8fc0 100644 (file)
@@ -1 +1 @@
-d67a42d62555cf9294e11a04d3c7cfdf11ca7978d60fc085f5a73e36aff8313e
+798dff041be46d2d5014779c0855f60e6b2a142e9946bfb79061d7dff0bc3d27
index ae53976cf002bfaf59e1644299bb163d3050684b..3a26d9a09aabee74e92e8062d9876a4601432f57 100644 (file)
@@ -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