patman: Tidy up the start-up code

Much of this was written before the other Python tools and they have
evolved. Make a few updates:

- Rather than calling sys.exit(), return the exit code from the control
  module and use it in __main__
- Set up tout as it is used in some places
- We now have quite a few tests, so update the comment about that

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass
2025-05-27 10:07:41 +01:00
parent f5ec4f05f9
commit 6e64ae22c2
2 changed files with 18 additions and 14 deletions
+6 -2
View File
@@ -15,6 +15,7 @@ our_path = os.path.dirname(os.path.realpath(__file__))
sys.path.append(os.path.join(our_path, '..'))
# Our modules
from u_boot_pylib import tout
from patman import cmdline
from patman import control
from u_boot_pylib import test_util
@@ -31,7 +32,9 @@ def run_patman():
if not args.debug:
sys.tracebacklimit = 0
# Run our meagre tests
tout.init(tout.INFO if args.verbose else tout.WARNING)
# Run our reasonably good tests
if args.cmd == 'test':
# pylint: disable=C0415
from patman import func_test
@@ -46,7 +49,8 @@ def run_patman():
# Process commits, produce patches files, check them, email them
else:
control.do_patman(args)
exit_code = control.do_patman(args)
sys.exit(exit_code)
if __name__ == "__main__":
+12 -12
View File
@@ -280,18 +280,18 @@ def do_patman(args):
args.ignore_bad_tags = True
send(args)
# Check status of patches in patchwork
elif args.cmd == 'status':
ret_code = 0
try:
ret_code = 0
try:
# Check status of patches in patchwork
if args.cmd == 'status':
patchwork_status(args.branch, args.count, args.start, args.end,
args.dest_branch, args.force, args.show_comments,
args.patchwork_url)
except Exception as exc:
terminal.tprint(f'patman: {type(exc).__name__}: {exc}',
colour=terminal.Color.RED)
if args.debug:
print()
traceback.print_exc()
ret_code = 1
sys.exit(ret_code)
except Exception as exc:
terminal.tprint(f'patman: {type(exc).__name__}: {exc}',
colour=terminal.Color.RED)
if args.debug:
print()
traceback.print_exc()
ret_code = 1
return ret_code