diff options
Diffstat (limited to 'examples/jtrace')
-rwxr-xr-x | examples/jtrace | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/examples/jtrace b/examples/jtrace new file mode 100755 index 0000000..87aee8e --- /dev/null +++ b/examples/jtrace @@ -0,0 +1,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 |