diff options
Diffstat (limited to 'tests/infoframe.test')
-rw-r--r-- | tests/infoframe.test | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/tests/infoframe.test b/tests/infoframe.test index e8544b1..ef827bc 100644 --- a/tests/infoframe.test +++ b/tests/infoframe.test @@ -1,44 +1,50 @@ source [file dirname [info script]]/testing.tcl -proc a {n} { +proc a {n args} { if {$n eq "trace"} { - return [basename-stacktrace [stacktrace]] + return [basename-stacktrace [stacktrace {*}$args]] } set frame [info frame $n] if {![dict exists $frame proc]} { dict set frame proc {} } - basename-stacktrace [list [dict get $frame proc] [file tail [dict get $frame file]] [dict get $frame line]] + basename-stacktrace [list [dict get $frame proc] [file tail [dict get $frame file]] [dict get $frame line] [dict get $frame cmd]] } -proc b {n} { - a $n +proc b {args} { + a {*}$args } -proc c {n} { - b $n +proc c {args} { + b {*}$args } # --- Don't change line numbers above test info-frame-1.1 {Current command} -body { c 0 -} -result {a infoframe.test 7} +} -result {a infoframe.test 7 {info frame 0}} test info-frame-1.2 {Current Proc} -body { c -1 -} -result {b infoframe.test 15} +} -result {b infoframe.test 15 {a -1}} test info-frame-1.3 Caller -body { c -2 -} -result {c infoframe.test 19} +} -result {c infoframe.test 19 {b -2}} test info-frame-1.4 {Caller of Caller} -body { c -3 -} -result {test infoframe.test 37} +} -result {test infoframe.test 37 {c -3}} test stacktrace-1.1 {Full stack trace} -body { c trace -} -result {a infoframe.test 5 b infoframe.test 15 c infoframe.test 19 test infoframe.test 41} +} -result {a infoframe.test 5 stacktrace b infoframe.test 15 {a trace} c infoframe.test 19 {b trace} test infoframe.test 41 {c trace} {} infoframe.test 40 test\ stacktrace-1.1\ \{...} + +test stacktrace-1.2 {Stack trace with limited depth} -body { + # This will limit the stack trace to omit "this" level and below + c trace 0 [info frame] +} -result {a infoframe.test 5 {stacktrace 0 2} b infoframe.test 15 {a trace 0 2} c infoframe.test 19 {b trace 0 2}} + testreport |