Mercurial > hg
view tests/test-http-branchmap @ 12403:ba8850911703
test-serve: fix test for binding to low named port on solaris
Solaris do not know the service called http, so we use echo instead.
Trying to define KILLQUIETLY when running the hgserve function didn't set the
value within the function. Now we set the variable before calling the function.
author | Mads Kiilerich <mads@kiilerich.com> |
---|---|
date | Sat, 25 Sep 2010 02:35:32 +0200 |
parents | 9f10adb70a04 |
children |
line wrap: on
line source
#!/bin/sh hgserve() { hg serve -a localhost -p $HGPORT1 -d --pid-file=hg.pid -E errors.log -v $@ \ | sed -e 's/:[0-9][0-9]*//g' -e 's/http:\/\/[^/]*\//http:\/\/localhost\//' cat hg.pid >> "$DAEMON_PIDS" } hg init a hg --encoding utf-8 -R a branch æ echo foo > a/foo hg -R a ci -Am foo hgserve -R a --config web.push_ssl=False --config web.allow_push=* --encoding latin1 hg --encoding utf-8 clone http://localhost:$HGPORT1 b hg --encoding utf-8 -R b log echo bar >> b/foo hg -R b ci -m bar hg --encoding utf-8 -R b push | sed "s/$HGPORT1/PORT/" hg -R a --encoding utf-8 log kill `cat hg.pid` # verify 7e7d56fe4833 (encoding fallback in branchmap to maintain compatibility with 1.3.x) cat <<EOF > oldhg import sys from mercurial import ui, hg, commands class StdoutWrapper(object): def __init__(self, stdout): self._file = stdout def write(self, data): if data == '47\n': # latin1 encoding is one %xx (3 bytes) shorter data = '44\n' elif data.startswith('%C3%A6 '): # translate to latin1 encoding data = '%%E6 %s' % data[7:] self._file.write(data) def __getattr__(self, name): return getattr(self._file, name) sys.stdout = StdoutWrapper(sys.stdout) sys.stderr = StdoutWrapper(sys.stderr) myui = ui.ui() repo = hg.repository(myui, 'a') commands.serve(myui, repo, stdio=True) EOF echo baz >> b/foo hg -R b ci -m baz hg push -R b -e 'python oldhg' ssh://dummy/ --encoding latin1