]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
On Windows, make sure the current directory value used by the test suite is 'normaliz...
authormistachkin <mistachkin@noemail.net>
Thu, 8 Mar 2012 20:00:36 +0000 (20:00 +0000)
committermistachkin <mistachkin@noemail.net>
Thu, 8 Mar 2012 20:00:36 +0000 (20:00 +0000)
FossilOrigin-Name: 82bcd7ec1531f6d71c079578434c58d3ce46a1de

22 files changed:
Makefile.in
Makefile.msc
Makefile.vxworks
main.mk
manifest
manifest.uuid
src/test6.c
test/bigfile.test
test/bigfile2.test
test/crash5.test
test/e_uri.test
test/filectrl.test
test/misc7.test
test/pager1.test
test/pragma.test
test/quota.test
test/quota2.test
test/tester.tcl
test/tkt-94c04eaadb.test
test/uri.test
test/wal.test
test/walbig.test

index 5593b4c6ff2141f4ec8b7cf7be36e73d2364a3d8..3d7c74ba37cb617918834b49baa125eb472b1bdd 100644 (file)
@@ -934,6 +934,7 @@ clean:
        rm -f mkkeywordhash$(BEXE) keywordhash.h
        rm -f $(PUBLISH)
        rm -f *.da *.bb *.bbg gmon.out
+       rm -rf quota2a quota2b quota2c
        rm -rf tsrc .target_source
        rm -f tclsqlite3$(TEXE)
        rm -f testfixture$(TEXE) test.db
index e95b443fe10616593ac255e3e073f53897ca75f6..2d8f44c7332ca16397b261ea2a2500e99e87960b 100644 (file)
@@ -985,6 +985,9 @@ clean:
        del /Q mkkeywordhash.exe keywordhash.h
        -rmdir /Q/S .deps
        -rmdir /Q/S .libs
+       -rmdir /Q/S quota2a
+       -rmdir /Q/S quota2b
+       -rmdir /Q/S quota2c
        -rmdir /Q/S tsrc
        del /Q .target_source
        del /Q tclsqlite3.exe
index 8d57da72833cc44aae0291f19b74bd2780c507b5..4398c1826527bb28dbc4d15acd328c0f972f712f 100644 (file)
@@ -657,6 +657,7 @@ clean:
        rm -f lemon lempar.c parse.* sqlite*.tar.gz mkkeywordhash keywordhash.h
        rm -f $(PUBLISH)
        rm -f *.da *.bb *.bbg gmon.out
+       rm -rf quota2a quota2b quota2c
        rm -rf tsrc target_source
        rm -f testloadext.dll libtestloadext.so
        rm -f sqlite3.c fts?amal.c tclsqlite3.c
diff --git a/main.mk b/main.mk
index 4360d8626d363b1f2a3aca58ca549889c1983f7f..e28282c32d64e0708265e738a1ebb766e2ff35f2 100644 (file)
--- a/main.mk
+++ b/main.mk
@@ -601,6 +601,7 @@ clean:
        rm -f mkkeywordhash mkkeywordhash.exe keywordhash.h
        rm -f $(PUBLISH)
        rm -f *.da *.bb *.bbg gmon.out
+       rm -rf quota2a quota2b quota2c
        rm -rf tsrc target_source
        rm -f testloadext.dll libtestloadext.so
        rm -f amalgamation-testfixture amalgamation-testfixture.exe
index 804df3f20bfecc51e8c0068b1f84cc5202bd7cdc..0722c0bf60846bcc98e31c6b04a5afe15706ad2e 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,10 +1,10 @@
-C Fix\sa\sproblem\scompiling\sthe\stest\scode\sin\sfts3_test.c\swhen\sSQLITE_ENABLE_FTS3\sis\snot\sdefined.
-D 2012-03-05T16:24:26.279
+C On\sWindows,\smake\ssure\sthe\scurrent\sdirectory\svalue\sused\sby\sthe\stest\ssuite\sis\s'normalized'\sto\swhat\sthe\sparent\scommand\sshell\ssees.\s\sAlso,\sclean\sthe\stest\sdirectories\sused\sby\sthe\squota2.test\sfile.
+D 2012-03-08T20:00:36.181
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
-F Makefile.in 3f79a373e57c3b92dabf76f40b065e719d31ac34
+F Makefile.in 2f37e468503dbe79d35c9f6dffcf3fae1ae9ec20
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
-F Makefile.msc 3a5582a858b8071af43cd459bd757f7d0748f66a
-F Makefile.vxworks 1deb39c8bb047296c30161ffa10c1b5423e632f9
+F Makefile.msc 7849a871b6cdb20fd51baee6bbe5965a03326be4
+F Makefile.vxworks 3b7fe7a0571fdadc61363ebc1b23732d2d6363ca
 F README cd04a36fbc7ea56932a4052d7d0b7f09f27c33d6
 F VERSION bb4c2a86abe53ea3c1d6ea515b69a426040e2414
 F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50
