namespace eval trd { variable tcltest variable extra variable all_configs # Tcl tests to run for various builds. # set tcltest(linux.Fast-One) veryquick set tcltest(linux.Debug-One) veryquick set tcltest(linux.Debug-Two) veryquick set tcltest(linux.Have-Not) veryquick set tcltest(linux.Secure-Delete) veryquick set tcltest(linux.Unlock-Notify) veryquick set tcltest(linux.User-Auth) veryquick set tcltest(linux.Update-Delete-Limit) veryquick set tcltest(linux.Extra-Robustness) veryquick set tcltest(linux.Device-Two) veryquick set tcltest(linux.No-lookaside) veryquick set tcltest(linux.Devkit) veryquick set tcltest(linux.Apple) veryquick set tcltest(linux.Sanitize) veryquick set tcltest(linux.Device-One) all set tcltest(linux.Default) all_plus_autovacuum_crash set tcltest(linux.Valgrind) valgrind set tcltest(osx.Locking-Style) veryquick set tcltest(osx.Have-Not) veryquick set tcltest(osx.Apple) all set tcltest(win.Stdcall) veryquick set tcltest(win.Have-Not) veryquick set tcltest(win.Windows-Memdebug) veryquick set tcltest(win.Windows-Win32Heap) veryquick set tcltest(win.Default) full # Extra [make xyz] tests that should be run for various builds. # set extra(linux.Check-Symbols) checksymbols set extra(linux.Fast-One) {fuzztest sourcetest} set extra(linux.Debug-One) {fuzztest sourcetest mptest} set extra(linux.Debug-Two) {fuzztest sourcetest} set extra(linux.Have-Not) {fuzztest sourcetest} set extra(linux.Secure-Delete) {fuzztest sourcetest} set extra(linux.Unlock-Notify) {fuzztest sourcetest} set extra(linux.Update-Delete-Limit) {fuzztest sourcetest} set extra(linux.Extra-Robustness) {fuzztest sourcetest} set extra(linux.Device-Two) {fuzztest sourcetest threadtest} set extra(linux.No-lookaside) {fuzztest sourcetest} set extra(linux.Devkit) {fuzztest sourcetest} set extra(linux.Apple) {fuzztest sourcetest} set extra(linux.Sanitize) {fuzztest sourcetest} set extra(linux.Default) {fuzztest sourcetest threadtest} set extra(osx.Apple) {fuzztest threadtest} set extra(osx.Have-Not) {fuzztest sourcetest} set extra(osx.Locking-Style) {mptest fuzztest sourcetest} set extra(win.Default) mptest set extra(win.Stdcall) {fuzztest sourcetest} set extra(win.Windows-Memdebug) {fuzztest sourcetest} set extra(win.Windows-Win32Heap) {fuzztest sourcetest} set extra(win.Have-Not) {fuzztest sourcetest} # The following mirrors the set of test suites invoked by "all.test". # set all_configs { full no_optimization memsubsys1 memsubsys2 singlethread multithread onefile utf16 exclusive persistent_journal persistent_journal_error no_journal no_journal_error autovacuum_ioerr no_mutex_try fullmutex journaltest inmemory_journal pcache0 pcache10 pcache50 pcache90 pcache100 prepare mmap } } #------------------------------------------------------------------------- proc trd_import {} { uplevel { variable ::trd::tcltest variable ::trd::extra variable ::trd::all_configs } } proc trd_builds {platform} { trd_import set klist [lsort -uniq [concat \ [array names tcltest ${platform}.*] \ [array names extra ${platform}.*] \ ]] if {[llength $klist]==0} { error "no such platform: $platform" } set ret "" foreach k $klist { foreach {p c} [split $k "."] {} lappend ret $c } set ret } proc trd_configs {platform build} { trd_import set clist [list] if {[info exists tcltest($platform.$build)]} { set clist $tcltest($platform.$build) if {$clist=="all"} { set clist $all_configs } elseif {$clist=="all_plus_autovacuum_crash"} { set clist [concat $all_configs autovacuum_crash] } } set clist } proc trd_extras {platform build} { trd_import set elist [list] if {[info exists extra($platform.$build)]} { set elist $extra($platform.$build) } set elist } proc trd_all_configs {} { trd_import set all_configs }