Use new API for cmd output
The new API has been available for a while, and the old API is removed in
the new chromite. This change should work on all milestones.
BUG=b/257271340
TEST=`repo upload`
RELEASE_NOTE=None
Change-Id: I4eb60542b18fa8de8e096f8a71a09743365fa1bf
Reviewed-on: https://cos-review.googlesource.com/c/cos/repohooks/+/39513
Tested-by: Robert Kolchmeyer <rkolchmeyer@google.com>
Reviewed-by: He Gao <hegao@google.com>
Reviewed-by: Dexter Rivera <riverade@google.com>
diff --git a/pre-upload.py b/pre-upload.py
index 3062d7e..b3944cf 100755
--- a/pre-upload.py
+++ b/pre-upload.py
@@ -20,12 +20,15 @@
import json
import os
import re
-import sys
import stat
import subprocess
+import sys
-from errors import (VerifyException, HookFailure, PrintErrorForProject,
- PrintErrorsForCommit)
+from errors import HookFailure
+from errors import PrintErrorForProject
+from errors import PrintErrorsForCommit
+from errors import VerifyException
+
if __name__ in ('__builtin__', 'builtins'):
# If repo imports us, the __name__ will be __builtin__, and the cwd will be in
@@ -171,7 +174,7 @@
result = cros_build_lib.run(cmd, **kwargs)
# NB: We decode this directly rather than through kwargs as our tests rely
# on this post-processing behavior currently.
- return result.output.decode('utf-8', 'replace')
+ return result.stdout.decode('utf-8', 'replace')
def _get_hooks_dir():
diff --git a/pre-upload_unittest.py b/pre-upload_unittest.py
index f532cac..eda2f6c 100755
--- a/pre-upload_unittest.py
+++ b/pre-upload_unittest.py
@@ -15,6 +15,7 @@
import errors
+
# pylint: disable=W0212
# We access private members of the pre_upload module all over the place.
@@ -57,8 +58,8 @@
def _run(self, content):
"""Helper for round tripping through _run_command."""
- self.rc_mock.return_value = cros_build_lib.CommandResult(
- output=content, returncode=0)
+ self.rc_mock.return_value = cros_build_lib.CompletedProcess(
+ stdout=content, returncode=0)
return pre_upload._run_command([])
def testEmpty(self):
@@ -1062,7 +1063,7 @@
//
""",
u"""//
-// Copyright {} Google LLC
+// Copyright %s Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -1076,7 +1077,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
//
-""".format(year),
+""" % year,
)
want_error = (True, False)
def fake_get_affected_files(_, relative, include_adds=True):
@@ -1152,7 +1153,7 @@
"""Accept old header styles."""
year = datetime.datetime.now().year
header = u"""#
-# Copyright {} Google LLC
+# Copyright %s Google LLC
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -1163,7 +1164,7 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
-""".format(year)
+""" % year
def fake_get_affected_files(_, relative, include_adds=True):
_ = relative
@@ -1221,7 +1222,7 @@
#
""",
u"""#
-# Copyright {} Google LLC
+# Copyright %s Google LLC
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -1232,7 +1233,7 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
-""".format(year),
+""" % year,
)
want_error = (True, False)
def fake_get_affected_files(_, relative, include_adds=True):
@@ -2079,7 +2080,7 @@
def testNoGitDir(self):
"""We should die when run on a non-git dir."""
self.assertRaises(pre_upload.BadInvocation, pre_upload.direct_main,
- ['--dir', self.tempdir])
+ ['--dir', str(self.tempdir)])
def testNoDir(self):
"""We should die when run on a missing dir."""