aboutsummaryrefslogtreecommitdiff
path: root/examples/jtrace
blob: 21acb8f6f1d716760fbfe00c71484f85aa76a250 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/bin/env jimsh
# vim:se syntax=tcl:

# Experimental code coverage for Jim Tcl

set auto_path [linsert $auto_path 0 [file dirname $argv0]/jimlib]

set argv [lassign $argv argv0]

proc jtime::xtrace {type file line result name arglist} {
	set indent [string repeat "  " [info level]]
	if {[string length $arglist] > 45} {
		set arglist [string range $arglist 0 45]...
	}
	stderr puts "$indent$name [string map {\r \\r \n \\n} $arglist]"
}

xtrace jtime::xtrace

# Catch exit but not error
set rc [catch -noerror -exit {source $argv0} msg opts]

xtrace {}