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