pre-upload: convert command inputs to bytes
Make sure the input to commands are bytes rather than unicode
strings so the implicit ASCII conversion doesn't crash.
BUG=chromium:1007606
TEST=`reop upload` w/CL:1813597 passes
Change-Id: Id3bc598f1a6fb7359d2bc409063f939e98499e17
Reviewed-on: https://chromium-review.googlesource.com/1823884
Tested-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
Reviewed-by: Fergus Dall <sidereal@google.com>
Reviewed-by: Shuhei Takahashi <nya@chromium.org>
diff --git a/pre-upload.py b/pre-upload.py
index 6551d1b..ca05e97 100755
--- a/pre-upload.py
+++ b/pre-upload.py
@@ -585,7 +585,7 @@
for gofile in files:
contents = _get_file_content(gofile, commit)
- output = _run_command(cmd=['gofmt', '-l'], input=contents,
+ output = _run_command(cmd=['gofmt', '-l'], input=contents.encode('utf-8'),
combine_stdout_stderr=True)
if output:
errors.append(gofile)
@@ -602,7 +602,7 @@
for rustfile in files:
contents = _get_file_content(rustfile, commit)
- output = _run_command(cmd=['rustfmt'], input=contents,
+ output = _run_command(cmd=['rustfmt'], input=contents.encode('utf-8'),
combine_stdout_stderr=True)
if output != contents:
errors.append(rustfile)
@@ -1450,12 +1450,9 @@
# we always do, so disable the check globally.
options.append('--ignore=GERRIT_CHANGE_ID')
cmd = [os.path.join(hooks_dir, 'checkpatch.pl')] + options + ['-']
- cmd_result = cros_build_lib.RunCommand(cmd=cmd,
- print_cmd=False,
- input=_get_patch(commit),
- stdout_to_pipe=True,
- combine_stdout_stderr=True,
- error_code_ok=True)
+ cmd_result = cros_build_lib.RunCommand(
+ cmd=cmd, print_cmd=False, input=_get_patch(commit).encode('utf-8'),
+ stdout_to_pipe=True, combine_stdout_stderr=True, error_code_ok=True)
if cmd_result.returncode:
return HookFailure('checkpatch.pl errors/warnings\n\n' + cmd_result.output)
return None