# HG changeset patch # User Matt Harbison # Date 2020-12-09 17:57:40 # Node ID af3a6900f893acc5858cbb1a49a8872b03dd22a1 # Parent 9eb07ab3f2d43eb171672d0a70381101111ce5ce run-tests: fix `HGTESTEXTRAEXTENSIONS` with py3 Since `extensions` was a str and `section` bytes, it never populated anything. If it had, it would have put bytes into the environment dictionary that is all str. As everything starts and ends as str, remove the incomplete attempt at byteification. It doesn't appear that we had any test coverage of this bit of code, so also add a non-extension config to make sure it is filtered out properly. Differential Revision: https://phab.mercurial-scm.org/D9557 diff --git a/tests/run-tests.py b/tests/run-tests.py --- a/tests/run-tests.py +++ b/tests/run-tests.py @@ -1364,14 +1364,14 @@ class Test(unittest.TestCase): extraextensions = [] for opt in self._extraconfigopts: - section, key = _sys2bytes(opt).split(b'.', 1) + section, key = opt.split('.', 1) if section != 'extensions': continue - name = key.split(b'=', 1)[0] + name = key.split('=', 1)[0] extraextensions.append(name) if extraextensions: - env['HGTESTEXTRAEXTENSIONS'] = b' '.join(extraextensions) + env['HGTESTEXTRAEXTENSIONS'] = ' '.join(extraextensions) # LOCALIP could be ::1 or 127.0.0.1. Useful for tests that require raw # IP addresses. diff --git a/tests/test-run-tests.t b/tests/test-run-tests.t --- a/tests/test-run-tests.t +++ b/tests/test-run-tests.t @@ -1956,9 +1956,12 @@ Test automatic pattern replacement $ cat << EOF >> test-config-opt.t > $ hg init test-config-opt > $ hg -R test-config-opt purge + > $ echo "HGTESTEXTRAEXTENSIONS: \$HGTESTEXTRAEXTENSIONS" + > HGTESTEXTRAEXTENSIONS: purge > EOF - $ rt --extra-config-opt extensions.purge= test-config-opt.t + $ rt --extra-config-opt extensions.purge= \ + > --extra-config-opt not.an.extension=True test-config-opt.t running 1 tests using 1 parallel processes . # Ran 1 tests, 0 skipped, 0 failed.