launcher: change RunError to subprocess.CalledProcessError

Since we require Python 3.6 now in the launcher, swap out our custom
RunError class for the standard subprocess one.

Change-Id: Id0ca17c40e22ece03e06366a263ad340963f979d
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/464401
Commit-Queue: Mike Frysinger <vapier@google.com>
Reviewed-by: Scott Lee <ddoman@google.com>
Tested-by: Mike Frysinger <vapier@google.com>
This commit is contained in:
Mike Frysinger 2025-03-27 17:06:11 -04:00 committed by LUCI
parent 59b81c84de
commit dc8185f2a9
2 changed files with 6 additions and 9 deletions

13
repo
View File

@ -482,11 +482,6 @@ def InitParser(parser):
return parser return parser
# This is a poor replacement for subprocess.run until we require Python 3.6+.
class RunError(Exception):
"""Error when running a command failed."""
def run_command(cmd, **kwargs): def run_command(cmd, **kwargs):
"""Run |cmd| and return its output.""" """Run |cmd| and return its output."""
check = kwargs.pop("check", False) check = kwargs.pop("check", False)
@ -544,7 +539,8 @@ def run_command(cmd, **kwargs):
_print_output("stdout", ret.stdout) _print_output("stdout", ret.stdout)
_print_output("stderr", ret.stderr) _print_output("stderr", ret.stderr)
raise RunError(ret) # This will raise subprocess.CalledProcessError for us.
ret.check_returncode()
return ret return ret
@ -668,7 +664,7 @@ def run_git(*args, **kwargs):
file=sys.stderr, file=sys.stderr,
) )
sys.exit(1) sys.exit(1)
except RunError: except subprocess.CalledProcessError:
raise CloneFailure() raise CloneFailure()
@ -850,7 +846,8 @@ def _GetRepoConfig(name):
f"repo: error: git {' '.join(cmd)} failed:\n{ret.stderr}", f"repo: error: git {' '.join(cmd)} failed:\n{ret.stderr}",
file=sys.stderr, file=sys.stderr,
) )
raise RunError() # This will raise subprocess.CalledProcessError for us.
ret.check_returncode()
def _InitHttp(): def _InitHttp():

View File

@ -126,7 +126,7 @@ class RunCommand(RepoWrapperTestCase):
self.wrapper.run_command(["true"], check=False) self.wrapper.run_command(["true"], check=False)
self.wrapper.run_command(["true"], check=True) self.wrapper.run_command(["true"], check=True)
self.wrapper.run_command(["false"], check=False) self.wrapper.run_command(["false"], check=False)
with self.assertRaises(self.wrapper.RunError): with self.assertRaises(subprocess.CalledProcessError):
self.wrapper.run_command(["false"], check=True) self.wrapper.run_command(["false"], check=True)