@@ -105,7 +105,7 @@ F ext/rtree/tkt3363.test 142ab96eded44a3615ec79fba98c7bde7d0f96de
 F ext/rtree/viewrtree.tcl eea6224b3553599ae665b239bd827e182b466024
 F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 x
 F ltmain.sh 3ff0879076df340d2e23ae905484d8c15d5fdea8
-F main.mk ac48970ca7506c9034f5c7b2212111fbeb0a1aaa
+F main.mk a80771d44176a0c744d9d4e048497e7ed0b4040d
 F mkdll.sh 7d09b23c05d56532e9d44a50868eb4b12ff4f74a
 F mkextu.sh 416f9b7089d80e5590a29692c9d9280a10dbad9f
 F mkextw.sh 4123480947681d9b434a5e7b1ee08135abe409ac
@@ -194,7 +194,7 @@ F src/test2.c 711555927f1f7e8db9aab86b512bc6934a774abe
 F src/test3.c 91d3f1a09cfae3533ef17d8b484a160f3d1f1a21
 F src/test4.c d1e5a5e904d4b444cf572391fdcb017638e36ff7
 F src/test5.c a6d1ac55ac054d0b2b8f37b5e655b6c92645a013
-F src/test6.c cf6ab27a59e1ab64b011bb251ba600131e803e59
+F src/test6.c 846ed1ed2f470de9b1e205fe3878a12e237b3e19
 F src/test7.c 2e0781754905c8adc3268d8f0967e7633af58843
 F src/test8.c 99f70341d6ec480313775127f4cd14b4a47db557
 F src/test9.c bea1e8cf52aa93695487badedd6e1886c321ea60
@@ -296,8 +296,8 @@ F test/backup_malloc.test 7162d604ec2b4683c4b3799a48657fb8b5e2d450
 F test/badutf.test d5360fc31f643d37a973ab0d8b4fb85799c3169f
 F test/badutf2.test f5bc7f2d280670ecd79b9cf4f0f1760c607fe51f
 F test/between.test 16b1776c6323faadb097a52d673e8e3d8be7d070
-F test/bigfile.test a8ec8073a20207456dab01a29ad9cde42b0dd103
-F test/bigfile2.test f8e83eca9abef60692a34255a2ebcb96aff897fc
+F test/bigfile.test 82dfe93ee7eb9e2e05641afa2b39ffd947a92ff1
+F test/bigfile2.test 852f948cb492aadab45b58f4d2f3b0832a115cb0
 F test/bigrow.test f0aeb7573dcb8caaafea76454be3ade29b7fc747
 F test/bind.test 3c7b320969000c441a70952b0b15938fbb66237c
 F test/bindxfer.test efecd12c580c14df5f4ad3b3e83c667744a4f7e0
@@ -355,7 +355,7 @@ F test/crash.test 519dc29f6fea151f015a23236e555239353946eb
 F test/crash2.test 5b14d4eb58b880e231361d3b609b216acda86651
 F test/crash3.test 8f5de9d32ab9ab95475a9efe7f47a940aa889418
 F test/crash4.test fe2821baf37168dc59dd733dcf7dba2a401487bc
-F test/crash5.test 69226a1b948d8961395b7ad2a1df084c212ce8cf
+F test/crash5.test 13b9ca94e048194bca070e26160ce76b406c56be
 F test/crash6.test 4c56f1e40d0291e1110790a99807aa875b1647ba
 F test/crash7.test 6c6a369af266af2ef50ab34df8f94d719065e2c1
 F test/crash8.test 38767cb504bbe491de6be4a7006b154973a2309f
@@ -389,7 +389,7 @@ F test/e_resolve.test dcce9308fb13b934ce29591105d031d3e14fbba6
 F test/e_select.test f5d4b81205701deacfae42051ae200969c41d2c0
 F test/e_select2.test 5c3d3da19c7b3e90ae444579db2b70098599ab92
 F test/e_update.test 161d5dc6a3ed9dd08f5264d13e20735d7a89f00c
