##// END OF EJS Templates
tests: make tests for convert with svn portable...
tests: make tests for convert with svn portable svn 1.6.x (at least, 1.6.12 or 1.6.17) might display empty lines, even though svn 1.9.x (at least, 1.9.3) doesn't. To make tests for convert with svn portable, this patch adds "|(^$)" regexp to egrep in filter_svn_output. To avoid similar future issue, this patch adds "|(^$)" regexp to all filter_svn_output (and adjusts test-subrepo-svn.t), even though only test-convert-svn-source.t fails with svn 1.6.x, AFAIK.

File last commit:

r28451:c90cfe76 default
r28533:dfd5a683 default
Show More
dumbhttp.py
55 lines | 1.7 KiB | text/x-python | PythonLexer
Mike Hommey
tests: pull common http server setup out of individual tests...
r22959 #!/usr/bin/env python
Gregory Szorc
tests/dumbhttp: use absolute_import
r27282 from __future__ import absolute_import
Mike Hommey
tests: pull common http server setup out of individual tests...
r22959 """
Small and dumb HTTP server for use in tests.
"""
Gregory Szorc
tests/dumbhttp: use absolute_import
r27282 import optparse
import BaseHTTPServer
import signal
import SimpleHTTPServer
import sys
Mike Hommey
tests: pull common http server setup out of individual tests...
r22959
Gregory Szorc
tests/dumbhttp: use absolute_import
r27282 from mercurial import (
cmdutil,
)
OptionParser = optparse.OptionParser
Mike Hommey
tests: pull common http server setup out of individual tests...
r22959
Yuya Nishihara
tests: have dumbhttp.py use cmdutil.service() to wait for child to listen()...
r23136 class simplehttpservice(object):
def __init__(self, host, port):
self.address = (host, port)
def init(self):
self.httpd = BaseHTTPServer.HTTPServer(
self.address, SimpleHTTPServer.SimpleHTTPRequestHandler)
def run(self):
self.httpd.serve_forever()
Mike Hommey
tests: pull common http server setup out of individual tests...
r22959
if __name__ == '__main__':
parser = OptionParser()
parser.add_option('-p', '--port', dest='port', type='int', default=8000,
help='TCP port to listen on', metavar='PORT')
parser.add_option('-H', '--host', dest='host', default='localhost',
help='hostname or IP to listen on', metavar='HOST')
parser.add_option('--pid', dest='pid',
help='file name where the PID of the server is stored')
parser.add_option('-f', '--foreground', dest='foreground',
action='store_true',
help='do not start the HTTP server in the background')
Jun Wu
serve: accept multiple values for --daemon-postexec...
r28451 parser.add_option('--daemon-postexec', action='append')
Mike Hommey
tests: pull common http server setup out of individual tests...
r22959
(options, args) = parser.parse_args()
signal.signal(signal.SIGTERM, lambda x, y: sys.exit(0))
if options.foreground and options.pid:
parser.error("options --pid and --foreground are mutually exclusive")
Yuya Nishihara
tests: have dumbhttp.py use cmdutil.service() to wait for child to listen()...
r23136 opts = {'pid_file': options.pid,
'daemon': not options.foreground,
Jun Wu
serve: rename --daemon-pipefds to --daemon-postexec (BC)...
r28194 'daemon_postexec': options.daemon_postexec}
Yuya Nishihara
tests: have dumbhttp.py use cmdutil.service() to wait for child to listen()...
r23136 service = simplehttpservice(options.host, options.port)
cmdutil.service(opts, initfn=service.init, runfn=service.run,
runargs=[sys.executable, __file__] + sys.argv[1:])