tests: write out file using bytes I/O
The encoding of sys.stdout varies between Python versions. So
using a one-liner to write a file from a Unicode string is not
deterministic.
This commit writes out the file using bytes I/O to ensure we
have exactly the bytes we want in the file.
This change fixes a test failure in Python 3.5/3.6.
Differential Revision: https://phab.mercurial-scm.org/D7226
--- a/tests/test-highlight.t Mon Nov 04 20:46:19 2019 -0800
+++ b/tests/test-highlight.t Mon Nov 04 20:57:31 2019 -0800
@@ -966,7 +966,9 @@
$ cd ..
$ hg init eucjp
$ cd eucjp
- $ "$PYTHON" -c 'print("\265\376")' >> eucjp.txt # Japanese kanji "Kyo"
+ >>> with open('eucjp.txt', 'wb') as fh:
+ ... # Japanese kanji "Kyo"
+ ... fh.write(u'\265\376'.encode('utf-8')) and None
$ hg ci -Ama
adding eucjp.txt
$ hgserveget () {