-F test/e_uri.test 6f35b491f80dac005c8144f38b2dfb4d96483596
+F test/e_uri.test e8b894474fdfe7b18b0c9cb2d911270de2ad64ce
 F test/e_vacuum.test 331da289ae186656cf5f2eb27f577a89c0c221af
 F test/enc.test e54531cd6bf941ee6760be041dff19a104c7acea
 F test/enc2.test 796c59832e2b9a52842f382ffda8f3e989db03ad
@@ -404,7 +404,7 @@ F test/exec.test e949714dc127eaa5ecc7d723efec1ec27118fdd7
 F test/exists.test 8f7b27b61c2fbe5822f0a1f899c715d14e416e30
 F test/expr.test 67c9fd6f8f829e239dc8b0f4a08a73c08b09196d
 F test/fallocate.test b5d34437bd7ab01d41b1464b8117aefd4d32160e
-F test/filectrl.test 4eb0178956ca25a756e6d79711a90fec7157b454
+F test/filectrl.test f0327bd804d9c7bd048fa7a151c5eab8e27df42b
 F test/filefmt.test ffa17b5aebc3eb4b1e3be1ccb5ee906ffbd97f6e
 F test/fkey1.test 01c7de578e11747e720c2d9aeef27f239853c4da
 F test/fkey2.test 080969fe219b3b082b0e097ac18c6af2e5b0631f
@@ -610,7 +610,7 @@ F test/misc3.test fe55130a43e444ee75e2156ff75dc96e964b5738
 F test/misc4.test 9c078510fbfff05a9869a0b6d8b86a623ad2c4f6
 F test/misc5.test 528468b26d03303b1f047146e5eefc941b9069f5
 F test/misc6.test 953cc693924d88e6117aeba16f46f0bf5abede91
-F test/misc7.test 6743b810884ef64ae14c07ad1f9f858c40c06100
+F test/misc7.test 4337d84e441f36cee62656f9f7ba8bc22a7ca721
 F test/misuse.test ba4fb5d1a6101d1c171ea38b3c613d0661c83054
 F test/multiplex.test e08cc7177bd6d85990ee1d71100bb6c684c02256
 F test/multiplex2.test 580ca5817c7edbe4cc68fa150609c9473393003a
@@ -625,7 +625,7 @@ F test/notnull.test cc7c78340328e6112a13c3e311a9ab3127114347
 F test/null.test a8b09b8ed87852742343b33441a9240022108993
 F test/openv2.test 0d3040974bf402e19b7df4b783e447289d7ab394
 F test/oserror.test 50417780d0e0d7cd23cf12a8277bb44024765df3
-F test/pager1.test efef0bb4035d7180ec58308f1d449475e4670b48
+F test/pager1.test 101032cb9d8093806600b343fdcf78ba51c1e3e9
 F test/pager2.test 745b911dde3d1f24ae0870bd433dfa83d7c658c1
 F test/pager3.test 3856d9c80839be0668efee1b74811b1b7f7fc95f
 F test/pagerfault.test 452f2cc23e3bfcfa935f4442aec1da4fe1dc0442
@@ -636,15 +636,15 @@ F test/pagesize.test 1dd51367e752e742f58e861e65ed7390603827a0
 F test/pcache.test 065aa286e722ab24f2e51792c1f093bf60656b16
 F test/pcache2.test a83efe2dec0d392f814bfc998def1d1833942025
 F test/permutations.test 2b5a1b64a8e5114757457fbce9010387d1fe7682
-F test/pragma.test f11c59ec935a52edb4d3d5676d456588121fcefa
+F test/pragma.test c51c148defe32bf4a419a522f95d26838d5cf677
 F test/pragma2.test 3a55f82b954242c642f8342b17dffc8b47472947
 F test/printf.test ec9870c4dce8686a37818e0bf1aba6e6a1863552
 F test/progress.test 5b075c3c790c7b2a61419bc199db87aaf48b8301
 F test/ptrchng.test ef1aa72d6cf35a2bbd0869a649b744e9d84977fc
 F test/quick.test 1681febc928d686362d50057c642f77a02c62e57
 F test/quota-glob.test 32901e9eed6705d68ca3faee2a06b73b57cb3c26
