From 9f1de230fb885ae6e889edcde0c23b55057d1ad7 Mon Sep 17 00:00:00 2001 From: Tom Pollard <tom.pollard@codethink.co.uk> Date: Thu, 19 Jul 2018 18:03:40 +0100 Subject: [PATCH] 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 dab8cab56c..1bae73ca07 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() -- GitLab