diff --git a/build.xml b/build.xml
index cc69b8df..9c2b5c2b 100644
--- a/build.xml
+++ b/build.xml
@@ -65,13 +65,27 @@
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/utilities/acceptance-tests/script/output_manager.rb b/utilities/acceptance-tests/script/output_manager.rb
index 7045819a..8ad8c5d2 100644
--- a/utilities/acceptance-tests/script/output_manager.rb
+++ b/utilities/acceptance-tests/script/output_manager.rb
@@ -30,6 +30,7 @@ require 'date'
require 'fileutils'
require File.expand_path('output_suite_parser', File.dirname(File.expand_path(__FILE__)))
require File.expand_path('output_summary_formatter', File.dirname(File.expand_path(__FILE__)))
+require File.expand_path('property_file_reader', File.dirname(File.expand_path(__FILE__)))
class TestInfo
attr :test_name, true
@@ -141,26 +142,31 @@ class OutputManager
#
def initialize(properties)
@output_directory = properties['output_directory']
-
+
test_root_directory = properties['test_root_directory']
@ignored_tests_file = File.expand_path("ignored_tests.txt", test_root_directory)
sanity_checks_on_parameters()
@log_file = File.expand_path("log_file.txt", @output_directory)
- FileUtils::remove_file(@log_file) if File.exist?(@log_file)
- @output_summary_file = File.expand_path("index.html", @output_directory)
+ @output_summary_file = File.expand_path("summary.html", @output_directory)
FileUtils::remove_file(@output_summary_file) if File.exist?(@output_summary_file)
@ignored_tests = load_list_of_ignored_tests()
end
+ # Start with an empty log file.
+ #
+ def empty_log()
+ FileUtils::remove_file(@log_file) if File.exist?(@log_file)
+ end
+
# Write a message to the log file
#
def log(level, message)
File.open(@log_file, File::CREAT | File::APPEND | File::WRONLY) do |f|
- f.print("#{level} #{message}\n")
+ f.print("#{DateTime.now.strftime('%Y/%m/%d %H:%M:%S')} #{level} #{message}\n")
end
end
@@ -191,13 +197,43 @@ class OutputManager
# This is the big one -- produce the output summary.
#
def summarize()
+ log("INFO ", "Parsing test output")
@osp = OutputSuiteParser.new(self, @log_file)
@osp.parse()
+ log("INFO ", "Copying CSS file to output directory")
copy_css_file()
+
+ log("INFO ", "Producing summary file")
File.open(@output_summary_file, File::CREAT | File::WRONLY) do |f|
osf = OutputSummaryFormatter.new(@osp, @log_file)
osf.format(f)
end
+
+ log("INFO ", "Summary complete")
end
-end
\ No newline at end of file
+end
+
+#
+#
+# ------------------------------------------------------------------------------------
+# Standalone calling.
+#
+# Do this if this program was called from the command line. That is, if the command
+# expands to the path of this file.
+# ------------------------------------------------------------------------------------
+#
+
+if File.expand_path($0) == File.expand_path(__FILE__)
+ if ARGV.length == 0
+ raise("No arguments - usage is: ruby output_manager.rb ")
+ end
+ if !File.file?(ARGV[0])
+ raise "File does not exist: '#{ARGV[0]}'."
+ end
+
+ properties = PropertyFileReader.read(ARGV[0])
+
+ om = OutputManager.new(properties)
+ om.summarize()
+end
diff --git a/utilities/acceptance-tests/script/output_suite_parser.rb b/utilities/acceptance-tests/script/output_suite_parser.rb
index f6d8d9c5..74b8692e 100644
--- a/utilities/acceptance-tests/script/output_suite_parser.rb
+++ b/utilities/acceptance-tests/script/output_suite_parser.rb
@@ -8,6 +8,8 @@ Parameters:
--------------------------------------------------------------------------------
=end
require 'date'
+# This one is needed to get Time.parse() ????? Go figure.
+require 'open-uri'
class OutputSuiteParser
attr :errors
diff --git a/utilities/acceptance-tests/script/output_summary_formatter.rb b/utilities/acceptance-tests/script/output_summary_formatter.rb
index 0ab957bc..8ad6ecc0 100644
--- a/utilities/acceptance-tests/script/output_summary_formatter.rb
+++ b/utilities/acceptance-tests/script/output_summary_formatter.rb
@@ -170,7 +170,7 @@ END_STATS
if ignores.empty?
f.print " \n"
- f.print " No tests ignored. | \n"
+ f.print " No tests ignored. | \n"
f.print "
\n"
else
ignores.each do |t|
diff --git a/utilities/acceptance-tests/script/run_acceptance_tests.rb b/utilities/acceptance-tests/script/run_acceptance_tests.rb
index 1fe8373e..60a97216 100644
--- a/utilities/acceptance-tests/script/run_acceptance_tests.rb
+++ b/utilities/acceptance-tests/script/run_acceptance_tests.rb
@@ -205,10 +205,6 @@ class AcceptanceRunner
@output_manager.log("ERROR", message)
end
- def create_summary_html()
- @output_manager.summarize()
- end
-
# ------------------------------------------------------------------------------------
public
# ------------------------------------------------------------------------------------
@@ -226,14 +222,15 @@ class AcceptanceRunner
sanity_checks_on_parameters()
@database_cleanser = DatabaseCleanser.new(properties)
+
@output_manager = OutputManager.new(properties)
-
+ @output_manager.empty_log()
end
- # Run all of the test suites and produce an output summary page.
+ # Run all of the test suites
def run
run_all_suites()
- create_summary_html()
+ # To collate the output from the suites, use OutputManager.new(properties).summarize()
end
end