dumbhttp: use IPv6 if HGIPV6 is set to 1

This will fix flaky tests using dumbhttp.

The patch was tested on gcc112.fsffrance.org using the following command:

  ./run-tests.py -j 40 --runs-per-test 120 test-bundle2-remote-changegroup.t
This commit is contained in:
Jun Wu 2017-02-15 21:09:00 -08:00
parent 596eb64899
commit 063ecdb2bb

View File

@ -7,7 +7,9 @@ Small and dumb HTTP server for use in tests.
"""
import optparse
import os
import signal
import socket
import sys
from mercurial import (
@ -18,11 +20,17 @@ from mercurial import (
httpserver = util.httpserver
OptionParser = optparse.OptionParser
if os.environ.get('HGIPV6', '0') == '1':
class simplehttpserver(httpserver.httpserver):
address_family = socket.AF_INET6
else:
simplehttpserver = httpserver.httpserver
class simplehttpservice(object):
def __init__(self, host, port):
self.address = (host, port)
def init(self):
self.httpd = httpserver.httpserver(
self.httpd = simplehttpserver(
self.address, httpserver.simplehttprequesthandler)
def run(self):
self.httpd.serve_forever()