Draft of changes necessary to make releasetest work on Windows via MinGW.

FossilOrigin-Name: af166c5c64216d845269410d1ac2493310694b86
This commit is contained in:
mistachkin 2014-12-23 20:22:57 +00:00
parent 00fa334a0b
commit 7284056ad6
3 changed files with 42 additions and 18 deletions

View File

@ -1,5 +1,5 @@
C Add\sthe\s"checksymbols"\starget\sto\sMakefile.in
D 2014-12-23T19:52:26.814
C Draft\sof\schanges\snecessary\sto\smake\sreleasetest\swork\son\sWindows\svia\sMinGW.
D 2014-12-23T20:22:57.094
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
F Makefile.in 37aec21b4fbb469ba42985a4454adf424c84f8e4
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@ -801,7 +801,7 @@ F test/randexpr1.test eda062a97e60f9c38ae8d806b03b0ddf23d796df
F test/rdonly.test dd30a4858d8e0fbad2304c2bd74a33d4df36412a
F test/regexp1.test 497ea812f264d12b6198d6e50a76be4a1973a9d8
F test/reindex.test 44edd3966b474468b823d481eafef0c305022254
F test/releasetest.tcl b57a20ccc7aa64be8b52906d211b1ed4c0998cc2
F test/releasetest.tcl ed2f3293c318e0c80f6dfd099dde529f60e6d048
F test/resolver01.test 33abf37ff8335e6bf98f2b45a0af3e06996ccd9a
F test/rollback.test 458fe73eb3ffdfdf9f6ba3e9b7350a6220414dea
F test/rollback2.test fc14cf6d1a2b250d2735ef16124b971bce152f14
@ -1233,7 +1233,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
F tool/warnings.sh 0abfd78ceb09b7f7c27c688c8e3fe93268a13b32
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
P 7c85e831153f9aef2afaf981d53db38a28091be5
R c05ea3aeb104c4afb51e4fdc443cf2a6
U drh
Z 02c9f8fd295b123fa2397cb2b2094ed6
P 5bd73dba5e278db81f7d728c75e3142c02d37ff7
R 9f40447b09389fdd147e8f95f68f235c
U mistachkin
Z 2d56af309587de973049953da48ad3d0

View File

@ -1 +1 @@
5bd73dba5e278db81f7d728c75e3142c02d37ff7
af166c5c64216d845269410d1ac2493310694b86

View File

@ -6,7 +6,7 @@
#
set ::USAGE_MESSAGE {
This Tcl script is used to test the various configurations required
before releasing a new version. Supported command line options (all
before releasing a new version. Supported command line options (all
optional) are:
--srcdir TOP-OF-SQLITE-TREE (see below)
@ -14,14 +14,14 @@ optional) are:
--config CONFIGNAME (Run only CONFIGNAME)
--quick (Run "veryquick.test" only)
--buildonly (Just build testfixture - do not run)
--dryrun (Print what would have happened)
--dryrun (Print what would have happened)
--info (Show diagnostic info)
The default value for --srcdir is the parent of the directory holding
this script.
The script determines the default value for --platform using the
$tcl_platform(os) and $tcl_platform(machine) variables. Supported
$tcl_platform(os) and $tcl_platform(machine) variables. Supported
platforms are "Linux-x86", "Linux-x86_64" and "Darwin-i386".
Every test begins with a fresh run of the configure script at the top
@ -132,7 +132,7 @@ array set ::Configs {
-DSQLITE_DEFAULT_CACHE_SIZE=1000
-DSQLITE_MAX_LENGTH=2147483645
-DSQLITE_MAX_VARIABLE_NUMBER=500000
-DSQLITE_DEBUG=1
-DSQLITE_DEBUG=1
-DSQLITE_PREFER_PROXY_LOCKING=1
}
"Extra-Robustness" {
@ -182,6 +182,9 @@ array set ::Platforms {
"Locking-Style" test
"OS-X" "threadtest fulltest"
}
"Windows NT-intel" {
"Default" "threadtest fulltest"
}
}
@ -199,7 +202,7 @@ foreach {key value} [array get ::Platforms] {
}
proc run_test_suite {name testtarget config} {
# Tcl variable $opts is used to build up the value used to set the
# Tcl variable $opts is used to build up the value used to set the
# OPTS Makefile variable. Variable $cflags holds the value for
# CFLAGS. The makefile will pass OPTS to both gcc and lemon, but
# CFLAGS is only passed to gcc.
@ -238,10 +241,9 @@ proc run_test_suite {name testtarget config} {
set tm1 [clock seconds]
set origdir [pwd]
dryrun cd $dir
set rc [catch [list dryrun exec $::SRCDIR/configure >& test.log]]
set rc [catch [configureCommand]]
if {!$rc} {
set rc [catch [list dryrun exec make clean $testtarget \
CFLAGS=$cflags OPTS=$opts >>& test.log]]
set rc [catch [makeCommand $testtarget $cflags $opts]]
}
set tm2 [clock seconds]
dryrun cd $origdir
@ -259,8 +261,30 @@ proc run_test_suite {name testtarget config} {
}
}
# The following procedure returns the "configure" command to be exectued for
# the current platform, which may be Windows (via MinGW, etc).
#
proc configureCommand {} {
set result [list dryrun exec]
if {$::tcl_platform(platform)=="windows"} {
lappend result sh
}
lappend result $::SRCDIR/configure >& test.log
}
# The following procedure returns the "make" command to be executed for the
# specified targets, compiler flags, and options.
#
proc makeCommand { targets cflags opts } {
set result [list dryrun exec make clean]
foreach target $targets {
lappend result $target
}
lappend result CFLAGS=$cflags OPTS=$opts >>& test.log
}
# The following procedure either prints its arguments (if ::DRYRUN is true)
# or executes the command of its arguments in the calling context
# or executes the command of its arguments in the calling context
# (if ::DRYRUN is false).
#
proc dryrun {args} {
@ -335,7 +359,7 @@ proc process_options {argv} {
}
exit
}
default {
puts stderr ""
puts stderr [string trim $::USAGE_MESSAGE]