| Index: third_party/sqlite/src/test/loadext.test | 
| diff --git a/third_party/sqlite/src/test/loadext.test b/third_party/sqlite/src/test/loadext.test | 
| index db5745b45c183e8e6fd940f100640b9a8c42b352..7ba4c0cf77476fe98a6e9ba3ab0f5f6876879c75 100644 | 
| --- a/third_party/sqlite/src/test/loadext.test | 
| +++ b/third_party/sqlite/src/test/loadext.test | 
| @@ -23,7 +23,7 @@ ifcapable !load_ext { | 
|  | 
| # The name of the test extension varies by operating system. | 
| # | 
| -if {$::tcl_platform(platform) eq "windows" || $::tcl_platform(platform) eq "os2"} { | 
| +if {$::tcl_platform(platform) eq "windows"} { | 
| set testextension ./testloadext.dll | 
| } else { | 
| set testextension ./libtestloadext.so | 
| @@ -66,6 +66,12 @@ if {$::tcl_platform(os) eq "Darwin"} { | 
| set dlerror_nosymbol   {dlsym(XXX, %2$s): symbol not found} | 
| } | 
|  | 
| +if {$::tcl_platform(platform) eq "windows"} { | 
| +  set dlerror_nosuchfile {The specified module could not be found.*} | 
| +  set dlerror_notadll    {%%1 is not a valid Win32 application.*} | 
| +  set dlerror_nosymbol   {The specified procedure could not be found.*} | 
| +} | 
| + | 
| # Make sure the test extension actually exists.  If it does not | 
| # exist, try to create it.  If unable to create it, then skip this | 
| # test file. | 
| @@ -134,25 +140,27 @@ sqlite3_enable_load_extension db 1 | 
| # Try to load an extension for which the file does not exist. | 
| # | 
| do_test loadext-2.1 { | 
| -  file delete -force ${testextension}xx | 
| +  forcedelete ${testextension}xx | 
| set rc [catch { | 
| sqlite3_load_extension db "${testextension}xx" | 
| } msg] | 
| list $rc $msg | 
| -} [list 1 [format $dlerror_nosuchfile ${testextension}xx]] | 
| +} /[list 1 [format $dlerror_nosuchfile ${testextension}xx.*]]/ | 
|  | 
| # Try to load an extension for which the file is not a shared object | 
| # | 
| do_test loadext-2.2 { | 
| -  set fd [open "${testextension}xx" w] | 
| +  set fd [open "./notasharedlib.so" w] | 
| +  puts $fd blah | 
| +  close $fd | 
| +  set fd [open "./notasharedlib.dll" w] | 
| puts $fd blah | 
| close $fd | 
| set rc [catch { | 
| -    sqlite3_load_extension db "${testextension}xx" | 
| +    sqlite3_load_extension db "./notasharedlib" | 
| } msg] | 
| -  set expected_error_pattern [format $dlerror_notadll ${testextension}xx] | 
| -  list $rc [string match $expected_error_pattern $msg] | 
| -} [list 1 1] | 
| +  list $rc $msg | 
| +} /[list 1 [format $dlerror_notadll ./notasharedlib.*]]/ | 
|  | 
| # Try to load an extension for which the file is present but the | 
| # entry point is not. | 
| @@ -165,7 +173,7 @@ do_test loadext-2.3 { | 
| regsub {0x[1234567890abcdefABCDEF]*} $msg XXX msg | 
| } | 
| list $rc $msg | 
| -} [list 1 [format $dlerror_nosymbol $testextension icecream]] | 
| +} /[list 1 [format $dlerror_nosymbol $testextension icecream]]/ | 
|  | 
| # Try to load an extension for which the entry point fails (returns non-zero) | 
| # | 
| @@ -196,7 +204,7 @@ do_test loadext-3.2 { | 
| regsub {0x[1234567890abcdefABCDEF]*} $res XXX res | 
| } | 
| set res | 
| -} [list 1 [format $dlerror_nosymbol $testextension sqlite3_extension_init]] | 
| +} /[list 1 [format $dlerror_nosymbol $testextension sqlite3_.*_init]]/ | 
| do_test loadext-3.3 { | 
| catchsql { | 
| SELECT load_extension($::testextension,'testloadext_init') | 
| @@ -265,10 +273,17 @@ do_malloc_test loadext-5 -tclprep { | 
| } -tclbody { | 
| if {[autoinstall_test_functions]==7} {error "out of memory"} | 
| } | 
| -do_malloc_test loadext-6 -tclbody { | 
| -  db enable_load_extension 1 | 
| -  sqlite3_load_extension db $::testextension testloadext_init | 
| + | 
| +# On Windows, this malloc test must be skipped because the winDlOpen | 
| +# function itself can fail due to "out of memory" conditions. | 
| +# | 
| +if {$::tcl_platform(platform) ne "windows"} { | 
| +  do_malloc_test loadext-6 -tclbody { | 
| +    db enable_load_extension 1 | 
| +    sqlite3_load_extension db $::testextension testloadext_init | 
| +  } | 
| } | 
| + | 
| autoinstall_test_functions | 
|  | 
| finish_test | 
|  |