summaryrefslogtreecommitdiffstats
path: root/tests/execute.test
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2019-06-27 13:32:51 (GMT)
committerdgp <dgp@users.sourceforge.net>2019-06-27 13:32:51 (GMT)
commit65e99252a730e19810423deedd64bb158d921a60 (patch)
tree8cec9649a16ea4c452da4af6418ff2e2f0acbac7 /tests/execute.test
parentb8d61c04ed5f3b6cfb45f2386fe7bbd9fad43b9d (diff)
parent676acf8712a40961b9a0da4f60a31c3a1a2cf0ab (diff)
downloadtcl-65e99252a730e19810423deedd64bb158d921a60.zip
tcl-65e99252a730e19810423deedd64bb158d921a60.tar.gz
tcl-65e99252a730e19810423deedd64bb158d921a60.tar.bz2
merge trunk
Diffstat (limited to 'tests/execute.test')
-rw-r--r--tests/execute.test39
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/execute.test b/tests/execute.test
index 4cf0829..55fb01b 100644
--- a/tests/execute.test
+++ b/tests/execute.test
@@ -1062,6 +1062,45 @@ test execute-11.3 {Bug a0ece9d6d4} -setup {
trace remove execution crash enterstep {apply {args {info frame -2}}}
rename crash {}
} -result 1
+
+test execute-12.1 {failing multi-lappend to unshared} -setup {
+ unset -nocomplain x y
+} -body {
+ set x 1
+ lappend x 2 3
+ trace add variable x write {apply {args {error boo}}}
+ lappend x 4 5
+} -cleanup {
+ unset -nocomplain x y
+} -returnCodes error -result {can't set "x": boo}
+test execute-12.2 {failing multi-lappend to shared} -setup {
+ unset -nocomplain x y
+} -body {
+ set x 1
+ lappend x 2 3
+ set y $x
+ trace add variable x write {apply {args {error boo}}}
+ lappend x 4 5
+} -cleanup {
+ unset -nocomplain x y
+} -returnCodes error -result {can't set "x": boo}
+test execute-12.3 {failing multi-lappend to unshared: LVT} -body {
+ apply {{} {
+ set x 1
+ lappend x 2 3
+ trace add variable x write {apply {args {error boo}}}
+ lappend x 4 5
+ }}
+} -returnCodes error -result {can't set "x": boo}
+test execute-12.4 {failing multi-lappend to shared: LVT} -body {
+ apply {{} {
+ set x 1
+ lappend x 2 3
+ set y $x
+ trace add variable x write {apply {args {error boo}}}
+ lappend x 4 5
+ }}
+} -returnCodes error -result {can't set "x": boo}
# cleanup
if {[info commands testobj] != {}} {