D7222: run-tests: use byte strings for inserted output
indygreg (Gregory Szorc)
phabricator at mercurial-scm.org
Tue Nov 5 04:34:44 UTC 2019
indygreg created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
We were inserting str on Python 3 which resulted in mixed
str/bytes types on the list. This would later blow up when
trying to write str to the .err file opened in bytes mode.
REPOSITORY
rHG Mercurial
BRANCH
stable
REVISION DETAIL
https://phab.mercurial-scm.org/D7222
AFFECTED FILES
tests/run-tests.py
CHANGE DETAILS
diff --git a/tests/run-tests.py b/tests/run-tests.py
--- a/tests/run-tests.py
+++ b/tests/run-tests.py
@@ -1770,7 +1770,9 @@
if l.startswith(b'#require'):
lsplit = l.split()
if len(lsplit) < 2 or lsplit[0] != b'#require':
- after.setdefault(pos, []).append(' !!! invalid #require\n')
+ after.setdefault(pos, []).append(
+ b' !!! invalid #require\n'
+ )
if not skipping:
haveresult, message = self._hghave(lsplit[1:])
if not haveresult:
@@ -1780,19 +1782,19 @@
elif l.startswith(b'#if'):
lsplit = l.split()
if len(lsplit) < 2 or lsplit[0] != b'#if':
- after.setdefault(pos, []).append(' !!! invalid #if\n')
+ after.setdefault(pos, []).append(b' !!! invalid #if\n')
if skipping is not None:
- after.setdefault(pos, []).append(' !!! nested #if\n')
+ after.setdefault(pos, []).append(b' !!! nested #if\n')
skipping = not self._iftest(lsplit[1:])
after.setdefault(pos, []).append(l)
elif l.startswith(b'#else'):
if skipping is None:
- after.setdefault(pos, []).append(' !!! missing #if\n')
+ after.setdefault(pos, []).append(b' !!! missing #if\n')
skipping = not skipping
after.setdefault(pos, []).append(l)
elif l.startswith(b'#endif'):
if skipping is None:
- after.setdefault(pos, []).append(' !!! missing #if\n')
+ after.setdefault(pos, []).append(b' !!! missing #if\n')
skipping = None
after.setdefault(pos, []).append(l)
elif skipping:
@@ -1841,7 +1843,7 @@
if inpython:
script.append(b'EOF\n')
if skipping is not None:
- after.setdefault(pos, []).append(' !!! missing #endif\n')
+ after.setdefault(pos, []).append(b' !!! missing #endif\n')
addsalt(n + 1, False)
# Need to end any current per-command trace
if activetrace:
To: indygreg, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list