main.lua: Don't log traceback for normal scansion internal errors

Mon, 10 Sep 2018 10:16:38 +0100

author
Matthew Wild <mwild1@gmail.com>
date
Mon, 10 Sep 2018 10:16:38 +0100
changeset 110
d58403c8615e
parent 109
f7609d1a5bdf
child 111
25530dccf696

main.lua: Don't log traceback for normal scansion internal errors

main.lua file | annotate | diff | comparison | revisions
--- a/main.lua	Mon Sep 10 10:15:33 2018 +0100
+++ b/main.lua	Mon Sep 10 10:16:38 2018 +0100
@@ -4,6 +4,8 @@
 local time = require "socket".gettime;
 local sleep = require "socket".sleep;
 
+local is_scansion_error = require "scansion.error".is;
+
 local result_log_filename = nil;
 local server_log_reader = nil;
 local test_metadata = {};
@@ -118,8 +120,11 @@
 	verse.set_log_handler(verse._default_log_handler, verse_log_levels);
 
 	local function error_handler(err)
-		verse.log("error", "Error: %s", err);
-		verse.log("error", "Traceback: %s", debug.traceback());
+		-- Only log actual errors. Those reported by Scansion will be handled gracefully higher up.
+		if not is_scansion_error(err) then
+			verse.log("error", "Error: %s", err);
+			verse.log("error", "Traceback: %s", debug.traceback());
+		end
 		errcb(err);
 	end
 	verse.set_error_handler(error_handler);

mercurial