aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2016-09-23 21:14:32 +1200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-09-23 15:01:50 +0100
commit326d18d96faf02675ba34ad3c3a20cd424b39b91 (patch)
tree0305412cb76e568c4974e3047f5fa1cfd083a851
parent6c42025e5dd7761213be3f82f3252a7892d2239d (diff)
downloadbitbake-326d18d96faf02675ba34ad3c3a20cd424b39b91.tar.gz
knotty: ensure progress bar output is accounted for in display
When calculating how many lines we'd printed we weren't properly taking the progress bars into account, with the result that sometimes if the last line printed on the terminal wrapped to the next line (which is possible) we backed up less lines than we should have. Additionally, we should always print a newline after updating the progress bar - there's no need to check if there wasn't output (there always will be courtesy of our overridden _need_update()) and we now allow the line to wrap so we don't need to check the other condition either. Hopefully this will fix [YOCTO #10046]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--lib/bb/ui/knotty.py9
1 files changed, 4 insertions, 5 deletions
diff --git a/lib/bb/ui/knotty.py b/lib/bb/ui/knotty.py
index 79325bb6e..b31a8a18e 100644
--- a/lib/bb/ui/knotty.py
+++ b/lib/bb/ui/knotty.py
@@ -280,7 +280,7 @@ class TerminalFilter(object):
progress = self.helper.tasknumber_current - 1
if progress < 0:
progress = 0
- self.main_progress.update(progress)
+ content = self.main_progress.update(progress)
print('')
lines = 1 + int(len(content) / (self.columns + 1))
if not self.quiet:
@@ -294,11 +294,10 @@ class TerminalFilter(object):
pbar.setmessage('%s:%s' % (tasknum, pbar.msg.split(':', 1)[1]))
if progress > -1:
pbar.setextra(rate)
- output = pbar.update(progress)
+ content = pbar.update(progress)
else:
- output = pbar.update(1)
- if not output or (len(output) <= pbar.term_width):
- print('')
+ content = pbar.update(1)
+ print('')
else:
content = "%s: %s" % (tasknum, task)
print(content)