From b0554198cb917bb09cfa61f8058215f7e9e9b512 Mon Sep 17 00:00:00 2001 From: Tristan Honscheid Date: Wed, 17 May 2023 11:53:50 -0600 Subject: presubmit: Don't use chromite in presubmit hook We can do the things chromite.lib was doing in other ways while making it easier to run the presubmit hooks outside of the chroot. Replace the command line parsing with `argparse` and use `subprocess` for interfacting with Git. BUG=None TEST=./util/check_low_coverage_reason.py Change-Id: I6ecc692ae26d1646604f2cabd52c76337404a481 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4545398 Commit-Queue: Jeremy Bettis Tested-by: Tristan Honscheid Auto-Submit: Tristan Honscheid Reviewed-by: Jeremy Bettis --- util/check_low_coverage_reason.py | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/util/check_low_coverage_reason.py b/util/check_low_coverage_reason.py index c6119f6a6a..52138dc180 100755 --- a/util/check_low_coverage_reason.py +++ b/util/check_low_coverage_reason.py @@ -5,15 +5,13 @@ """Ensure commit messages using LOW_COVERAGE_REASON include a bug.""" +import argparse import logging import pathlib import re +import subprocess import sys -from chromite.lib import commandline -from chromite.lib import cros_build_lib -from chromite.lib import git - # Look for LOW_COVERAGE_REASON and then an optional b{:|/}number bug reference. LOW_COV_REGEX = re.compile( @@ -24,7 +22,7 @@ EC_BASE = pathlib.Path(__file__).resolve().parent.parent def main(argv=None): """Check for bug in LOW_COVERAGE_REASON.""" - parser = commandline.ArgumentParser() + parser = argparse.ArgumentParser() parser.add_argument( "commit_id", help="Commit whose message will be checked.", @@ -36,13 +34,16 @@ def main(argv=None): return 0 try: - commit_log = git.Log(EC_BASE, rev=opts.commit_id, max_count=1) - except cros_build_lib.RunCommandError as err: - logging.error("Unable to query git log: %s", str(err)) + commit_log = subprocess.check_output( + ["git", "log", "--max-count=1", opts.commit_id], + cwd=EC_BASE, + ) + except subprocess.CalledProcessError as err: + logging.error("Unable to query git log: %s", err) return 1 # Search commit message for LOW_COVERAGE_REASON and bug - matches = LOW_COV_REGEX.findall(commit_log) + matches = LOW_COV_REGEX.findall(commit_log.decode()) if matches and not any({m[2] for m in matches}): # We have LOW_COVERAGE_REASON line(s) but none include a bug logging.error( -- cgit v1.2.1