aboutsummaryrefslogtreecommitdiff
path: root/tests/stacktrace.test
diff options
context:
space:
mode:
authorSteve Bennett <steveb@workware.net.au>2010-01-27 14:19:00 +1000
committerSteve Bennett <steveb@workware.net.au>2010-10-15 11:02:46 +1000
commitcf077dff22b3c9ca0c528fd64e1392971e2d6027 (patch)
tree084df123c747d4ca4212f27274b78982ff9c1095 /tests/stacktrace.test
parent8ca4eb0a1561cdd3ccd92d797cc744b6f8b0ea8d (diff)
downloadjimtcl-cf077dff22b3c9ca0c528fd64e1392971e2d6027.zip
jimtcl-cf077dff22b3c9ca0c528fd64e1392971e2d6027.tar.gz
jimtcl-cf077dff22b3c9ca0c528fd64e1392971e2d6027.tar.bz2
Improve stack trace handling
*: Get rid of JIM_ERR_ADDSTACK and use interp->addStackTrace instead *: 'return -code error' doesn't add a stack frame *: Rename _file_copy to {file copy} for better error messages *: Use 'return -code' to prevent excessive levels in the stack trace Also rename info_nameofexecutable to {info nameofexecutable}
Diffstat (limited to 'tests/stacktrace.test')
-rw-r--r--tests/stacktrace.test12
1 files changed, 10 insertions, 2 deletions
diff --git a/tests/stacktrace.test b/tests/stacktrace.test
index 7be8ab9..5a1ce0a 100644
--- a/tests/stacktrace.test
+++ b/tests/stacktrace.test
@@ -4,7 +4,7 @@ package require errors
# Make this a proc so that the line numbers don't have to change
proc main {} {
set id1 0
- foreach type {badcmd badvar error interpbadvar interpbadcmd package source badpackage} {
+ foreach type {badcmd badvar error interpbadvar interpbadcmd package source badpackage returncode} {
set id2 0
incr id1
foreach method {call uplevel eval evalstr} {
@@ -16,7 +16,7 @@ proc main {} {
test err-$id1.$id2 "Stacktrace on error type $type, method $method" {
set rc [catch {error_caller $type $method} msg]
#puts stderr "err-$id1.$id2 $type, $method\n[errorInfo $msg]\n"
- #puts stderr "\terr-$id1.$id2 {[list $rc $msg [info stacktrace]]}"
+ if {$::SHOW_EXPECTED} { puts stderr "\terr-$id1.$id2 {[list $rc $msg [info stacktrace]]}" }
list $rc $msg [info stacktrace]
} $exp
@@ -102,8 +102,16 @@ Can't load package dummy} {{} dummy.tcl 3 dummyproc dummy.tcl 6 {} errors.tcl 21
err-8.2 {1 {Can't load package bogus} {{} errors.tcl 27 error_generator errors.tcl 47 error_caller stacktrace.test 17}}
err-8.3 {1 {Can't load package bogus} {{} errors.tcl 27 error_generator errors.tcl 50 error_caller stacktrace.test 17}}
err-8.4 {1 {Can't load package bogus} {{} errors.tcl 27 error_generator errors.tcl 53 error_caller stacktrace.test 17}}
+ err-9.1 {1 failure {{} errors.tcl 44 error_caller stacktrace.test 17}}
+ err-9.2 {1 failure {{} errors.tcl 47 error_caller stacktrace.test 17}}
+ err-9.3 {1 failure {{} errors.tcl 50 error_caller stacktrace.test 17}}
+ err-9.4 {1 failure {{} errors.tcl 53 error_caller stacktrace.test 17}}
}
+# Set this to output expected results to stderr
+# in a form which can be pasted into 'expected' below
+set SHOW_EXPECTED 0
+
main
testreport