Mercurial > hg
diff tests/run-tests.py @ 30986:f07ca071a058
runtests: set web.ipv6 if we use IPv6
As explained by the previous patch, we need to set "web.ipv6=True" if we
decide to use IPv6. Otherwise "hg serve" will still try to listen on IPv4.
This patch makes it so by appending web.ipv6 to "extra configs".
This patch was tested in a Linux system with IPv6, by the following steps:
1. Change hgweb/server.py temporarily to write a file if
IPv6HTTPServer.__init__ is called.
2. run-tests.py -l --keep-tmpdir test-serve.t
3. Check the generated .hgrc, make sure it sets web.ipv6=1.
4. Check the log file to make sure IPv6HTTPServer.__init__ is called.
author | Jun Wu <quark@fb.com> |
---|---|
date | Wed, 15 Feb 2017 16:43:27 -0800 |
parents | 1f803482844a |
children | 1ee685defe80 |
line wrap: on
line diff
--- a/tests/run-tests.py Wed Feb 15 16:22:22 2017 -0800 +++ b/tests/run-tests.py Wed Feb 15 16:43:27 2017 -0800 @@ -535,7 +535,8 @@ timeout=defaults['timeout'], startport=defaults['port'], extraconfigopts=None, py3kwarnings=False, shell=None, hgcommand=None, - slowtimeout=defaults['slowtimeout'], usechg=False): + slowtimeout=defaults['slowtimeout'], usechg=False, + useipv6=False): """Create a test from parameters. path is the full path to the file defining the test. @@ -593,6 +594,11 @@ self._testtmp = None self._chgsockdir = None + # If IPv6 is used, set web.ipv6=1 in hgrc so servers will use IPv6 + if useipv6: + self._extraconfigopts = list(self._extraconfigopts) + self._extraconfigopts.append('web.ipv6 = True') + # If we're not in --debug mode and reference output file exists, # check test output against it. if debug: @@ -2317,7 +2323,8 @@ py3kwarnings=self.options.py3k_warnings, shell=self.options.shell, hgcommand=self._hgcommand, - usechg=bool(self.options.with_chg or self.options.chg)) + usechg=bool(self.options.with_chg or self.options.chg), + useipv6=useipv6) t.should_reload = True return t