From 08f4d59e0b177d3d15b65f9826bbf05491b3841d Mon Sep 17 00:00:00 2001 From: "Johnny(Jianning) Ding" Date: Tue, 14 Apr 2020 05:32:09 +0000 Subject: [PATCH] Decode the returned encoded bytes of subprocess.check_all/check_output. Bug: 1068779 Change-Id: Ie399e134577732b441c37ca2083d72a66bb631c3 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2142745 Reviewed-by: Edward Lesmes Commit-Queue: Johnny (Jianning) Ding --- git_drover.py | 5 ++++- tests/git_drover_test.py | 11 +++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/git_drover.py b/git_drover.py index a8651815b..8407ec422 100755 --- a/git_drover.py +++ b/git_drover.py @@ -320,7 +320,10 @@ class _Drover(object): stderr = None if self._verbose else _DEV_NULL_FILE try: - return run(['git'] + args, shell=False, cwd=cwd, stderr=stderr) + rv = run(['git'] + args, shell=False, cwd=cwd, stderr=stderr) + if sys.version_info.major == 3: + return rv.decode('utf-8', 'ignore') + return rv except (OSError, subprocess.CalledProcessError) as e: if error_message: raise Error(error_message) diff --git a/tests/git_drover_test.py b/tests/git_drover_test.py index 82ac2d5c1..a49be5000 100755 --- a/tests/git_drover_test.py +++ b/tests/git_drover_test.py @@ -121,13 +121,16 @@ class GitDroverTest(unittest.TestCase): self._fail_on_command == len(self._commands)): self._fail_on_command = None raise subprocess.CalledProcessError(1, args[0]) + rv = '' if args == ['git', 'rev-parse', '--git-dir']: - return os.path.join(self._parent_repo, '.git') + rv = os.path.join(self._parent_repo, '.git') if args == ['git', '-c', 'core.quotePath=false', 'status', '--porcelain']: - return ' D foo\nUU baz\n D bar\n' + rv = ' D foo\nUU baz\n D bar\n' if args == ['git', 'log', '-1', '--format=%ae']: - return 'author@domain.org' - return '' + rv = 'author@domain.org' + if sys.version_info.major == 3: + return bytes(rv, 'utf-8') + return rv def _Popen(self, args, shell=False, cwd=None, stdin=None, stdout=None, stderr=None):