run-tests: make --extra-config-opt work with Python 3
And add test coverage to ensure it works.
Differential Revision: https://phab.mercurial-scm.org/D1476
--- a/tests/run-tests.py Mon Nov 20 21:08:18 2017 -0800
+++ b/tests/run-tests.py Mon Nov 20 21:26:11 2017 -0800
@@ -1105,9 +1105,9 @@
hgrc.write(b'ipv6 = %s\n' % str(self._useipv6).encode('ascii'))
for opt in self._extraconfigopts:
- section, key = opt.split('.', 1)
- assert '=' in key, ('extra config opt %s must '
- 'have an = for assignment' % opt)
+ section, key = opt.encode('utf-8').split(b'.', 1)
+ assert b'=' in key, ('extra config opt %s must '
+ 'have an = for assignment' % opt)
hgrc.write(b'[%s]\n%s\n' % (section, key))
hgrc.close()
--- a/tests/test-run-tests.t Mon Nov 20 21:08:18 2017 -0800
+++ b/tests/test-run-tests.t Mon Nov 20 21:26:11 2017 -0800
@@ -1566,3 +1566,14 @@
# Ran 1 tests, 0 skipped, 1 failed.
python hash seed: * (glob)
[1]
+
+--extra-config-opt works
+
+ $ cat << EOF >> test-config-opt.t
+ > $ hg init test-config-opt
+ > $ hg -R test-config-opt purge
+ > EOF
+
+ $ rt --extra-config-opt extensions.purge= test-config-opt.t
+ .
+ # Ran 1 tests, 0 skipped, 0 failed.