summaryrefslogtreecommitdiffstats
path: root/tests/interp.test
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2008-06-20 19:23:23 (GMT)
committerdgp <dgp@users.sourceforge.net>2008-06-20 19:23:23 (GMT)
commite17d5217d38effd3ee00b0de34df0b5152c5da87 (patch)
tree0e644758f52d7718407a6c283c2c79b8b65cbec9 /tests/interp.test
parentb78e49ef566035baaee9d8f64f5fbc1aa1e9b174 (diff)
downloadtcl-e17d5217d38effd3ee00b0de34df0b5152c5da87.zip
tcl-e17d5217d38effd3ee00b0de34df0b5152c5da87.tar.gz
tcl-e17d5217d38effd3ee00b0de34df0b5152c5da87.tar.bz2
* generic/tclInterp.c: Fixed completely boneheaded mistake that
* tests/interp.test: [interp bgerror $slave] and [$slave bgerror] would always act like [interp bgerror {}]. [Bug 1999035]. * tests/chanio.test: Corrected flawed tests revealed by a -debug 1 * tests/event.test: -singleproc 1 test suite run. * tests/io.test:
Diffstat (limited to 'tests/interp.test')
-rw-r--r--tests/interp.test25
1 files changed, 24 insertions, 1 deletions
diff --git a/tests/interp.test b/tests/interp.test
index 76d642b..99a979e 100644
--- a/tests/interp.test
+++ b/tests/interp.test
@@ -10,7 +10,7 @@
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
-# RCS: @(#) $Id: interp.test,v 1.54 2008/03/02 19:12:41 msofer Exp $
+# RCS: @(#) $Id: interp.test,v 1.54.2.1 2008/06/20 19:23:26 dgp Exp $
if {[lsearch [namespace children] ::tcltest] == -1} {
package require tcltest 2.1
@@ -3446,6 +3446,29 @@ test interp-36.6 {SlaveBgerror returns handler} -setup {
interp delete slave
} -result {foo bar soom}
+test interp-36.7 {SlaveBgerror sets error handler of slave [1999035]} -setup {
+ interp create slave
+ slave alias handler handler
+ slave bgerror handler
+ variable result {untouched}
+ proc handler {args} {
+ variable result
+ set result [lindex $args 0]
+ }
+} -body {
+ slave eval {
+ variable done {}
+ after 0 error foo
+ after 10 [list ::set [namespace which -variable done] {}]
+ vwait [namespace which -variable done]
+ }
+ set result
+} -cleanup {
+ variable result {}
+ unset result
+ interp delete slave
+} -result foo
+
# cleanup
foreach i [interp slaves] {
interp delete $i