diff options
author | dgp <dgp@users.sourceforge.net> | 2004-04-29 20:40:11 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2004-04-29 20:40:11 (GMT) |
commit | dd854175d4c77b6a65cd86542210289bd47bb4c0 (patch) | |
tree | b420510df7ee198409971d4d591dea0b71080e73 | |
parent | 74c3e73d8d217092ccc418bd990bf43f9d8890ce (diff) | |
download | tcl-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-- | ChangeLog | 5 | ||||
-rw-r--r-- | tests/execute.test | 13 |
2 files changed, 14 insertions, 4 deletions
@@ -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] != {}} { |