gclient: Make smoketests run on Windows.

Bug: 1024683
Change-Id: I1c30473699c1bd6b198188b53b632e3617fed335
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/1929653
Reviewed-by: Anthony Polito <apolito@google.com>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
diff --git a/fix_encoding.py b/fix_encoding.py
index fb4214c..b327a49 100644
--- a/fix_encoding.py
+++ b/fix_encoding.py
@@ -84,6 +84,10 @@
   if _SYS_ARGV_PROCESSED:
     return False
 
+  if sys.version_info.major == 3:
+    _SYS_ARGV_PROCESSED = True
+    return True
+
   # These types are available on linux but not Mac.
   # pylint: disable=no-name-in-module,F0401
   from ctypes import byref, c_int, POINTER, windll, WINFUNCTYPE
@@ -269,6 +273,9 @@
       if sys.version_info.major == 2 and isinstance(text, unicode):
         # Replace characters that cannot be printed instead of failing.
         text = text.encode(self.encoding, 'replace')
+      if sys.version_info.major == 3 and isinstance(text, bytes):
+        # Replace characters that cannot be printed instead of failing.
+        text = text.decode(self.encoding, 'replace')
       self._stream.write(text)
     except Exception as e:
       complain('%s.write: %r' % (self.name, e))