diff options
author | Simon Glass <sjg@chromium.org> | 2023-09-23 13:44:13 -0600 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2023-10-04 09:25:21 -0600 |
commit | 94e2ed7c8e9d253c25222d42607425944cfe167f (patch) | |
tree | fe207676a8f1cd67c8ec62c2cfc843de8817b355 /tools/moveconfig.py | |
parent | fc07d99e6a3a15dc4a6e75134efad1e4b90a4339 (diff) |
moveconfig: Move summaries to the end
Write the summary for -s and -b at the end, using a unified format.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'tools/moveconfig.py')
-rwxr-xr-x | tools/moveconfig.py | 36 |
1 files changed, 23 insertions, 13 deletions
diff --git a/tools/moveconfig.py b/tools/moveconfig.py index 5392e1f808..ed75d3277d 100755 --- a/tools/moveconfig.py +++ b/tools/moveconfig.py @@ -45,6 +45,7 @@ STATE_SAVEDEFCONFIG = 3 AUTO_CONF_PATH = 'include/config/auto.conf' CONFIG_DATABASE = 'moveconfig.db' +FAILED_LIST = 'moveconfig.failed' CONFIG_LEN = len('CONFIG_') @@ -663,25 +664,17 @@ class Slots: ret = False return ret - def show_result(self): + def write_failed_boards(self): """Show the results of processing""" boards = set() - output_file = 'moveconfig.failed' for slot in self.slots: boards |= slot.get_failed_boards() if boards: - 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)) + write_file(FAILED_LIST, boards) + class ReferenceSource: @@ -726,6 +719,9 @@ def move_config(toolchains, args, db_queue, col): args (Namespace): Program arguments db_queue (Queue): Queue for database updates col (terminal.Color): Colour object + + Returns: + Progress: Progress indicator """ if args.git_ref: reference_src = ReferenceSource(args.git_ref) @@ -754,7 +750,8 @@ def move_config(toolchains, args, db_queue, col): while not slots.empty(): time.sleep(SLEEP_TIME) - slots.show_result() + slots.write_failed_boards() + return progress def find_kconfig_rules(kconf, config, imply_config): """Check whether a config has a 'select' or 'imply' keyword @@ -1585,7 +1582,7 @@ doc/develop/moveconfig.rst for documentation.''' toolchains = toolchain.Toolchains() toolchains.GetSettings() toolchains.Scan(verbose=False) - move_config(toolchains, args, db_queue, col) + progress = move_config(toolchains, args, db_queue, col) db_queue.join() if args.commit: @@ -1600,6 +1597,8 @@ doc/develop/moveconfig.rst for documentation.''' msg += '\n\nRsync all defconfig files using moveconfig.py' subprocess.call(['git', 'commit', '-s', '-m', msg]) + failed = progress.total - progress.good + failure = f'{failed} failed, ' if failed else '' if args.build_db: with open(CONFIG_DATABASE, 'w', encoding='utf-8') as outf: for defconfig, configs in config_db.items(): @@ -1607,6 +1606,17 @@ doc/develop/moveconfig.rst for documentation.''' for config in sorted(configs.keys()): outf.write(f' {config}={configs[config]}\n') outf.write('\n') + print(col.build( + col.RED if failed else col.GREEN, + f'{failure}{len(config_db)} boards written to {CONFIG_DATABASE}')) + else: + if failed: + print(col.build(col.RED, f'{failure}see {FAILED_LIST}', True)) + else: + # Add enough spaces to overwrite the progress indicator + print(col.build( + col.GREEN, f'{progress.total} processed ', bright=True)) + return 0 |