set ::failed 0
set ::testnum 0
+proc assert {condition} {
+ if {![uplevel 1 expr $condition]} {
+ puts "!! ERROR\nExpected '$value' to evaluate to true"
+ error "assertion"
+ }
+}
+
proc assert_match {pattern value} {
if {![string match $pattern $value]} {
puts "!! ERROR\nExpected '$value' to match '$pattern'"
}
proc assert_error {pattern code} {
- if {[catch $code error]} {
+ if {[catch {uplevel 1 $code} error]} {
assert_match $pattern $error
} else {
puts "!! ERROR\nExpected an error but nothing was catched"