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.


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
  CI: Add a dependency file for patman
  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

 .azure-pipelines.yml            |   2 +
 .gitlab-ci.yml                  |   2 +
 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 +-
 31 files changed, 1170 insertions(+), 712 deletions(-)
 create mode 100644 tools/patman/patchwork.py
 create mode 100644 tools/patman/requirements.txt
 create mode 100644 tools/patman/send.py

-- 
2.43.0

base-commit: b5d6220dd2f4612912989f3c2b5a710f2248cb36
branch: pata

Reply via email to