From 94e02d9c2cabefe2ebcef47c4fb68cdb88d3e47a Mon Sep 17 00:00:00 2001 From: drh Date: Thu, 3 Jan 2019 16:00:23 +0000 Subject: [PATCH] Fix the shmlock.test script so that it works with the Windows restriction that UnlockFile must exactly correspond to a prior LockFile. FossilOrigin-Name: df939c89fa90b7f9ccf961027ca4eca4f987c49eabf530b5719a83e5ab0d346d --- manifest | 12 ++++++------ manifest.uuid | 2 +- test/shmlock.test | 11 +++++++++-- 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/manifest b/manifest index d899755411..06d907fa93 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sa\sharmless\scompiler\swarning\sin\sthe\sCSV\sextension. -D 2019-01-03T15:22:33.996 +C Fix\sthe\sshmlock.test\sscript\sso\sthat\sit\sworks\swith\sthe\sWindows\srestriction\nthat\sUnlockFile\smust\sexactly\scorrespond\sto\sa\sprior\sLockFile. +D 2019-01-03T16:00:23.389 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F Makefile.in d8b254f8bb81bab43c340d70d17dc3babab40fcc8a348c8255881f780a45fee6 @@ -1292,7 +1292,7 @@ F test/shell5.test 23939a4c51f0421330ea61dbd3c74f9c215f5f8d3d1a94846da6ffc777a35 F test/shell6.test 1ceb51b2678c472ba6cf1e5da96679ce8347889fe2c3bf93a0e0fa73f00b00d3 F test/shell7.test 115132f66d0463417f408562cc2cf534f6bbc6d83a6d50f0072a9eb171bae97f F test/shell8.test 96be02ea0c21f05b24c1883d7b711a1fa8525a68ab7b636aacf6057876941013 -F test/shmlock.test 3d1868f0386923c0592a235f2dd87ae52286b217bc695fbfd9d39a828e7be374 +F test/shmlock.test 3dbf017d34ab0c60abe6a44e447d3552154bd0c87b41eaf5ceacd408dd13fda5 F test/shortread1.test bb591ef20f0fd9ed26d0d12e80eee6d7ac8897a3 F test/show_speedtest1_rtree.tcl 32e6c5f073d7426148a6936a0408f4b5b169aba5 F test/shrink.test 1b4330b1fd9e818c04726d45cb28db73087535ce @@ -1796,7 +1796,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P bef216dfa1456a787e3d9c74936ee1c6600827d4e252bd13e7a93046ce07469f -R 5fe87606abb429d879a36751ce5f3990 +P fbcd72565f4425016cebbbf5dfd6aa510234cfb31c785cf364f04fff444aacae +R 9111955e58c3bd4c245af61d1e729f5d U drh -Z b39dc78fd6c51051a3524b4af5c0cf88 +Z f3364b198a836e6f6f5103c54a1093fa diff --git a/manifest.uuid b/manifest.uuid index a1c1e1992b..f40b6f0ec6 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -fbcd72565f4425016cebbbf5dfd6aa510234cfb31c785cf364f04fff444aacae \ No newline at end of file +df939c89fa90b7f9ccf961027ca4eca4f987c49eabf530b5719a83e5ab0d346d \ No newline at end of file diff --git a/test/shmlock.test b/test/shmlock.test index 6910758b82..89b29fd7ac 100644 --- a/test/shmlock.test +++ b/test/shmlock.test @@ -114,6 +114,11 @@ sqlite3 db0 test.db sqlite3 db1 test.db do_test 3.1 { execsql { SELECT * FROM t1 } db0 } {1 2} do_test 3.2 { execsql { SELECT * FROM t1 } db1 } {1 2} +if {$tcl_platform(platform)=="windows"} { + set isWindows 1 +} else { + set isWindows 0 +} set L(0) {n n n n n n n n} set L(1) {n n n n n n n n} @@ -134,6 +139,10 @@ proc random_lock_test {idx} { if {$locktype=="e"} { for {set l $iSlot} {$l<8 && [lindex $L($idx) $l]=="n"} {incr l} {} set n [expr int(rand()*($l-$iSlot))+1] + # The LockFile() and UnlockFile() apis on windows require that + # every unlock correspond exactly to a prior lock. Hence, we cannot + # lock arbitrary ranges in this test on windows. + if {$::isWindows} {set n 1} # puts "iSlot=$iSlot l=$l L=$L($idx)" # puts "$iSlot $n" } @@ -169,5 +178,3 @@ db0 close db1 close finish_test - -