aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2023-09-23 13:44:10 -0600
committerSimon Glass <sjg@chromium.org>2023-10-04 09:25:21 -0600
commit6b25d21c8657c4c72dacbec547f560eb8579199e (patch)
treee62d089cf38826d92c00c99a79d9bd6540ac1798
parent15f19ab50188d426966e8232052189d4b263f9b9 (diff)
downloadu-boot-6b25d21c8657c4c72dacbec547f560eb8579199e.zip
u-boot-6b25d21c8657c4c72dacbec547f560eb8579199e.tar.gz
u-boot-6b25d21c8657c4c72dacbec547f560eb8579199e.tar.bz2
moveconfig: Show failures in progress
Show the number of accumulated failures when processing. Use a shorter format with colour. An unwanted space appears before the defconfig name on every item except the last. Fix that while we are here. Signed-off-by: Simon Glass <sjg@chromium.org>
-rwxr-xr-xtools/moveconfig.py26
1 files changed, 19 insertions, 7 deletions
diff --git a/tools/moveconfig.py b/tools/moveconfig.py
index 9e9cb67..2a4badf 100755
--- a/tools/moveconfig.py
+++ b/tools/moveconfig.py
@@ -241,24 +241,36 @@ class Progress:
"""Progress Indicator"""
- def __init__(self, total):
+ def __init__(self, col, total):
"""Create a new progress indicator.
Args:
- total: A number of defconfig files to process.
+ color_enabled (bool): True for colour output
+ total (int): A number of defconfig files to process.
"""
+ self.col = col
self.current = 0
+ self.good = 0
self.total = total
- def inc(self):
- """Increment the number of processed defconfig files."""
+ def inc(self, success):
+ """Increment the number of processed defconfig files.
+ Args:
+ success (bool): True if processing succeeded
+ """
+ self.good += success
self.current += 1
def show(self):
"""Display the progress."""
if self.current != self.total:
- print(f' {self.current} defconfigs out of {self.total}\r', end=' ')
+ line = self.col.build(self.col.GREEN, f'{self.good:5d}')
+ line += self.col.build(self.col.RED,
+ f'{self.current - self.good:5d}')
+ line += self.col.build(self.col.MAGENTA,
+ f'/{self.total - self.current}')
+ print(f'{line} \r', end='')
sys.stdout.flush()
@@ -578,7 +590,7 @@ class Slot:
# Record the failed board.
self.failed_boards.add(self.defconfig)
- self.progress.inc()
+ self.progress.inc(success)
self.progress.show()
self.state = STATE_IDLE
@@ -729,7 +741,7 @@ def move_config(toolchains, args, db_queue, col):
else:
defconfigs = get_all_defconfigs()
- progress = Progress(len(defconfigs))
+ progress = Progress(col, len(defconfigs))
slots = Slots(toolchains, args, progress, reference_src_dir, db_queue, col)
# Main loop to process defconfig files: