diff --git a/tests/run-tests.py b/tests/run-tests.py --- a/tests/run-tests.py +++ b/tests/run-tests.py @@ -105,9 +105,13 @@ if sys.version_info > (3, 5, 0): PYTHON3 = True xrange = range # we use xrange in one place, and we'd rather not use range def _bytespath(p): + if p is None: + return p return p.encode('utf-8') def _strpath(p): + if p is None: + return p return p.decode('utf-8') elif sys.version_info >= (3, 0, 0): @@ -1383,7 +1387,8 @@ class TTest(Test): else: m = optline.match(el) if m: - conditions = [c for c in m.group(2).split(' ')] + conditions = [ + c for c in m.group(2).split(b' ')] if not self._hghave(conditions)[0]: optional.append(i) @@ -1497,7 +1502,7 @@ class TTest(Test): else: m = optline.match(el) if m: - conditions = [c for c in m.group(2).split(' ')] + conditions = [c for c in m.group(2).split(b' ')] el = m.group(1) + b"\n" if not self._hghave(conditions)[0]: diff --git a/tests/test-run-tests.py b/tests/test-run-tests.py --- a/tests/test-run-tests.py +++ b/tests/test-run-tests.py @@ -39,7 +39,7 @@ def lm(expected, output): and output.endswith(b'\n')), 'missing newline' assert not re.search(br'[^ \w\\/\r\n()*?]', expected + output), \ b'single backslash or unknown char' - test = run_tests.TTest('test-run-test.t', '.', '.') + test = run_tests.TTest(b'test-run-test.t', b'.', b'.') match = test.linematch(expected, output) if isinstance(match, str): return 'special: ' + match