From: Simon Glass <simon.glass@canonical.com> This series extracts the ~800 lines of result-display code from builder.py into a new ResultHandler class. Builder handles building and file I/O, while ResultHandler handles all display of build results, progress, errors, sizes, and config changes. This is a complex and tedious refactor which is why have not done it for the past 5 years, but the time is now. Along the way, this: - Creates a DisplayOptions namedtuple for result-display settings - Adds col (terminal.Color) as a required Builder parameter - Creates a ResultHandler class with all display-related methods - Cleans up naming conventions with underscore prefixes for private members After this series, builder.py is reduced from ~2200 to ~1200 lines, making it more focused and maintainable. Unsurprisingly resulthandler.py ends up at just over 1000 lines. Simon Glass (18): buildman: Move Config class to cfgutil buildman: Move process_config() function to cfgutil buildman: Move cfgutil tests to test_cfgutil.py buildman: Move Outcome class to its own module buildman: Move OUTCOME_* constants to outcome module buildman: Move BoardStatus and ErrLine to outcome module buildman: Add a namedtuple for result-display settings buildman: Add col parameter to Builder buildman: Create a class for handling results buildman: Move size-display methods to ResultHandler buildman: Move error/warning display methods to ResultHandler buildman: Move board classification methods to ResultHandler buildman: Move error delta calculation to ResultHandler buildman: Move result summary methods to ResultHandler buildman: Move print_build_summary() to ResultHandler buildman: Move show_summary() and produce_result_summary() to ResultHandler buildman: Use underscore prefix for private methods buildman: Use underscore prefix for private member variables tools/buildman/builder.py | 1230 +++---------------------------- tools/buildman/cfgutil.py | 70 +- tools/buildman/control.py | 35 +- tools/buildman/main.py | 5 +- tools/buildman/outcome.py | 68 ++ tools/buildman/resulthandler.py | 1028 ++++++++++++++++++++++++++ tools/buildman/test.py | 290 ++------ tools/buildman/test_builder.py | 155 ++-- tools/buildman/test_cfgutil.py | 234 ++++++ 9 files changed, 1655 insertions(+), 1460 deletions(-) create mode 100644 tools/buildman/outcome.py create mode 100644 tools/buildman/resulthandler.py create mode 100644 tools/buildman/test_cfgutil.py -- 2.43.0 base-commit: c0b7ed1ad434eabf50bc8bdf7ef7f31423f4977d branch: bmq