# HG changeset patch # User Gregory Szorc # Date 2020-03-28 20:29:25 # Node ID da9b7f9635a2a61c5ad24376d1a39f5bba34cb07 # Parent e74af49aa3c9dba8f5329853f91d4a160e461f84 tests: use `f --hexdump` to print file content The inline print.py in this test wasn't fully compatible with Python 3 because it was reading from sys.stdin, which already normalized line endings since it operates in the realm of str on Python 3. To do this correctly, we'd need to read from sys.stdin.buffer on Python 3. This would entail conditional code. I felt this was too much effort. So I just replaced the custom script with `f`, which already knows how to do the right thing. test-mactext.t now passes on Python 3 on Windows. Differential Revision: https://phab.mercurial-scm.org/D8336 diff --git a/tests/test-mactext.t b/tests/test-mactext.t --- a/tests/test-mactext.t +++ b/tests/test-mactext.t @@ -7,10 +7,6 @@ > data = data.replace(b'\n', b'\r') > open(path, 'wb').write(data) > EOF - $ cat > print.py < import sys - > print(sys.stdin.read().replace('\n', '').replace('\r', '').replace('\0', '')) - > EOF $ hg init $ echo '[hooks]' >> .hg/hgrc $ echo 'pretxncommit.cr = python:hgext.win32text.forbidcr' >> .hg/hgrc @@ -32,7 +28,9 @@ rollback completed abort: pretxncommit.cr hook failed [255] - $ hg cat f | "$PYTHON" print.py - hello - $ cat f | "$PYTHON" print.py - hello + $ hg cat f | f --hexdump + + 0000: 68 65 6c 6c 6f 0a |hello.| + $ f --hexdump f + f: + 0000: 68 65 6c 6c 6f 0d |hello.|