| Index: third_party/sqlite/sqlite-src-3080704/test/releasetest.tcl
|
| diff --git a/third_party/sqlite/sqlite-src-3080704/test/releasetest.tcl b/third_party/sqlite/sqlite-src-3080704/test/releasetest.tcl
|
| deleted file mode 100644
|
| index d2a1bd2bb0c54606a3c0d655ae82eaff0d9b49b2..0000000000000000000000000000000000000000
|
| --- a/third_party/sqlite/sqlite-src-3080704/test/releasetest.tcl
|
| +++ /dev/null
|
| @@ -1,386 +0,0 @@
|
| -
|
| -set rcsid {$Id: $}
|
| -
|
| -# Documentation for this script. This may be output to stderr
|
| -# if the script is invoked incorrectly. See the [process_options]
|
| -# proc below.
|
| -#
|
| -set ::USAGE_MESSAGE {
|
| -This Tcl script is used to test the various configurations required
|
| -before releasing a new version. Supported command line options (all
|
| -optional) are:
|
| -
|
| - -makefile PATH-TO-MAKEFILE (default "releasetest.mk")
|
| - -platform PLATFORM (see below)
|
| - -quick BOOLEAN (default "0")
|
| - -config CONFIGNAME (Run only CONFIGNAME)
|
| -
|
| -The default value for -makefile is "./releasetest.mk".
|
| -
|
| -The script determines the default value for -platform using the
|
| -$tcl_platform(os) and $tcl_platform(machine) variables. Supported
|
| -platforms are "Linux-x86", "Linux-x86_64" and "Darwin-i386".
|
| -
|
| -If the -quick option is set to true, then the "veryquick.test" script
|
| -is run for all compilation configurations. Otherwise, sometimes "all.test"
|
| -is run, sometimes "veryquick.test".
|
| -
|
| -Almost any SQLite makefile (except those generated by configure - see below)
|
| -should work. The following properties are required:
|
| -
|
| - * The makefile should support the "fulltest" target.
|
| - * The makefile should support the variable "OPTS" as a way to pass
|
| - options from the make command line to lemon and the C compiler.
|
| -
|
| -More precisely, the following invocation must be supported:
|
| -
|
| - make -f $::MAKEFILE fulltest OPTS="-DSQLITE_SECURE_DELETE=1 -DSQLITE_DEBUG=1"
|
| -
|
| -Makefiles generated by the sqlite configure program cannot be used as
|
| -they do not respect the OPTS variable.
|
| -
|
| -Example Makefile contents:
|
| -
|
| - ########################################################
|
| - TOP=/home/dan/work/sqlite/sqlite
|
| -
|
| - TCL_FLAGS=-I/home/dan/tcl/include
|
| - LIBTCL=-L/home/dan/tcl/lib -ltcl
|
| -
|
| - BCC = gcc
|
| - TCC = gcc -ansi -g $(CFLAGS)
|
| - NAWK = awk
|
| - AR = ar cr
|
| - RANLIB = ranlib
|
| - THREADLIB = -lpthread -ldl
|
| - include $(TOP)/main.mk
|
| - ########################################################
|
| -}
|
| -
|
| -array set ::Configs {
|
| - "Default" {
|
| - -O2
|
| - }
|
| - "Ftrapv" {
|
| - -O2 -ftrapv
|
| - -DSQLITE_MAX_ATTACHED=55
|
| - -DSQLITE_TCL_DEFAULT_FULLMUTEX=1
|
| - }
|
| - "Unlock-Notify" {
|
| - -O2
|
| - -DSQLITE_ENABLE_UNLOCK_NOTIFY
|
| - -DSQLITE_THREADSAFE
|
| - -DSQLITE_TCL_DEFAULT_FULLMUTEX=1
|
| - }
|
| - "Secure-Delete" {
|
| - -O2
|
| - -DSQLITE_SECURE_DELETE=1
|
| - -DSQLITE_SOUNDEX=1
|
| - }
|
| - "Update-Delete-Limit" {
|
| - -O2
|
| - -DSQLITE_DEFAULT_FILE_FORMAT=4
|
| - -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT=1
|
| - }
|
| - "Check-Symbols" {
|
| - -DSQLITE_MEMDEBUG=1
|
| - -DSQLITE_ENABLE_FTS3_PARENTHESIS=1
|
| - -DSQLITE_ENABLE_FTS3=1
|
| - -DSQLITE_ENABLE_RTREE=1
|
| - -DSQLITE_ENABLE_MEMSYS5=1
|
| - -DSQLITE_ENABLE_MEMSYS3=1
|
| - -DSQLITE_ENABLE_COLUMN_METADATA=1
|
| - -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT=1
|
| - -DSQLITE_SECURE_DELETE=1
|
| - -DSQLITE_SOUNDEX=1
|
| - -DSQLITE_ENABLE_ATOMIC_WRITE=1
|
| - -DSQLITE_ENABLE_IOTRACE=1
|
| - -DSQLITE_ENABLE_MEMORY_MANAGEMENT=1
|
| - -DSQLITE_ENABLE_OVERSIZE_CELL_CHECK=1
|
| - }
|
| - "Debug-One" {
|
| - -O2
|
| - -DSQLITE_DEBUG=1
|
| - -DSQLITE_MEMDEBUG=1
|
| - -DSQLITE_MUTEX_NOOP=1
|
| - -DSQLITE_TCL_DEFAULT_FULLMUTEX=1
|
| - -DSQLITE_ENABLE_FTS3=1
|
| - -DSQLITE_ENABLE_RTREE=1
|
| - -DSQLITE_ENABLE_MEMSYS5=1
|
| - -DSQLITE_ENABLE_MEMSYS3=1
|
| - -DSQLITE_ENABLE_COLUMN_METADATA=1
|
| - }
|
| - "Device-One" {
|
| - -O2
|
| - -DSQLITE_DEBUG=1
|
| - -DSQLITE_DEFAULT_AUTOVACUUM=1
|
| - -DSQLITE_DEFAULT_CACHE_SIZE=64
|
| - -DSQLITE_DEFAULT_PAGE_SIZE=1024
|
| - -DSQLITE_DEFAULT_TEMP_CACHE_SIZE=32
|
| - -DSQLITE_DISABLE_LFS=1
|
| - -DSQLITE_ENABLE_ATOMIC_WRITE=1
|
| - -DSQLITE_ENABLE_IOTRACE=1
|
| - -DSQLITE_ENABLE_MEMORY_MANAGEMENT=1
|
| - -DSQLITE_MAX_PAGE_SIZE=4096
|
| - -DSQLITE_OMIT_LOAD_EXTENSION=1
|
| - -DSQLITE_OMIT_PROGRESS_CALLBACK=1
|
| - -DSQLITE_OMIT_VIRTUALTABLE=1
|
| - -DSQLITE_TEMP_STORE=3
|
| - }
|
| - "Device-Two" {
|
| - -DSQLITE_4_BYTE_ALIGNED_MALLOC=1
|
| - -DSQLITE_DEFAULT_AUTOVACUUM=1
|
| - -DSQLITE_DEFAULT_CACHE_SIZE=1000
|
| - -DSQLITE_DEFAULT_LOCKING_MODE=0
|
| - -DSQLITE_DEFAULT_PAGE_SIZE=1024
|
| - -DSQLITE_DEFAULT_TEMP_CACHE_SIZE=1000
|
| - -DSQLITE_DISABLE_LFS=1
|
| - -DSQLITE_ENABLE_FTS3=1
|
| - -DSQLITE_ENABLE_MEMORY_MANAGEMENT=1
|
| - -DSQLITE_ENABLE_RTREE=1
|
| - -DSQLITE_MAX_COMPOUND_SELECT=50
|
| - -DSQLITE_MAX_PAGE_SIZE=32768
|
| - -DSQLITE_OMIT_TRACE=1
|
| - -DSQLITE_TEMP_STORE=3
|
| - -DSQLITE_THREADSAFE=2
|
| - }
|
| - "Locking-Style" {
|
| - -O2
|
| - -DSQLITE_ENABLE_LOCKING_STYLE=1
|
| - }
|
| - "OS-X" {
|
| - -DSQLITE_OMIT_LOAD_EXTENSION=1
|
| - -DSQLITE_DEFAULT_MEMSTATUS=0
|
| - -DSQLITE_THREADSAFE=2
|
| - -DSQLITE_OS_UNIX=1
|
| - -DSQLITE_ENABLE_LOCKING_STYLE=1
|
| - -DUSE_PREAD=1
|
| - -DSQLITE_ENABLE_RTREE=1
|
| - -DSQLITE_ENABLE_FTS3=1
|
| - -DSQLITE_ENABLE_FTS3_PARENTHESIS=1
|
| - -DSQLITE_DEFAULT_CACHE_SIZE=1000
|
| - -DSQLITE_MAX_LENGTH=2147483645
|
| - -DSQLITE_MAX_VARIABLE_NUMBER=500000
|
| - -DSQLITE_DEBUG=1
|
| - -DSQLITE_PREFER_PROXY_LOCKING=1
|
| - }
|
| - "Extra-Robustness" {
|
| - -DSQLITE_ENABLE_OVERSIZE_CELL_CHECK=1
|
| - -DSQLITE_MAX_ATTACHED=62
|
| - }
|
| - "Devkit" {
|
| - -DSQLITE_DEFAULT_FILE_FORMAT=4
|
| - -DSQLITE_MAX_ATTACHED=30
|
| - -DSQLITE_ENABLE_COLUMN_METADATA
|
| - -DSQLITE_ENABLE_FTS4
|
| - -DSQLITE_ENABLE_FTS4_PARENTHESIS
|
| - -DSQLITE_DISABLE_FTS4_DEFERRED
|
| - -DSQLITE_ENABLE_RTREE
|
| - }
|
| -
|
| - "No-lookaside" {
|
| - -DSQLITE_TEST_REALLOC_STRESS=1
|
| - -DSQLITE_OMIT_LOOKASIDE=1
|
| - -DHAVE_USLEEP=1
|
| - }
|
| -}
|
| -
|
| -array set ::Platforms {
|
| - Linux-x86_64 {
|
| - "Check-Symbols" checksymbols
|
| - "Debug-One" test
|
| - "Secure-Delete" test
|
| - "Unlock-Notify" "QUICKTEST_INCLUDE=notify2.test test"
|
| - "Update-Delete-Limit" test
|
| - "Extra-Robustness" test
|
| - "Device-Two" test
|
| - "Ftrapv" test
|
| - "No-lookaside" test
|
| - "Devkit" test
|
| - "Default" "threadtest fulltest"
|
| - "Device-One" fulltest
|
| - }
|
| - Linux-i686 {
|
| - "Devkit" test
|
| - "Unlock-Notify" "QUICKTEST_INCLUDE=notify2.test test"
|
| - "Device-One" test
|
| - "Device-Two" test
|
| - "Default" "threadtest fulltest"
|
| - }
|
| - Darwin-i386 {
|
| - "Locking-Style" test
|
| - "OS-X" "threadtest fulltest"
|
| - }
|
| -}
|
| -
|
| -
|
| -# End of configuration section.
|
| -#########################################################################
|
| -#########################################################################
|
| -
|
| -foreach {key value} [array get ::Platforms] {
|
| - foreach {v t} $value {
|
| - if {0==[info exists ::Configs($v)]} {
|
| - puts stderr "No such configuration: \"$v\""
|
| - exit -1
|
| - }
|
| - }
|
| -}
|
| -
|
| -proc run_test_suite {name testtarget config} {
|
| -
|
| - # 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.
|
| - #
|
| - set cflags ""
|
| - set opts ""
|
| - foreach arg $config {
|
| - if {[string match -D* $arg]} {
|
| - lappend opts $arg
|
| - } else {
|
| - lappend cflags $arg
|
| - }
|
| - }
|
| -
|
| - set cflags [join $cflags " "]
|
| - set opts [join $opts " "]
|
| - append opts " -DSQLITE_NO_SYNC=1 -DHAVE_USLEEP"
|
| -
|
| - # Set the sub-directory to use.
|
| - #
|
| - set dir [string tolower [string map {- _ " " _} $name]]
|
| -
|
| - if {$::tcl_platform(platform)=="windows"} {
|
| - append opts " -DSQLITE_OS_WIN=1"
|
| - } else {
|
| - append opts " -DSQLITE_OS_UNIX=1"
|
| - }
|
| -
|
| - # Run the test.
|
| - #
|
| - set makefile [file normalize $::MAKEFILE]
|
| - file mkdir $dir
|
| - puts -nonewline "Testing configuration \"$name\" (logfile=$dir/test.log)..."
|
| - flush stdout
|
| -
|
| - set makecmd [concat \
|
| - [list exec make -C $dir -f $makefile clean] \
|
| - $testtarget \
|
| - [list CFLAGS=$cflags OPTS=$opts >& $dir/test.log] \
|
| - ]
|
| -
|
| - set tm1 [clock seconds]
|
| - set rc [catch $makecmd]
|
| - set tm2 [clock seconds]
|
| -
|
| - set minutes [expr {($tm2-$tm1)/60}]
|
| - set seconds [expr {($tm2-$tm1)%60}]
|
| - puts -nonewline [format " (%d:%.2d) " $minutes $seconds]
|
| - if {$rc} {
|
| - puts "FAILED."
|
| - } else {
|
| - puts "Ok."
|
| - }
|
| -}
|
| -
|
| -
|
| -# This proc processes the command line options passed to this script.
|
| -# Currently the only option supported is "-makefile", default
|
| -# "releasetest.mk". Set the ::MAKEFILE variable to the value of this
|
| -# option.
|
| -#
|
| -proc process_options {argv} {
|
| - set ::MAKEFILE releasetest.mk ;# Default value
|
| - set ::QUICK 0 ;# Default value
|
| - set config {}
|
| - set platform $::tcl_platform(os)-$::tcl_platform(machine)
|
| -
|
| - for {set i 0} {$i < [llength $argv]} {incr i} {
|
| - switch -- [lindex $argv $i] {
|
| - -makefile {
|
| - incr i
|
| - set ::MAKEFILE [lindex $argv $i]
|
| - }
|
| -
|
| - -platform {
|
| - incr i
|
| - set platform [lindex $argv $i]
|
| - }
|
| -
|
| - -quick {
|
| - incr i
|
| - set ::QUICK [lindex $argv $i]
|
| - }
|
| -
|
| - -config {
|
| - incr i
|
| - set config [lindex $argv $i]
|
| - }
|
| -
|
| - default {
|
| - puts stderr ""
|
| - puts stderr [string trim $::USAGE_MESSAGE]
|
| - exit -1
|
| - }
|
| - }
|
| - }
|
| -
|
| - set ::MAKEFILE [file normalize $::MAKEFILE]
|
| -
|
| - if {0==[info exists ::Platforms($platform)]} {
|
| - puts "Unknown platform: $platform"
|
| - puts -nonewline "Set the -platform option to "
|
| - set print [list]
|
| - foreach p [array names ::Platforms] {
|
| - lappend print "\"$p\""
|
| - }
|
| - lset print end "or [lindex $print end]"
|
| - puts "[join $print {, }]."
|
| - exit
|
| - }
|
| -
|
| - if {$config!=""} {
|
| - if {[llength $config]==1} {lappend config fulltest}
|
| - set ::CONFIGLIST $config
|
| - } else {
|
| - set ::CONFIGLIST $::Platforms($platform)
|
| - }
|
| - puts "Running the following configurations for $platform:"
|
| - puts " [string trim $::CONFIGLIST]"
|
| -}
|
| -
|
| -# Main routine.
|
| -#
|
| -proc main {argv} {
|
| -
|
| - # Process any command line options.
|
| - process_options $argv
|
| -
|
| - foreach {zConfig target} $::CONFIGLIST {
|
| - if {$::QUICK} {set target test}
|
| - set config_options $::Configs($zConfig)
|
| -
|
| - run_test_suite $zConfig $target $config_options
|
| -
|
| - # If the configuration included the SQLITE_DEBUG option, then remove
|
| - # it and run veryquick.test. If it did not include the SQLITE_DEBUG option
|
| - # add it and run veryquick.test.
|
| - if {$target!="checksymbols"} {
|
| - set debug_idx [lsearch -glob $config_options -DSQLITE_DEBUG*]
|
| - if {$debug_idx < 0} {
|
| - run_test_suite "${zConfig}_debug" test [
|
| - concat $config_options -DSQLITE_DEBUG=1
|
| - ]
|
| - } else {
|
| - run_test_suite "${zConfig}_ndebug" test [
|
| - lreplace $config_options $debug_idx $debug_idx
|
| - ]
|
| - }
|
| - }
|
| -
|
| - }
|
| -}
|
| -
|
| -main $argv
|
|
|