diff --git a/utilities/acceptance-tests/script/ignored_tests.txt b/utilities/acceptance-tests/script/ignored_tests.txt deleted file mode 100644 index 95d24e56..00000000 --- a/utilities/acceptance-tests/script/ignored_tests.txt +++ /dev/null @@ -1,2 +0,0 @@ -# This test is known to fail, because not all pages come up properly if bookmarked. -user-management, Bookmark Without Logging In diff --git a/utilities/acceptance-tests/script/output_manager.rb b/utilities/acceptance-tests/script/output_manager.rb index dfd257a8..e1e44424 100644 --- a/utilities/acceptance-tests/script/output_manager.rb +++ b/utilities/acceptance-tests/script/output_manager.rb @@ -36,6 +36,7 @@ class TestInfo attr :suite_name, true attr :output_link, true attr :status, true + attr :reason_for_ignoring, true end class SuiteInfo @@ -107,9 +108,14 @@ class OutputManager line.strip! if line.length == 0 || line[0] == ?# || line[0] == ?! # ignore blank lines, and lines starting with '#' or '!'. - elsif line =~ /^([^,]+),([^,]+)$/ + elsif line =~ /^([^,#]+),([^,#]+)(\s*#(.*))?$/ # suite name and test name separated by ',' and optional whitespace. - ignored_tests << [$1.strip, $2.strip] + # Optional comment on the end of the line, starting with a '#' + if $4 == nil + ignored_tests << [$1.strip, $2.strip, ''] + else + ignored_tests << [$1.strip, $2.strip, $4] + end else raise "Invalid line in ignored tests file: '#{line}'" end @@ -166,12 +172,23 @@ class OutputManager # Have we decided to ignore this test if it fails? # def ignore_test?(suite_name, test_name) - @ignored_tests.each do |pair| - return true if pair[0] == suite_name && pair[1] == test_name + @ignored_tests.each do |t| + return true if t[0] == suite_name && t[1] == test_name end return false end + # Why are we ignoring this test? + # + def get_reason_for_ignoring(suite_name, test_name) + @ignored_tests.each do |t| + return t[2] if t[0] == suite_name && t[1] == test_name + end + return '' + end + + # This is the big one -- produce the output summary. + # def summarize() @osp = OutputSuiteParser.new(self, @log_file) @osp.parse() diff --git a/utilities/acceptance-tests/script/output_suite_parser.rb b/utilities/acceptance-tests/script/output_suite_parser.rb index 024ab638..f6d8d9c5 100644 --- a/utilities/acceptance-tests/script/output_suite_parser.rb +++ b/utilities/acceptance-tests/script/output_suite_parser.rb @@ -93,8 +93,9 @@ class OutputSuiteParser t.output_link = s.output_link + md[2] if md[1] == 'status_passed' t.status = Status::GOOD - elsif @output_manager.ignore_test?(t.suite_name, t.test_name) + elsif @output_manager.ignore_test?(t.suite_name, t.test_name) t.status = Status::FAIR + t.reason_for_ignoring = @output_manager.get_reason_for_ignoring(t.suite_name, t.test_name) else t.status = Status::BAD end diff --git a/utilities/acceptance-tests/script/output_summary_formatter.rb b/utilities/acceptance-tests/script/output_summary_formatter.rb index 6b38fa1c..0ab957bc 100644 --- a/utilities/acceptance-tests/script/output_summary_formatter.rb +++ b/utilities/acceptance-tests/script/output_summary_formatter.rb @@ -55,7 +55,7 @@ class OutputSummaryFormatter
Suite name | Test name | |
---|---|---|
Suite name | Test name | Reason for ignoring |
#{t.suite_name} | \n" f.print "#{t.test_name} | \n" + f.print "#{t.reason_for_ignoring} | \n" f.print "