-F test/quota.test af47d25c166aa7b33ef25f21bb7f2afb29d82c77
-F test/quota2.test 1b8df088e604f2df573f96e726b5e518cb0cddaa
+F test/quota.test c2f778dab4c7fb07bcfa962cc5c762f36d8061dc
+F test/quota2.test 7e1c84f71f59388963fa8181a1292c87ae814d2d
 F test/quote.test 215897dbe8de1a6f701265836d6601cc6ed103e6
 F test/randexpr1.tcl 40dec52119ed3a2b8b2a773bce24b63a3a746459
 F test/randexpr1.test eda062a97e60f9c38ae8d806b03b0ddf23d796df
@@ -719,7 +719,7 @@ F test/tclsqlite.test 1597d353308531527583481d14d9da52ea8ed0af
 F test/tempdb.test 19d0f66e2e3eeffd68661a11c83ba5e6ace9128c
 F test/temptable.test 51edd31c65ed1560dd600b1796e8325df96318e2
 F test/temptrigger.test 26670ed7a39cf2296a7f0a9e0a1d7bdb7abe936d
-F test/tester.tcl 001051eaf28c1040800f588a64c63e0bd0e1f36b
+F test/tester.tcl 1fd85b1f508eab104085427c2c4b77c81ad5adb6
 F test/thread001.test 7cc2ce08f9cde95964736d11e91f9ab610f82f91
 F test/thread002.test e630504f8a06c00bf8bbe68528774dd96aeb2e58
 F test/thread003.test ee4c9efc3b86a6a2767516a37bd64251272560a7
@@ -753,7 +753,7 @@ F test/tkt-80ba201079.test 9eb040d81c404f56838a6af93593f42790def63f
 F test/tkt-80e031a00f.test 9a154173461a4dbe2de49cda73963e04842d52f7
 F test/tkt-8454a207b9.test c583a9f814a82a2b5ba95207f55001c9f0cd816c
 F test/tkt-91e2e8ba6f.test 08c4f94ae07696b05c9b822da0b4e5337a2f54c5
-F test/tkt-94c04eaadb.test be5ea61cb04dfdc047d19b5c5a9e75fa3da67a7f
+F test/tkt-94c04eaadb.test fa9c71192f7e2ea2d51bf078bc34e8da6088bf71
 F test/tkt-9d68c883.test 458f7d82a523d7644b54b497c986378a7d8c8b67
 F test/tkt-b1d3a2e531.test 610ef582413171b379652663111b1f996d9f8f78
 F test/tkt-b351d95f9.test d14a503c414c5c58fdde3e80f9a3cfef986498c0
@@ -880,7 +880,7 @@ F test/unique.test 083c7fff74695bcc27a71d75699deba3595bc9c2
 F test/unixexcl.test a9870e46cc6f8390a494513d4f2bf55b5a8b3e46
 F test/unordered.test f53095cee37851bf30130fa1bf299a8845e837bb
 F test/update.test 8bc86fd7ef1a00014f76dc6a6a7c974df4aef172
-F test/uri.test 0d289d32396bdbc491e9dc845f1a52e13f861e0b
+F test/uri.test 78e869db1ff6331157b08ef089b1b3e65819c74c
 F test/utf16align.test 54cd35a27c005a9b6e7815d887718780b6a462ae
 F test/vacuum.test ce91c39f7f91a4273bf620efad21086b5aa6ef1d
 F test/vacuum2.test af432e6e3bfc0ea20a80cb86a03c7d9876d38324
@@ -907,7 +907,7 @@ F test/vtabF.test fd5ad376f5a34fe0891df1f3cddb4fe7c3eb077e
 F test/vtab_alter.test 9e374885248f69e251bdaacf480b04a197f125e5
 F test/vtab_err.test 0d4d8eb4def1d053ac7c5050df3024fd47a3fbd8
 F test/vtab_shared.test 82f463886e18d7f8395a4b6167c91815efe54839
-F test/wal.test edefe316b4125d7f68004ea53c5e73c398d436cc
+F test/wal.test 2fbf4bbd0cb03aff6ada8150f29808c79370d50b
 F test/wal2.test 8871e7fd2c86711ff415a5817d68ea3101a15312
 F test/wal3.test 6504bbf348b2d6dfade64a064f1050fd617e8706
 F test/wal4.test 4744e155cd6299c6bd99d3eab1c82f77db9cdb3c
