summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2004-04-29 20:40:11 (GMT)
committerdgp <dgp@users.sourceforge.net>2004-04-29 20:40:11 (GMT)
commitdd854175d4c77b6a65cd86542210289bd47bb4c0 (patch)
treeb420510df7ee198409971d4d591dea0b71080e73
parent74c3e73d8d217092ccc418bd990bf43f9d8890ce (diff)
downloadtcl-dd854175d4c77b6a65cd86542210289bd47bb4c0.zip
tcl-dd854175d4c77b6a65cd86542210289bd47bb4c0.tar.gz
tcl-dd854175d4c77b6a65cd86542210289bd47bb4c0.tar.bz2
* tests/execute.test (execute-8.2): Avoid crashes when there
is limited system stack space (threads-enabled).
-rw-r--r--ChangeLog5
-rw-r--r--tests/execute.test13
2 files changed, 14 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 1d7dd94..87e947a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2004-04-29 Don Porter <dgp@users.sourceforge.net>
+
+ * tests/execute.test (execute-8.2): Avoid crashes when there
+ is limited system stack space (threads-enabled).
+
2004-04-28 Miguel Sofer <msofer@users.sf.net>
* doc/global.n:
diff --git a/tests/execute.test b/tests/execute.test
index 597832e..701616c 100644
--- a/tests/execute.test
+++ b/tests/execute.test
@@ -14,7 +14,7 @@
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
-# RCS: @(#) $Id: execute.test,v 1.16 2003/11/14 20:44:46 dgp Exp $
+# RCS: @(#) $Id: execute.test,v 1.17 2004/04/29 20:40:14 dgp Exp $
if {[lsearch [namespace children] ::tcltest] == -1} {
package require tcltest 2
@@ -721,14 +721,19 @@ test execute-8.1 {Stack protection} {
catch {expr {1+9/0}}
} 1
-test execute-8.2 {Stack restoration} {
+test execute-8.2 {Stack restoration} -body {
# Test for [Bug #816641], correct restoration
# of the stack top after the stack is grown
proc f {args} { f bee bop }
catch f msg
set msg
- } {too many nested evaluations (infinite loop?)}
-
+ } -setup {
+ # Avoid crashes when system stack size is limited (thread-enabled!)
+ set limit [interp recursionlimit {}]
+ interp recursionlimit {} 100
+ } -cleanup {
+ interp recursionlimit {} $limit
+ } -result {too many nested evaluations (infinite loop?)}
# cleanup
if {[info commands testobj] != {}} {