summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorgahr <gahr@gahr.ch>2016-02-23 19:44:07 (GMT)
committergahr <gahr@gahr.ch>2016-02-23 19:44:07 (GMT)
commita8436d381c941cc365c38eb2196ad1d5401a4b4a (patch)
tree8765ffe5cbf87046f0802f93a01e94ef44a4c0d6 /tests
parente644c2cde0ad8530628e57c4dba5797fc5ff3b85 (diff)
parent96f8fc81311574307013ca7a6f4abc589600d848 (diff)
downloadtcl-a8436d381c941cc365c38eb2196ad1d5401a4b4a.zip
tcl-a8436d381c941cc365c38eb2196ad1d5401a4b4a.tar.gz
tcl-a8436d381c941cc365c38eb2196ad1d5401a4b4a.tar.bz2
merge trunk
Diffstat (limited to 'tests')
-rw-r--r--tests/env.test36
1 files changed, 23 insertions, 13 deletions
diff --git a/tests/env.test b/tests/env.test
index 83d99e0..9f59fbc 100644
--- a/tests/env.test
+++ b/tests/env.test
@@ -278,20 +278,20 @@ test env-5.4 {corner cases - unset the env array} -setup {
} -cleanup {
interp delete i
} -result {1 a 1}
-test env-5.5 {corner cases - cannot have null entries on Windows} {win} {
+test env-5.5 {corner cases - cannot have null entries on Windows} -constraints win -body {
set env() a
catch {set env()}
-} {1}
+} -result 1
-test env-6.1 {corner cases - add lots of env variables} {} {
+test env-6.1 {corner cases - add lots of env variables} -body {
set size [array size env]
for {set i 0} {$i < 100} {incr i} {
set env(BOGUS$i) $i
}
expr {[array size env] - $size}
-} 100
+} -result 100
-test env-7.1 {[219226]: whole env array should not be unset by read} {
+test env-7.1 {[219226]: whole env array should not be unset by read} -body {
set n [array size env]
set s [array startsearch env]
while {[array anymore env $s]} {
@@ -300,19 +300,29 @@ test env-7.1 {[219226]: whole env array should not be unset by read} {
}
array donesearch env $s
return $n
-} 0
-test env-7.2 {[219226]: links to env elements should not be removed by read} {
+} -result 0
+
+test env-7.2 {[219226]: links to env elements should not be removed by read} -body {
apply {{} {
set ::env(test7_2) ok
upvar env(test7_2) elem
set ::env(PATH)
- try {
- return $elem
- } finally {
- unset ::env(test7_2)
- }
+ return $elem
+ }}
+} -result ok
+
+test env-7.3 {[9b4702]: testing existence of env(some_thing) should not destroy trace} -body {
+ apply {{} {
+ catch {unset ::env(test7_3)}
+ proc foo args {
+ set ::env(test7_3) ok
+ }
+ trace add variable ::env(not_yet_existent) write foo
+ info exists ::env(not_yet_existent)
+ set ::env(not_yet_existent) "Now I'm here";
+ return [info exists ::env(test7_3)]
}}
-} ok
+} -result 1
# Restore the environment variables at the end of the test.