Re: [PATCHv2 2/3] git-p4 tests: work with python3 as well as python2
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Apr 26, 2016, 17:48 UTC
- Message-ID
- <xmqqpotcgt2l.fsf@gitster.mtv.corp.google.com>
- In-Reply-To
- <1461657061-7984-3-git-send-email-luke@diamand.org>
Luke Diamand <luke@diamand.org> writes:
Show 8 quoted lines
> 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 braces in Python3.
s/braces/parentheses/, I think (can locally tweak if you say so--in which case no need to resend).
Show 43 quoted lines
>
> Signed-off-by: Luke Diamand <luke@diamand.org>
> ---
> t/lib-git-p4.sh | 5 +++--
> t/t9802-git-p4-filetype.sh | 6 +++---
> 2 files changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/t/lib-git-p4.sh b/t/lib-git-p4.sh
> index 724bc43..7393ee2 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 66d3fc9..eb9a8ed 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
> }