summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Frysinger <vapier@google.com>2025-03-21 23:27:05 -0400
committerLUCI <gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com>2025-03-24 11:49:00 -0700
commit243df2042ed756e7829cd39d3ebe3d1919444d5d (patch)
tree3bbc1516dd4b28795b0e83fe2abbe14c3064d7b4
parent4b94e773efd36754f6c8649ad55b90d19a61107f (diff)
downloadgit-repo-243df2042ed756e7829cd39d3ebe3d1919444d5d.tar.gz
launcher: change RunResult to subprocess.CompletedProcess
Since we require Python 3.6 now in the launcher, swap out our custom RunResult class for the standard subprocess one. Change-Id: Idd8598df37c0a952d3ef828df6e250cab03c6589 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/462341 Reviewed-by: Gavin Mak <gavinmak@google.com> Tested-by: Mike Frysinger <vapier@google.com> Commit-Queue: Mike Frysinger <vapier@google.com>
-rwxr-xr-xrepo12
-rw-r--r--tests/test_wrapper.py11
2 files changed, 10 insertions, 13 deletions
diff --git a/repo b/repo
index 85825e80..d9e28ab0 100755
--- a/repo
+++ b/repo
@@ -124,7 +124,7 @@ if not REPO_REV:
124BUG_URL = "https://issues.gerritcodereview.com/issues/new?component=1370071" 124BUG_URL = "https://issues.gerritcodereview.com/issues/new?component=1370071"
125 125
126# increment this whenever we make important changes to this script 126# increment this whenever we make important changes to this script
127VERSION = (2, 50) 127VERSION = (2, 54)
128 128
129# increment this if the MAINTAINER_KEYS block is modified 129# increment this if the MAINTAINER_KEYS block is modified
130KEYRING_VERSION = (2, 3) 130KEYRING_VERSION = (2, 3)
@@ -483,11 +483,6 @@ def InitParser(parser):
483 483
484 484
485# This is a poor replacement for subprocess.run until we require Python 3.6+. 485# This is a poor replacement for subprocess.run until we require Python 3.6+.
486RunResult = collections.namedtuple(
487 "RunResult", ("returncode", "stdout", "stderr")
488)
489
490
491class RunError(Exception): 486class RunError(Exception):
492 """Error when running a command failed.""" 487 """Error when running a command failed."""
493 488
@@ -526,7 +521,9 @@ def run_command(cmd, **kwargs):
526 elif stderr == subprocess.STDOUT: 521 elif stderr == subprocess.STDOUT:
527 dbg += " 2>&1" 522 dbg += " 2>&1"
528 trace.print(dbg) 523 trace.print(dbg)
529 ret = RunResult(proc.returncode, decode(stdout), decode(stderr)) 524 ret = subprocess.CompletedProcess(
525 cmd, proc.returncode, decode(stdout), decode(stderr)
526 )
530 527
531 # If things failed, print useful debugging output. 528 # If things failed, print useful debugging output.
532 if check and ret.returncode: 529 if check and ret.returncode:
@@ -553,7 +550,6 @@ def run_command(cmd, **kwargs):
553 550
554 551
555class CloneFailure(Exception): 552class CloneFailure(Exception):
556
557 """Indicate the remote clone of repo itself failed.""" 553 """Indicate the remote clone of repo itself failed."""
558 554
559 555
diff --git a/tests/test_wrapper.py b/tests/test_wrapper.py
index 8bebdf80..8bb5eb28 100644
--- a/tests/test_wrapper.py
+++ b/tests/test_wrapper.py
@@ -17,6 +17,7 @@
17import io 17import io
18import os 18import os
19import re 19import re
20import subprocess
20import sys 21import sys
21import tempfile 22import tempfile
22import unittest 23import unittest
@@ -358,8 +359,8 @@ class VerifyRev(RepoWrapperTestCase):
358 359
359 def test_verify_passes(self): 360 def test_verify_passes(self):
360 """Check when we have a valid signed tag.""" 361 """Check when we have a valid signed tag."""
361 desc_result = self.wrapper.RunResult(0, "v1.0\n", "") 362 desc_result = subprocess.CompletedProcess([], 0, "v1.0\n", "")
362 gpg_result = self.wrapper.RunResult(0, "", "") 363 gpg_result = subprocess.CompletedProcess([], 0, "", "")
363 with mock.patch.object( 364 with mock.patch.object(
364 self.wrapper, "run_git", side_effect=(desc_result, gpg_result) 365 self.wrapper, "run_git", side_effect=(desc_result, gpg_result)
365 ): 366 ):
@@ -370,8 +371,8 @@ class VerifyRev(RepoWrapperTestCase):
370 371
371 def test_unsigned_commit(self): 372 def test_unsigned_commit(self):
372 """Check we fall back to signed tag when we have an unsigned commit.""" 373 """Check we fall back to signed tag when we have an unsigned commit."""
373 desc_result = self.wrapper.RunResult(0, "v1.0-10-g1234\n", "") 374 desc_result = subprocess.CompletedProcess([], 0, "v1.0-10-g1234\n", "")
374 gpg_result = self.wrapper.RunResult(0, "", "") 375 gpg_result = subprocess.CompletedProcess([], 0, "", "")
375 with mock.patch.object( 376 with mock.patch.object(
376 self.wrapper, "run_git", side_effect=(desc_result, gpg_result) 377 self.wrapper, "run_git", side_effect=(desc_result, gpg_result)
377 ): 378 ):
@@ -382,7 +383,7 @@ class VerifyRev(RepoWrapperTestCase):
382 383
383 def test_verify_fails(self): 384 def test_verify_fails(self):
384 """Check we fall back to signed tag when we have an unsigned commit.""" 385 """Check we fall back to signed tag when we have an unsigned commit."""
385 desc_result = self.wrapper.RunResult(0, "v1.0-10-g1234\n", "") 386 desc_result = subprocess.CompletedProcess([], 0, "v1.0-10-g1234\n", "")
386 gpg_result = Exception 387 gpg_result = Exception
387 with mock.patch.object( 388 with mock.patch.object(
388 self.wrapper, "run_git", side_effect=(desc_result, gpg_result) 389 self.wrapper, "run_git", side_effect=(desc_result, gpg_result)