aboutsummaryrefslogtreecommitdiff
path: root/tests/infoframe.test
diff options
context:
space:
mode:
Diffstat (limited to 'tests/infoframe.test')
-rw-r--r--tests/infoframe.test30
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