summaryrefslogtreecommitdiffstats
path: root/tests/lmap.test
diff options
context:
space:
mode:
authorseandeelywoods <seandeelywoods>2013-03-18 12:41:14 (GMT)
committerseandeelywoods <seandeelywoods>2013-03-18 12:41:14 (GMT)
commit87d0bd2b565cc904bdd135291c1baa5ff5cea4d5 (patch)
tree63b370c68febf9ed24fc630644117cf735313b40 /tests/lmap.test
parent3faa92fe264c5671bd8dad903cb13ca5ce302781 (diff)
parent3fda4f0df6f0fdabe84372aee281ffb4ca7108e1 (diff)
downloadtcl-hypnotoad_bug_3598385.zip
tcl-hypnotoad_bug_3598385.tar.gz
tcl-hypnotoad_bug_3598385.tar.bz2
Merging in changes from trunkhypnotoad_bug_3598385
Diffstat (limited to 'tests/lmap.test')
-rw-r--r--tests/lmap.test19
1 files changed, 13 insertions, 6 deletions
diff --git a/tests/lmap.test b/tests/lmap.test
index 7baa77b..08035d9 100644
--- a/tests/lmap.test
+++ b/tests/lmap.test
@@ -18,7 +18,7 @@ if {"::tcltest" ni [namespace children]} {
namespace import -force ::tcltest::*
}
-unset -nocomplain a i x
+unset -nocomplain a b i x
# ----- Non-compiled operation -----------------------------------------------
@@ -404,14 +404,21 @@ test lmap-7.6 {lmap: related to "foreach" [Bug 1671087]} -setup {
rename demo {}
} -result {2 4}
# Huge lists must not overflow the bytecode interpreter (development bug)
-test lmap-7.7 {huge list non-compiled} {
+test lmap-7.7 {huge list non-compiled} -setup {
+ unset -nocomplain a b x
+} -body {
set x [lmap a [lrepeat 1000000 x] { set b y$a }]
list $b [llength $x] [string length $x]
-} {yx 1000000 2999999}
-test lmap-7.8 {huge list compiled} {
- set x [apply {{times} { lmap a [lrepeat $times x] { set b y$a }}} 1000000]
+} -result {yx 1000000 2999999}
+test lmap-7.8 {huge list compiled} -setup {
+ unset -nocomplain a b x
+} -body {
+ set x [apply {{times} {
+ global b
+ lmap a [lrepeat $times x] { set b Y$a }
+ }} 1000000]
list $b [llength $x] [string length $x]
-} {yx 1000000 2999999}
+} -result {Yx 1000000 2999999}
test lmap-7.9 {error then dereference loop var (dev bug)} {
catch { lmap a 0 b {1 2 3} { error x } }
set a