summaryrefslogtreecommitdiffstats
path: root/tests/interp.test
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2009-01-29 17:13:49 (GMT)
committerdgp <dgp@users.sourceforge.net>2009-01-29 17:13:49 (GMT)
commitee3194e1a37679433a699a0a46edb7f90875bf73 (patch)
treec5f5e4aa9c4853f8e0b79d6fe2966d26d7eadf96 /tests/interp.test
parent1613b73f3d0c97fc20285de5b2c1e90eed432fdc (diff)
downloadtcl-ee3194e1a37679433a699a0a46edb7f90875bf73.zip
tcl-ee3194e1a37679433a699a0a46edb7f90875bf73.tar.gz
tcl-ee3194e1a37679433a699a0a46edb7f90875bf73.tar.bz2
* generic/tclInterp.c: Convert the [interp] command into a
* tests/interp.test: [namespace ensemble]. Work in progress * tests/nre.test: to NRE-enable the [interp invokehidden] subcommand.
Diffstat (limited to 'tests/interp.test')
-rw-r--r--tests/interp.test27
1 files changed, 16 insertions, 11 deletions
diff --git a/tests/interp.test b/tests/interp.test
index 01e3ca8..bdd87fa 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.61 2008/09/01 12:28:09 msofer Exp $
+# RCS: @(#) $Id: interp.test,v 1.62 2009/01/29 17:13:50 dgp Exp $
if {[lsearch [namespace children] ::tcltest] == -1} {
package require tcltest 2.1
@@ -18,6 +18,7 @@ if {[lsearch [namespace children] ::tcltest] == -1} {
}
testConstraint testinterpdelete [llength [info commands testinterpdelete]]
+testConstraint interpNotEnsemble [expr ![namespace ensemble exists ::interp]]
set hidden_cmds {cd encoding exec exit fconfigure file glob load open pwd socket source unload}
@@ -26,10 +27,10 @@ foreach i [interp slaves] {
}
# Part 0: Check out options for interp command
-test interp-1.1 {options for interp command} {
+test interp-1.1 {options for interp command} interpNotEnsemble {
list [catch {interp} msg] $msg
} {1 {wrong # args: should be "interp cmd ?arg ...?"}}
-test interp-1.2 {options for interp command} {
+test interp-1.2 {options for interp command} interpNotEnsemble {
list [catch {interp frobox} msg] $msg
} {1 {bad option "frobox": must be alias, aliases, bgerror, cancel, create, delete, eval, exists, expose, hide, hidden, issafe, invokehidden, limit, marktrusted, recursionlimit, slaves, share, target, or transfer}}
test interp-1.3 {options for interp command} {
@@ -47,13 +48,13 @@ test interp-1.5 {options for interp command} {
test interp-1.6 {options for interp command} {
list [catch {interp slaves foo bar zop} msg] $msg
} {1 {wrong # args: should be "interp slaves ?path?"}}
-test interp-1.7 {options for interp command} {
+test interp-1.7 {options for interp command} interpNotEnsemble {
list [catch {interp hello} msg] $msg
} {1 {bad option "hello": must be alias, aliases, bgerror, cancel, create, delete, eval, exists, expose, hide, hidden, issafe, invokehidden, limit, marktrusted, recursionlimit, slaves, share, target, or transfer}}
-test interp-1.8 {options for interp command} {
+test interp-1.8 {options for interp command} interpNotEnsemble {
list [catch {interp -froboz} msg] $msg
} {1 {bad option "-froboz": must be alias, aliases, bgerror, cancel, create, delete, eval, exists, expose, hide, hidden, issafe, invokehidden, limit, marktrusted, recursionlimit, slaves, share, target, or transfer}}
-test interp-1.9 {options for interp command} {
+test interp-1.9 {options for interp command} interpNotEnsemble {
list [catch {interp -froboz -safe} msg] $msg
} {1 {bad option "-froboz": must be alias, aliases, bgerror, cancel, create, delete, eval, exists, expose, hide, hidden, issafe, invokehidden, limit, marktrusted, recursionlimit, slaves, share, target, or transfer}}
test interp-1.10 {options for interp command} {
@@ -2368,13 +2369,11 @@ test interp-28.2 {master's nsName cache should not cross} -setup {
$i eval {
set x {namespace children ::}
set y [list namespace children ::]
- namespace delete {*}[{*}$y]
set j [interp create]
+ namespace delete {*}[{*}$y]
$j eval {namespace delete {*}[namespace children ::]}
namespace eval foo {}
- set res [list [eval $x] [eval $y] [$j eval $x] [$j eval $y]]
- interp delete $j
- set res
+ list [eval $x] [eval $y] [$j eval $x] [$j eval $y]
}
} -cleanup {
interp delete $i
@@ -2610,7 +2609,13 @@ test interp-29.3.6 {recursion limit error reporting} {
eval { # 3
eval { # 4
eval { # 5
- interp recursionlimit {} 6
+ # Conversion to an ensemble changed the result,
+ # because ensemble dispatch consumes an additional
+ # recursion level. Work around for now by
+ # directly calling the subcommand target.
+ #
+ #interp recursionlimit {} 6
+ ::tcl::interp::recursionlimit {} 6
set x ok
}
}