aboutsummaryrefslogtreecommitdiff
path: root/tests/infoframe.test
blob: e8544b1c65f26a4525336c38733379e8b0cb90e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
source [file dirname [info script]]/testing.tcl

proc a {n} {
	if {$n eq "trace"} {
		return [basename-stacktrace [stacktrace]]
	}
	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]]
}

proc b {n} {
	a $n
}

proc c {n} {
	b $n
}

# --- Don't change line numbers above

test info-frame-1.1 {Current command} -body {
	c 0
} -result {a infoframe.test 7}

test info-frame-1.2 {Current Proc} -body {
	c -1
} -result {b infoframe.test 15}

test info-frame-1.3 Caller -body {
	c -2
} -result {c infoframe.test 19}

test info-frame-1.4 {Caller of Caller} -body {
	c -3
} -result {test infoframe.test 37}

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}

testreport