git-map: Refactor and add simple tests
Change-Id: I8fd0034f6a6d7623792620f92208b25961fa174e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/1990142
Reviewed-by: Anthony Polito <apolito@google.com>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
diff --git a/git_common.py b/git_common.py
index 817f2c3..f8369d2 100644
--- a/git_common.py
+++ b/git_common.py
@@ -39,6 +39,11 @@
from io import BytesIO
+if sys.version_info.major == 2:
+ # On Python 3, BrokenPipeError is raised instead.
+ BrokenPipeError = IOError
+
+
ROOT = os.path.abspath(os.path.dirname(__file__))
IS_WIN = sys.platform == 'win32'
TEST_MODE = False
@@ -701,7 +706,11 @@
proc = subprocess2.Popen(cmd, stdin=subprocess2.PIPE)
yield proc.stdin
finally:
- proc.stdin.close()
+ try:
+ proc.stdin.close()
+ except BrokenPipeError:
+ # BrokenPipeError is raised if proc has already completed,
+ pass
proc.wait()