From 7edde07972b9a43cd4e6305bd0e56b4a972ac8c3 Mon Sep 17 00:00:00 2001 From: Steve Bennett Date: Fri, 21 Nov 2014 08:10:49 +1000 Subject: Throw an error when parsing a bad script If a script has a missing bracket (for example), currently it is silently ignored, except by [source] Signed-off-by: Steve Bennett --- tests/errors.tcl | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) (limited to 'tests/errors.tcl') diff --git a/tests/errors.tcl b/tests/errors.tcl index 1105dfa..0992c59 100644 --- a/tests/errors.tcl +++ b/tests/errors.tcl @@ -4,56 +4,60 @@ proc error_generator {type} { switch $type { badcmd { bogus command called - } + } badvar { set bogus - } + } error { error bogus - } + } interpbadvar { set x "some $bogus text" - } + } interpbadcmd { set x "some $bogus text" - } + } package { package require dummy - } + } source { source dummy.tcl - } + } badpackage { package require bogus - } + } returncode { return -code error failure - } + } + badproc { + error_badproc + } default { puts "Unknown type=$type" } } } - - - # line 40: Some empty lines above so that line numbers don't change proc error_caller {type {method call}} { switch $method { call { error_generator $type - } + } uplevel { uplevel 1 [list error_generator $type] - } + } eval { eval [list error_generator $type] - } + } evalstr { eval error_generator $type - } + } default { puts "Unknown method=$method" } } } + +proc error_badproc {} { + return [list missing bracket here +} -- cgit v1.1