diff options
author | Richard Maw <richard.maw@codethink.co.uk> | 2018-03-26 17:52:38 +0100 |
---|---|---|
committer | Tristan Van Berkom <tristan.van.berkom@gmail.com> | 2018-04-12 18:03:09 +0000 |
commit | fc6d192dae90bfd9efd46ffc2d533b66f2968b6b (patch) | |
tree | ec208ff9a6a1bf333597b2c22d4b3304c9659d2f | |
parent | bea028a8239d194a4969650a11bb6bf61298f9da (diff) | |
download | buildstream-fc6d192dae90bfd9efd46ffc2d533b66f2968b6b.tar.gz |
frontend: Redisplay failure messages in result summary
It's more convenient than having to search back through all the output
to find out what the cause of failure was.
-rw-r--r-- | buildstream/_frontend/widget.py | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/buildstream/_frontend/widget.py b/buildstream/_frontend/widget.py index f7af4c614..ed53d135d 100644 --- a/buildstream/_frontend/widget.py +++ b/buildstream/_frontend/widget.py @@ -589,8 +589,19 @@ class LogLine(Widget): if scheduler.queues is None: return - text = self.content_profile.fmt("Pipeline Summary\n", bold=True) + text = '' + + 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) + + text += self.content_profile.fmt("Pipeline Summary\n", bold=True) values = OrderedDict() + values['Total'] = self.content_profile.fmt(str(pipeline.total_elements)) values['Session'] = self.content_profile.fmt(str(pipeline.session_elements)) |