From: Luke Diamand Date: Tue, 26 Apr 2016 07:51:00 +0000 (+0100) Subject: git-p4 tests: work with python3 as well as python2 X-Git-Tag: v2.8.3~22^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=84096814a82eeb9c23bfc2b8ad7709d2c616b07d;p=thirdparty%2Fgit.git git-p4 tests: work with python3 as well as python2 Update the git-p4 tests so that they work with both Python2 and Python3. We have to be explicit about the difference between Unicode text strings (Python3 default) and raw binary strings which will be exchanged with Perforce. Additionally, print always takes parentheses in Python3. Signed-off-by: Luke Diamand Signed-off-by: Junio C Hamano --- diff --git a/t/lib-git-p4.sh b/t/lib-git-p4.sh index 724bc43e4b..7393ee2505 100644 --- a/t/lib-git-p4.sh +++ b/t/lib-git-p4.sh @@ -198,9 +198,10 @@ marshal_dump() { cat >"$TRASH_DIRECTORY/marshal-dump.py" <<-EOF && import marshal import sys + instream = getattr(sys.stdin, 'buffer', sys.stdin) for i in range($line): - d = marshal.load(sys.stdin) - print d['$what'] + d = marshal.load(instream) + print(d[b'$what'].decode('utf-8')) EOF "$PYTHON_PATH" "$TRASH_DIRECTORY/marshal-dump.py" } diff --git a/t/t9802-git-p4-filetype.sh b/t/t9802-git-p4-filetype.sh index 66d3fc91a7..eb9a8ed197 100755 --- a/t/t9802-git-p4-filetype.sh +++ b/t/t9802-git-p4-filetype.sh @@ -223,12 +223,12 @@ build_gendouble() { import sys import struct - s = struct.pack(">LL18s", + s = struct.pack(b">LL18s", 0x00051607, # AppleDouble 0x00020000, # version 2 - "" # pad to 26 bytes + b"" # pad to 26 bytes ) - sys.stdout.write(s) + getattr(sys.stdout, 'buffer', sys.stdout).write(s) EOF }