@@ -917,7 +917,7 @@ F test/wal7.test 2ae8f427d240099cc4b2dfef63cff44e2a68a1bd
 F test/wal8.test 5ab217d21f7e5e86af2933a4ffd0d8357cc2c0bd
 F test/wal_common.tcl a98f17fba96206122eff624db0ab13ec377be4fe
 F test/walbak.test b9f68e39646375c2b877be906babcc15d38b4877
-F test/walbig.test 0ab8a430ef420a3114f7092e0f30fc9585ffa155
+F test/walbig.test f437473a16cfb314867c6b5d1dbcd519e73e3434
 F test/walcksum.test f5447800a157c9e2234fbb8e80243f0813941bde
 F test/walcrash.test 4457436593be8c136f9148487c7dccd5e9013af2
 F test/walcrash2.test 019d60b89d96c1937adb2b30b850ac7e86e5a142
@@ -992,7 +992,7 @@ F tool/tostr.awk e75472c2f98dd76e06b8c9c1367f4ab07e122d06
 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
 F tool/warnings-clang.sh 9f406d66e750e8ac031c63a9ef3248aaa347ef2a
 F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
-P 99a9073b5e411ce94f38ce49608baaa15de8b850
-R d0dc4635c0ac977f7342c0a0dac9e48b
-U dan
-Z d6573fd4e75425ab6ee13bee3b518e09
+P b00ccda307caae597c143ab0586f90acb77f79cf
+R 73d2728d68d6731f1970faf64d7b9793
+U mistachkin
+Z 6e64cf730fea76ed50d0faa61eface55
index dda6c5d4144f7aa95e27b4eb7b00807dd9bffbf6..64173e45740135e0379a71abf816b60ee38d796c 100644 (file)
@@ -1 +1 @@
-b00ccda307caae597c143ab0586f90acb77f79cf
\ No newline at end of file
+82bcd7ec1531f6d71c079578434c58d3ce46a1de
\ No newline at end of file
index 89f4a090b0cab24aa0812cc6a63c55bfbf40e9ed..5f64cacca000b3003d3c8bb110ef8c8d80a7f0ca 100644 (file)
@@ -476,7 +476,15 @@ static int cfSync(sqlite3_file *pFile, int flags){
     if( nName>nCrashFile ) nName = nCrashFile;
   }
 
+#ifdef TRACE_CRASHTEST
+  printf("cfSync(): nName = %d, nCrashFile = %d, zName = %s, zCrashFile = %s\n",
+         nName, nCrashFile, zName, zCrashFile);
+#endif
+
   if( nName==nCrashFile && 0==memcmp(zName, zCrashFile, nName) ){
+#ifdef TRACE_CRASHTEST
+    printf("cfSync(): name matched, g.iCrash = %d\n", g.iCrash);
+#endif
     if( (--g.iCrash)==0 ) isCrash = 1;
   }
 
