summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2013-12-12 09:13:39 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2013-12-12 09:13:39 (GMT)
commit6665e28f718ef3c403652ca551b6cadd3a3318aa (patch)
tree0452907d177676bbc3258a647e4f3a616961101a /tests
parent66b561ac5eb7ff1750f8003c6a14a2c7ae52963b (diff)
parent2b1bafdd8a2fca08d2d7b57f68cc803f83dba72e (diff)
downloadtcl-6665e28f718ef3c403652ca551b6cadd3a3318aa.zip
tcl-6665e28f718ef3c403652ca551b6cadd3a3318aa.tar.gz
tcl-6665e28f718ef3c403652ca551b6cadd3a3318aa.tar.bz2
merge trunk; document added instructions
Diffstat (limited to 'tests')
-rw-r--r--tests/compile.test30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/compile.test b/tests/compile.test
index 36e24de..2852bf2 100644
--- a/tests/compile.test
+++ b/tests/compile.test
@@ -167,6 +167,36 @@ test compile-3.6 {TclCompileCatchCmd: error in storing result [Bug 3098302]} {*}
-cleanup {namespace delete catchtest}
}
+test compile-3.7 {TclCompileCatchCmd: error in storing options [Bug 3098302]} {*}{
+ -setup {
+ namespace eval catchtest {
+ variable options1 {}
+ }
+ trace add variable catchtest::options1 write catchtest::failtrace
+ proc catchtest::failtrace {n1 n2 op} {
+ return -code error "trace on $n1 fails by request"
+ }
+ }
+ -body {
+ proc catchtest::x {} {
+ variable options1
+ set count 0
+ for {set i 0} {$i < 10} {incr i} {
+ set status2 [catch {
+ set status1 [catch {
+ return -code error -level 0 "original failure"
+ } result1 options1]
+ } result2 options2]
+ incr count
+ }
+ list $count $result2
+ }
+ catchtest::x
+ }
+ -result {10 {can't set "options1": trace on options1 fails by request}}
+ -cleanup {namespace delete catchtest}
+}
+
test compile-4.1 {TclCompileForCmd: command substituted test expression} {
set i 0
set j 0