summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Maw <richard.maw@codethink.co.uk>2018-03-26 17:52:38 +0100
committerTristan Van Berkom <tristan.van.berkom@gmail.com>2018-04-12 18:03:09 +0000
commitfc6d192dae90bfd9efd46ffc2d533b66f2968b6b (patch)
treeec208ff9a6a1bf333597b2c22d4b3304c9659d2f
parentbea028a8239d194a4969650a11bb6bf61298f9da (diff)
downloadbuildstream-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.py13
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))