index 52d74edbe60d1f8e631d4f9a05494b4f955e6e4e..d9470acfba020ee19270995691663bc0b61c0540 100644 (file)
@@ -69,7 +69,7 @@ do_test bigfile-1.1 {
 # large files.  So skip all of the remaining tests in this file.
 #
 db close
-if {[catch {fake_big_file 4096 [pwd]/test.db} msg]} {
+if {[catch {fake_big_file 4096 [get_pwd]/test.db} msg]} {
   puts "**** Unable to create a file larger than 4096 MB. *****"
   finish_test
   return
@@ -109,7 +109,7 @@ do_test bigfile-1.4 {
 } $::MAGIC_SUM
 
 db close
-if {[catch {fake_big_file 8192 [pwd]/test.db}]} {
+if {[catch {fake_big_file 8192 [get_pwd]/test.db}]} {
   puts "**** Unable to create a file larger than 8192 MB. *****"
   finish_test
   return
@@ -148,7 +148,7 @@ do_test bigfile-1.9 {
 } $::MAGIC_SUM
 
 db close
-if {[catch {fake_big_file 16384 [pwd]/test.db}]} {
+if {[catch {fake_big_file 16384 [get_pwd]/test.db}]} {
   puts "**** Unable to create a file larger than 16384 MB. *****"
   finish_test
   return
index 9810d3a0f3f08f0c0e125db73cb4e4c3f39933ae..b13b75641b8812f4c62d6b212234ca703b0f32d6 100644 (file)
@@ -29,7 +29,7 @@ do_execsql_test 1.1 {
 # are actually in use and new pages will be appended to the file.
 #
 db close
-if {[catch {fake_big_file 4096 [pwd]/test.db} msg]} {
+if {[catch {fake_big_file 4096 [get_pwd]/test.db} msg]} {
   puts "**** Unable to create a file larger than 4096 MB. *****"
   finish_test
   return
index 42248d719e16a074a195e4fe4ae7b1cce5c99ef3..a7867123541dab14ad89ea9c8de09a33400a2dd6 100644 (file)
@@ -47,7 +47,7 @@ for {set ii 0} {$ii < 10} {incr ii} {
     do_test crash5-$ii.$jj.1 {
       crashsql -delay 1 -file test.db-journal -seed $ii -tclbody [join [list \
         [list set iFail $jj] {
-        sqlite3_crashparams 0 [file join [pwd] test.db-journal]
+        sqlite3_crashparams 0 [file join [get_pwd] test.db-journal]
       
         # Begin a transaction and evaluate a "CREATE INDEX" statement
         # with the iFail'th malloc() set to fail. This operation will
@@ -89,7 +89,7 @@ for {set ii 0} {$ii < 10} {incr ii} {
         # by writing page 4 out to the db file. If it crashes later on,
         # before syncing the journal... Corruption!
         #
-        sqlite3_crashparams 1 [file join [pwd] test.db-journal]
+        sqlite3_crashparams 1 [file join [get_pwd] test.db-journal]
         sqlite3_release_memory 8092
       }]] {}
       expr 1
index 5275ec1b54f8c09632b107e0c0d554905dfd21b0..8110d70497dfa612bac699b794e3ba2c14f27c64 100644 (file)
@@ -131,10 +131,10 @@ sqlite3_config_uri 1
 if {$tcl_platform(platform) == "unix"} {
   set flags [list SQLITE_OPEN_READWRITE SQLITE_OPEN_CREATE SQLITE_OPEN_URI]
   foreach {tn uri error} "
-    1    {file://localhost[pwd]/test.db}     {not an error}
-    2    {file://[pwd]/test.db}              {not an error}
-    3    {file://x[pwd]/test.db}             {invalid uri authority: x}
-    4    {file://invalid[pwd]/test.db}       {invalid uri authority: invalid}
+    1    {file://localhost[get_pwd]/test.db}   {not an error}
+    2    {file://[get_pwd]/test.db}            {not an error}
+    3    {file://x[get_pwd]/test.db}           {invalid uri authority: x}
+    4    {file://invalid[get_pwd]/test.db}     {invalid uri authority: invalid}
   " {
     do_test 2.$tn {
       set DB [sqlite3_open_v2 $uri $flags ""]
@@ -153,9 +153,9 @@ if {$tcl_platform(platform) == "unix"} {
 #   parameters passed through to the VFS xOpen() methods.
 #
 foreach {tn uri parse} "
-  1    {file:test.db#abc}     {[pwd]/test.db {}}
-  2    {file:test.db?a=b#abc} {[pwd]/test.db {a b}}
-  3    {file:test.db?a=b#?c=d} {[pwd]/test.db {a b}}
+  1    {file:test.db#abc}      {[get_pwd]/test.db {}}
+  2    {file:test.db?a=b#abc}  {[get_pwd]/test.db {a b}}
+  3    {file:test.db?a=b#?c=d} {[get_pwd]/test.db {a b}}
 " {
   do_filepath_test 3.$tn { parse_uri $uri } $parse
 }
@@ -171,7 +171,7 @@ foreach {tn uri parse} "
 # path is interpreted as a relative path.
 #
 foreach {tn uri parse} "
-  1    {file:test.db}             {[pwd]/test.db {}}
+  1    {file:test.db}             {[get_pwd]/test.db {}}
   2    {file:/test.db}            {/test.db {}}
   3    {file:///test.db}          {/test.db {}}
   4    {file://localhost/test.db} {/test.db {}}
index 9f077d523cabdac9fae4c5b7a867f02bc336d234..1e4ec59853e3c6521de9831da136c4d31ee7f003 100644 (file)
@@ -34,7 +34,7 @@ do_test filectrl-1.4 {
 do_test filectrl-1.5 {
   db close
   sqlite3 db test_control_lockproxy.db
-  file_control_lockproxy_test db [pwd]
+  file_control_lockproxy_test db [get_pwd]
 } {}
 db close
 forcedelete .test_control_lockproxy.db-conch test.proxy
index c69e60bb7cd31fbe5554b30a5e8b42d7bd10044d..146dca0412ec9969f989abe9fa25b5e6b4258650 100644 (file)
@@ -483,7 +483,7 @@ do_test misc7-20.1 {
 # Try to open a really long file name.
 #
 do_test misc7-21.1 {
-  set zFile [file join [pwd] "[string repeat abcde 104].db"]
+  set zFile [file join [get_pwd] "[string repeat abcde 104].db"]
   set rc [catch {sqlite3 db2 $zFile} msg]
   list $rc $msg
 } {1 {unable to open database file}}
index 415eb6ab8193ac0b87a9fe38d3adc9b0428d2fbe..3f3c12c5410254f4d88d2523495ce92d442c2c7d 100644 (file)
@@ -535,7 +535,7 @@ proc copy_on_mj_delete {method filename args} {
   return SQLITE_OK
 }
 
-set pwd [pwd]
+set pwd [get_pwd]
 foreach {tn1 tcl} {
   1 { set prefix "test.db" }
   2 { 
@@ -1001,7 +1001,7 @@ do_test pager1-5.4.1 {
   #      the master-journal name encoded as utf-8 with no nul term.
   #
   set mj_pointer [expr {
-    20 + [string length [pwd]] + [string length "/test.db-mjXXXXXX9XX"]
+    20 + [string length [get_pwd]] + [string length "/test.db-mjXXXXXX9XX"]
   }]
   expr {$::max_journal==(512+2*(1024+8)+$mj_pointer)}
 } 1
@@ -1020,7 +1020,7 @@ do_test pager1-5.4.2 {
   # written starting at the next (in this case 512 byte) sector boundary.
   #
   set mj_pointer [expr {
-    20 + [string length [pwd]] + [string length "/test.db-mjXXXXXX9XX"]
+    20 + [string length [get_pwd]] + [string length "/test.db-mjXXXXXX9XX"]
   }]
   expr {$::max_journal==(((512+2*(1024+8)+511)/512)*512 + $mj_pointer)}
 } 1
index 3f17bd742b032ddeebf4daaedb6e3f2e83cb66c3..bb10327c3acfb03fb191b57754fef5d786e6e2dc 100644 (file)
@@ -990,7 +990,7 @@ do_test pragma-9.4 {
 } {}
 ifcapable wsd {
   do_test pragma-9.5 {
-    set pwd [string map {' ''} [file nativename [pwd]]]
+    set pwd [string map {' ''} [file nativename [get_pwd]]]
     execsql "
       PRAGMA temp_store_directory='$pwd';
     "
@@ -999,7 +999,7 @@ ifcapable wsd {
     execsql { 
       PRAGMA temp_store_directory;
     }
-  } [list [file nativename [pwd]]]
+  } [list [file nativename [get_pwd]]]
   do_test pragma-9.7 {
     catchsql { 
       PRAGMA temp_store_directory='/NON/EXISTENT/PATH/FOOBAR';
index e12b83a429265b3b001744bee71726d8137b6234..ec89086d350cdb610f308971f7e4a2c9c6da87d9 100644 (file)
@@ -221,7 +221,7 @@ do_test quota-3.3.1 {
   execsql { INSERT INTO t1 VALUES(randomblob(500), randomblob(500)) } db2a
   execsql { INSERT INTO t1 VALUES(randomblob(500), randomblob(500)) } db2b
   set ::quota
-} [list [file join [pwd] test.db] 5120]
+} [list [file join [get_pwd] test.db] 5120]
 
 do_test quota-3.2.X {
   foreach db {db1a db2a db2b db1b} { catch { $db close } }
index cf3449dafc9cd43e41de4a985805b35924d11de7..fae4d2dbd711179023ce5512dba7115fdd673ddf 100644 (file)
@@ -28,7 +28,7 @@ foreach dir {quota2a quota2a/x1 quota2a/x2 quota2b quota2c} {
 # that is the same across platforms.
 #
 unset -nocomplain ::quota_pwd ::quota_mapping
-set ::quota_pwd [string map {\\ /} [pwd]]
+set ::quota_pwd [string map {\\ /} [get_pwd]]
 set ::quota_mapping [list $::quota_pwd PWD]
 proc standard_path {x} {
   set x [string map {\\ /} $x]
index e27a483f4164d97c9182ec51941ff909bc3bfc97..a1b61a7ae9c068fd3e8ed505cc569f5948c8085e 100644 (file)
@@ -19,6 +19,7 @@
 #
 # Commands to manipulate the db and the file-system at a high level:
 #
+#      get_pwd
 #      copy_file              FROM TO
 #      delete_file            FILENAME
 #      drop_all_tables        ?DB?
@@ -148,6 +149,18 @@ proc getFileRetryDelay {} {
   return $::G(file-retry-delay)
 }
 
+# Return the string representing the name of the current directory.  On
+# Windows, the result is "normalized" to whatever our parent command shell
+# is using to prevent case-mismatch issues.
+#
+proc get_pwd {} {
+  if {$::tcl_platform(platform) eq "windows"} {
+    return [string trim [exec -- $::env(ComSpec) /c echo %CD%]]
+  } else {
+    return [pwd]
+  }
+}
+
 # Copy file $from into $to. This is used because some versions of
 # TCL for windows (notably the 8.4.1 binary package shipped with the
 # current mingw release) have a broken "file copy" command.
@@ -984,7 +997,7 @@ proc crashsql {args} {
   # $crashfile gets compared to the native filename in 
   # cfSync(), which can be different then what TCL uses by
   # default, so here we force it to the "nativename" format.
-  set cfile [string map {\\ \\\\} [file nativename [file join [pwd] $crashfile]]]
+  set cfile [string map {\\ \\\\} [file nativename [file join [get_pwd] $crashfile]]]
 
   set f [open crash.tcl w]
   puts $f "sqlite3_crash_enable 1"
index cce8a98eb471f6071cfb14a7640b3671a1b9c38a..0063de664d633505716ad373b11d209b30b3c934 100644 (file)
@@ -27,7 +27,7 @@ do_test tkt-94c94-1.1 {
 
 # Grow the file to larger than 4096MB (2^32 bytes)
 db close
-if {[catch {fake_big_file 4096 [pwd]/test.db} msg]} {
+if {[catch {fake_big_file 4096 [get_pwd]/test.db} msg]} {
   puts "**** Unable to create a file larger than 4096 MB. *****"
   finish_test
   return
index 90074d0d272890cab9a1bdde7ab37dd02bc98fea..93a32b773e2ad11121f458ede54fa01eb3af42c4 100644 (file)
@@ -54,9 +54,9 @@ foreach {tn uri file} {
   
   if {$tcl_platform(platform)=="windows"} {
     if {$tn>14} break
-    set uri  [string map [list PWD /[pwd]] $uri]
+    set uri  [string map [list PWD /[get_pwd]] $uri]
   } else {
-    set uri  [string map [list PWD [pwd]] $uri]
+    set uri  [string map [list PWD [get_pwd]] $uri]
   }
 
   if {[file isdir $file]} {error "$file is a directory"}
@@ -274,9 +274,9 @@ foreach {tn uri res} {
 } {
 
   if {$tcl_platform(platform)=="windows"} {
-    set uri  [string map [list PWD [string range [pwd] 3 end]] $uri]
+    set uri  [string map [list PWD [string range [get_pwd] 3 end]] $uri]
   } else {
-    set uri  [string map [list PWD [string range [pwd] 1 end]] $uri]
+    set uri  [string map [list PWD [string range [get_pwd] 1 end]] $uri]
   }
 
   do_test 6.$tn {
index 3b63d3e792d2470309acf386abc799834a3e123b..9d2c6b14b49c4d1fe7f0bb294e472cab752acb57 100644 (file)
@@ -1477,7 +1477,7 @@ foreach pgsz {512 1024 2048 4096 8192 16384 32768 65536} {
 # Test that when 1 or more pages are recovered from a WAL file, 
 # sqlite3_log() is invoked to report this to the user.
 #
-set walfile [file nativename [file join [pwd] test.db-wal]]
+set walfile [file nativename [file join [get_pwd] test.db-wal]]
 catch {db close}
 forcedelete test.db
 do_test wal-23.1 {
index 092db2381b405f996b72292bbf41f79a694d11e3..c43b7e25033b691c05eaa5638d81e3745ef60c2e 100644 (file)
@@ -52,7 +52,7 @@ do_test walbig-1.0 {
 } {wal}
 
 db close
-if {[catch {fake_big_file 5000 [pwd]/test.db}]} {
+if {[catch {fake_big_file 5000 [get_pwd]/test.db}]} {
   puts "**** Unable to create a file larger than 5000 MB. *****"
   finish_test
   return