From 32090e5070845564e36c9c5ccc3dc708ece80298 Mon Sep 17 00:00:00 2001 From: Stephen Warren Date: Tue, 20 Feb 2018 12:51:55 -0700 Subject: test/py: highlight warnings in the log summary Currently, if a test emits a warning message but otherwise passes, there's no indication of this in the log summary, which can lead to warnings being missed. Enhance the test logic to explicitly mention warnings in otherwise passing tests, and not to collapse the log sections for tests with warnings, so that they're more easily seen when scanning the log. Signed-off-by: Stephen Warren --- test/py/multiplexed_log.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'test/py/multiplexed_log.py') diff --git a/test/py/multiplexed_log.py b/test/py/multiplexed_log.py index 8ca515319c..a2cfd71746 100644 --- a/test/py/multiplexed_log.py +++ b/test/py/multiplexed_log.py @@ -224,6 +224,7 @@ class Logfile(object): self.timestamp_start = self._get_time() self.timestamp_prev = self.timestamp_start self.timestamp_blocks = [] + self.seen_warning = False shutil.copy(mod_dir + '/multiplexed_log.css', os.path.dirname(fn)) self.f.write('''\ @@ -252,6 +253,7 @@ $(document).ready(function () { passed_bcs = passed_bcs.not(":has(.status-xfail)"); passed_bcs = passed_bcs.not(":has(.status-xpass)"); passed_bcs = passed_bcs.not(":has(.status-skipped)"); + passed_bcs = passed_bcs.not(":has(.status-warning)"); // Hide the passed blocks passed_bcs.addClass("hidden"); // Flip the expand/contract button hiding for those blocks. @@ -478,8 +480,23 @@ $(document).ready(function () { Nothing. """ + self.seen_warning = True self._note("warning", msg) + def get_and_reset_warning(self): + """Get and reset the log warning flag. + + Args: + None + + Returns: + Whether a warning was seen since the last call. + """ + + ret = self.seen_warning + self.seen_warning = False + return ret + def info(self, msg): """Write an informational note to the log file. @@ -542,6 +559,19 @@ $(document).ready(function () { self._note("status-pass", msg, anchor) + def status_warning(self, msg, anchor=None): + """Write a note to the log file describing test(s) which passed. + + Args: + msg: A message describing the passed test(s). + anchor: Optional internal link target. + + Returns: + Nothing. + """ + + self._note("status-warning", msg, anchor) + def status_skipped(self, msg, anchor=None): """Write a note to the log file describing skipped test(s). -- cgit v1.2.1