main.lua

changeset 62
52a24deb0cc3
parent 61
21871fb2db99
child 63
0f19ffbe1519
--- a/main.lua	Thu Dec 31 13:24:41 2015 +0000
+++ b/main.lua	Thu Dec 31 13:25:22 2015 +0000
@@ -4,6 +4,7 @@
 local time = require "socket".gettime;
 
 local result_log_filename = nil;
+local server_log_reader = nil;
 local property_rules = {};
 
 local function apply_object_properties(class, name, object)
@@ -36,6 +37,15 @@
 			table.insert(property_rules, { class = "client", properties = { connect_host = host } });
 		elseif opt == "--out" or opt == "-o" then
 			result_log_filename = get_value();
+		elseif opt == "--server-log" or opt == "-s" then
+			local server_log = assert(io.open(get_value(), "r"));
+			function server_log_reader()
+				local new_lines = {};
+				for line in server_log:lines() do
+					table.insert(new_lines, line);
+				end
+				return new_lines;
+			end
 		else
 			error("Unhandled command-line option: "..opt);
 		end
@@ -90,6 +100,10 @@
 
 	local script = initialize_script(parse_script(read_script()));
 	
+	if server_log_reader then
+		log_data("server", { lines = server_log_reader() });
+	end
+
 	local verse = initialize_verse(function (_err) ok, err = false, _err end);
 	local async = require "scansion.async";
 
@@ -109,6 +123,9 @@
 			if action.annotation then
 				print(action.annotation);
 			end
+			if server_log_reader then
+				log_data("server", { lines = server_log_reader() });
+			end
 			print(object.name, action.action.."...");
 			local ok, err = pcall(handler[action.action], object, action.extra);
 			if not ok then

mercurial