#!/bin/sh

# \
exec ../tclsh $0

#package require tcl6

proc check {test got exp} {
	if {$got != $exp} {
		error "Failed: $test\nExp: {$exp}\nGot: {$got}"
	}
}
proc verbose {msg} {
	if {$::verbose} {
		puts $msg
	}
}

set verbose [string equal [lindex $argv 0] "-v"]

foreach i [glob test_*.tcl] {
	if {$verbose} {
		puts "======= $i ======="
	} else {
		puts -nonewline "$i..."
		flush stdout
	}
	set rc [catch {source $i} result]
	if {$rc == 7} {
		exit 0
	}
	if {$verbose} {
		puts -nonewline "$i..."
	}
	if {$rc} {
		puts "failed($rc) $result"
		if {$verbose} {
			puts $result
		}
	} elseif {$result ne ""} {
		puts $result
	} else {
		puts "ok"
	}
	if {$verbose} {
		puts ""
	}
}
