summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2017-10-30 12:02:48 (GMT)
committerdgp <dgp@users.sourceforge.net>2017-10-30 12:02:48 (GMT)
commit2ff3ecb5341d0f53ebff051ad63dd6a8dd619234 (patch)
tree87df859f9bc8b8e433341815488247a507ddad13 /tests
parentbed6e18d15292fd0a3338c4af37bdf7a03e2c1ad (diff)
parente0578530b062a38b3fe7dfd1474dd3caa927c271 (diff)
downloadtcl-2ff3ecb5341d0f53ebff051ad63dd6a8dd619234.zip
tcl-2ff3ecb5341d0f53ebff051ad63dd6a8dd619234.tar.gz
tcl-2ff3ecb5341d0f53ebff051ad63dd6a8dd619234.tar.bz2
merge trunk
Diffstat (limited to 'tests')
-rw-r--r--tests/assemble.test2
-rw-r--r--tests/execute.test6
-rw-r--r--tests/oo.test12
-rw-r--r--tests/platform.test4
-rw-r--r--tests/resolver.test9
5 files changed, 22 insertions, 11 deletions
diff --git a/tests/assemble.test b/tests/assemble.test
index d17bfd9..6e5308d 100644
--- a/tests/assemble.test
+++ b/tests/assemble.test
@@ -852,7 +852,7 @@ test assemble-8.5 {bad context} {
-body {
namespace eval assem {
set x 1
- list [catch {assemble {load x}} result] $result $errorCode
+ list [catch {assemble {load x}} result opts] $result [dict get $opts -errorcode]
}
}
-result {1 {cannot use this instruction to create a variable in a non-proc context} {TCL ASSEM LVT}}
diff --git a/tests/execute.test b/tests/execute.test
index 5b8ce2d..6c277f8 100644
--- a/tests/execute.test
+++ b/tests/execute.test
@@ -724,7 +724,7 @@ test execute-6.14 {Tcl_ExprObj: exprcode context validation} -setup {
}
set result {}
lappend result [expr $e]
- lappend result [namespace eval foo {expr $e}]
+ lappend result [namespace eval foo [list expr $e]]
} -cleanup {
namespace delete foo
} -result {1 2}
@@ -733,11 +733,11 @@ test execute-6.15 {Tcl_ExprObj: exprcode name resolution epoch validation} -setu
} -body {
set e { [llength {}]+1 }
set result {}
- lappend result [namespace eval foo {expr $e}]
+ lappend result [namespace eval foo [list expr $e]]
namespace eval foo {
proc llength {args} {return 1}
}
- lappend result [namespace eval foo {expr $e}]
+ lappend result [namespace eval foo [list expr $e]]
} -cleanup {
namespace delete foo
} -result {1 2}
diff --git a/tests/oo.test b/tests/oo.test
index 54c4b75..6413094 100644
--- a/tests/oo.test
+++ b/tests/oo.test
@@ -1482,6 +1482,18 @@ test oo-11.4 {OO: cleanup} {
lappend result [bar0 destroy] [oo::object create foo] [foo destroy] \
[oo::object create bar2] [bar2 destroy]
} {1 {can't create object "foo": command already exists with that name} destroyed {} ::foo {} ::bar2 {}}
+test oo-11.5 {OO: cleanup} {
+ oo::class create obj1
+
+ trace add command obj1 delete {apply {{name1 name2 action} {
+ set namespace [info object namespace $name1]
+ namespace delete $namespace
+ }}}
+
+ rename obj1 {}
+ # No segmentation fault
+ return done
+} done
test oo-12.1 {OO: filters} {
oo::class create Aclass
diff --git a/tests/platform.test b/tests/platform.test
index 5838a41..8a68351 100644
--- a/tests/platform.test
+++ b/tests/platform.test
@@ -16,7 +16,9 @@ namespace eval ::tcl::test::platform {
namespace import ::tcltest::test
namespace import ::tcltest::cleanupTests
- variable ::tcl_platform
+ # This is not how [variable] works. See TIP 276.
+ #variable ::tcl_platform
+ namespace upvar :: tcl_platform tcl_platform
::tcltest::loadTestedCommands
catch [list package require -exact Tcltest [info patchlevel]]
diff --git a/tests/resolver.test b/tests/resolver.test
index 9bb4c08..b0b395d 100644
--- a/tests/resolver.test
+++ b/tests/resolver.test
@@ -139,13 +139,10 @@ test resolver-1.5 {cmdNameObj sharing vs. cmd resolver: other than global NS} -s
variable r2 ""
}
} -constraints testinterpresolver -body {
- set r0 [namespace eval ::ns2 {x}]
- set r1 [namespace eval ::ns2 {z}]
- namespace eval ::ns2 {
+ list [namespace eval ::ns2 {x}] [namespace eval ::ns2 {z}] [namespace eval ::ns2 {
namespace import ::ns1::z
- set r2 [z]
- }
- list $r0 $r1 $r2
+ z
+ }]
} -cleanup {
testinterpresolver down
namespace delete ::ns2