From c313ad179b9c3ed0c99c70d20056359c44a131d7 Mon Sep 17 00:00:00 2001 From: Tom Pollard Date: Thu, 19 Jul 2018 18:03:40 +0100 Subject: widget.py: Limit failure summary to currently failing elements Change widget.py print_summary() to only print the failure messages of elements in the Failure Summary that failed on the current try. --- buildstream/_frontend/widget.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/buildstream/_frontend/widget.py b/buildstream/_frontend/widget.py index dab8cab56..1bae73ca0 100644 --- a/buildstream/_frontend/widget.py +++ b/buildstream/_frontend/widget.py @@ -522,12 +522,15 @@ class LogLine(Widget): text += "\n\n" if self._failure_messages: - text += self.content_profile.fmt("Failure Summary\n", bold=True) values = OrderedDict() for element, messages in sorted(self._failure_messages.items(), key=lambda x: x[0].name): - values[element.name] = ''.join(self._render(v) for v in messages) - text += self._format_values(values, style_value=False) + for queue in stream.queues: + if any(el.name == element.name for el in queue.failed_elements): + values[element.name] = ''.join(self._render(v) for v in messages) + if values: + text += self.content_profile.fmt("Failure Summary\n", bold=True) + text += self._format_values(values, style_value=False) text += self.content_profile.fmt("Pipeline Summary\n", bold=True) values = OrderedDict() -- cgit v1.2.1