diff options
author | Simon Glass <sjg@chromium.org> | 2023-09-23 13:44:11 -0600 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2023-10-04 09:25:21 -0600 |
commit | dc1d2e6c7f932386a3ef2d40de65c6659d928bb2 (patch) | |
tree | 17a33a54b4a8041abef7c2fa2ff550f5aa093d46 /tools/moveconfig.py | |
parent | 6b25d21c8657c4c72dacbec547f560eb8579199e (diff) |
moveconfig: Show a summary at the end
Rather than printing all the failed boards, which are now easily visible
on the terminal, just show a summary. Sort it by defconfig and drop the
'_defconfig' suffix.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'tools/moveconfig.py')
-rwxr-xr-x | tools/moveconfig.py | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/tools/moveconfig.py b/tools/moveconfig.py index 2a4badf864..c6d7c53f8b 100755 --- a/tools/moveconfig.py +++ b/tools/moveconfig.py @@ -571,8 +571,8 @@ class Slot: successfully, or False when it fails. """ # output at least 30 characters to hide the "* defconfigs out of *". + name = self.defconfig[:-len('_defconfig')] if self.log: - name = self.defconfig[:-len('_defconfig')] # Put the first log line on the first line log = name.ljust(20) + ' ' + self.log[0] @@ -588,7 +588,7 @@ class Slot: sys.exit('Exit on error.') # If --exit-on-error flag is not set, skip this board and continue. # Record the failed board. - self.failed_boards.add(self.defconfig) + self.failed_boards.add(name) self.progress.inc(success) self.progress.show() @@ -618,6 +618,7 @@ class Slots: """ self.args = args self.slots = [] + self.progress = progress self.col = col devnull = subprocess.DEVNULL make_cmd = get_make_cmd() @@ -662,8 +663,8 @@ class Slots: ret = False return ret - def show_failed_boards(self): - """Display all of the failed boards (defconfigs).""" + def show_result(self): + """Show the results of processing""" boards = set() output_file = 'moveconfig.failed' @@ -671,14 +672,16 @@ class Slots: boards |= slot.get_failed_boards() if boards: - boards = '\n'.join(boards) + '\n' - msg = 'The following boards were not processed due to error:\n' - msg += boards - msg += f'(the list has been saved in {output_file})\n' - print(self.col.build(self.col.RED, msg, bright=True), - file=sys.stderr) - + print(self.col.build( + self.col.RED, + f'{len(boards)} failed (see {output_file})', True)) + boards = '\n'.join(sorted(boards)) + '\n' write_file(output_file, boards) + else: + # Add enough spaces to overwrite the progress indicator + print(self.col.build( + self.col.GREEN, + f'{self.progress.total} processed ', bright=True)) class ReferenceSource: @@ -757,8 +760,7 @@ def move_config(toolchains, args, db_queue, col): while not slots.empty(): time.sleep(SLEEP_TIME) - print('') - slots.show_failed_boards() + slots.show_result() def find_kconfig_rules(kconf, config, imply_config): """Check whether a config has a 'select' or 'imply' keyword |