1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
--- test/tester.tcl
+++ test/tester.tcl
@@ -266,16 +266,21 @@
proc set_test_counter {counter args} {
if {[llength $args]} {
set ::TC($counter) [lindex $args 0]
}
set ::TC($counter)
}
}
+# Pull in the list of test cases that are excluded and ignored when running
+# with Berkeley DB.
+#
+source $testdir/../../../../test/sql/bdb_excl.test
+
# Record the fact that a sequence of tests were omitted.
#
proc omit_test {name reason} {
set omitList [set_test_counter omit_list]
lappend omitList [list $name $reason]
set_test_counter omit_list $omitList
}
@@ -300,22 +305,29 @@
set_test_counter count [expr [set_test_counter count] + 1]
}
# Invoke the do_test procedure to run a single test
#
proc do_test {name cmd expected} {
- global argv cmdlinearg
+ global argv cmdlinearg IGNORE_CASES EXCLUDE_CASES
fix_testname name
sqlite3_memdebug_settitle $name
+ foreach pattern $EXCLUDE_CASES {
+ if {[string match $pattern $name]} {
+ puts "$name... Skipping"
+ flush stdout
+ return
+ }
+ }
# if {[llength $argv]==0} {
# set go 1
# } else {
# set go 0
# foreach pattern $argv {
# if {[string match $pattern $name]} {
# set go 1
# break
@@ -329,18 +341,29 @@
incr_ntest
puts -nonewline $name...
flush stdout
if {[catch {uplevel #0 "$cmd;\n"} result]} {
puts "\nError: $result"
fail_test $name
} elseif {[string compare $result $expected]} {
- puts "\nExpected: \[$expected\]\n Got: \[$result\]"
- fail_test $name
+ set ignore 0
+ foreach pattern $IGNORE_CASES {
+ if {[string match $pattern $name]} {
+ set ignore 1
+ break
+ }
+ }
+ if {$ignore} {
+ puts " Ignored"
+ } else {
+ puts "\nExpected: \[$expected\]\n Got: \[$result\]"
+ fail_test $name
+ }
} else {
puts " Ok"
}
flush stdout
}
proc fix_testname {varname} {
upvar $varname testname
|