tests: write out file using bytes I/O stable
authorGregory Szorc <gregory.szorc@gmail.com>
Mon, 04 Nov 2019 20:57:31 -0800
branchstable
changeset 43416 e7eb67eab53f
parent 43415 a8454e846736
child 43417 822202e72f69
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
tests/test-highlight.t
--- 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 () {