indygreg created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers.
REVISION SUMMARY 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. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D8336 AFFECTED FILES tests/test-mactext.t CHANGE DETAILS 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 <<EOF - > import sys - > print(sys.stdin.read().replace('\n', '<LF>').replace('\r', '<CR>').replace('\0', '<NUL>')) - > 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<LF> - $ cat f | "$PYTHON" print.py - hello<CR> + $ 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.| To: indygreg, #hg-reviewers Cc: mercurial-devel _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel