[PATCH v2 00/30] patman: Move to asyncio and other updates
Simon Glass
sjg at chromium.org
Sun May 4 15:23:16 CEST 2025
This series moves patman to use asyncio instead of ThreadPoolExecutor
since it makes it easier to handle requests sent from different parts
of the code.
It also includes some updates to bring patman in line with the other
major Python tools (buildman and binman).
With this series, we have a better basis to add support for syncing more
data from a patchwork server.
After this, the next step it to add a new 'patman series' subcommand, to
track and manage series workflow.
Changes in v2:
- Rework commit message since this only updates requirements.txt now
Simon Glass (30):
patman: Move all non-test logic into control module
patman: Move capture_sys_output() into terminal and rename
binman: Correct a typo in the toolpath comment
u_boot_pylib: Allow control of capturing
u_boot_pylib: Improve ANSI-colour output with backgrounds
u_boot_pylib: Add a pager
u_boot_pylib: Avoid concurrent execution of only one test
u_boot_pylib: Allow disabling colour output
tools: Plumb in capture control
patman: Correct a stray quote
patman: Rename test_basic() in test_checkpatch
patman: Tidy up the start-up code
patman: Support extra test features
patman: Move code for sending into its own module
patman: Add aiohttp to requirements
patman: Create a module for handling patchwork
patman: Move Patch and Review to patchwork module
patman: Add reading of series and patch status
patman: Rename check_patchwork_status()
patman: Split up check_and_show_status()
patman: Split out the processing of find_new_responses()
patman: Adjust how the fake request() function is provided
patman: Simplify test_find_new_responses()
patman: Show patches in yellow
patman: Add more information to Patch
patman: Use defaultdict directly
patman: Switch over to asyncio
patman: Provide an option to run in single-threaded mode
patman: Use a pager when outputting status
patman: Drop the old status code
doc/develop/binman_tests.rst | 6 +-
tools/binman/bintool_test.py | 20 +-
tools/binman/cbfs_util_test.py | 15 +-
tools/binman/elf_test.py | 3 +-
tools/binman/fip_util_test.py | 11 +-
tools/binman/ftest.py | 106 ++++----
tools/binman/image_test.py | 4 +-
tools/binman/main.py | 4 +-
tools/buildman/func_test.py | 10 +-
tools/buildman/main.py | 2 +-
tools/buildman/test.py | 6 +-
tools/dtoc/main.py | 5 +-
tools/dtoc/test_dtoc.py | 11 +-
tools/dtoc/test_fdt.py | 2 +-
tools/dtoc/test_src_scan.py | 25 +-
tools/patman/__main__.py | 61 +----
tools/patman/cmdline.py | 8 +
tools/patman/control.py | 223 +++++----------
tools/patman/func_test.py | 143 +++++-----
tools/patman/patchwork.py | 425 +++++++++++++++++++++++++++++
tools/patman/pyproject.toml | 2 +-
tools/patman/requirements.txt | 1 +
tools/patman/send.py | 179 ++++++++++++
tools/patman/status.py | 463 ++++++++++++--------------------
tools/patman/test_checkpatch.py | 2 +-
tools/u_boot_pylib/__main__.py | 2 +-
tools/u_boot_pylib/terminal.py | 105 ++++++--
tools/u_boot_pylib/test_util.py | 29 +-
tools/u_boot_pylib/tout.py | 5 +-
29 files changed, 1166 insertions(+), 712 deletions(-)
create mode 100644 tools/patman/patchwork.py
create mode 100644 tools/patman/send.py
--
2.43.0
base-commit: 0c8a89d252c3db3401ffa572ee2e4dfcb94e2c3b
branch: pata2-us
More information about the U-Boot
mailing list