view tests/test-serve @ 13940:b7b26e54e37a stable

encoding: avoid localstr when a string can be encoded losslessly (issue2763) localstr's hash method exists to prevent bogus matching on lossy local encodings. For instance, we don't want 'caf?' to match 'café' in an ASCII locale. But when café can be losslessly encoded in the local charset, we can simply use a normal string and avoid the hashing trick. This avoids using localstr's hash method, which would prevent a match between
author Matt Mackall <mpm@selenic.com>
date Fri, 15 Apr 2011 23:45:41 -0500
parents fdb0983ad395
children
line wrap: on
line source

#!/bin/sh

hgserve()
{
    hg serve -a localhost -d --pid-file=hg.pid -E errors.log -v $@ \
        | sed -e "s/:$HGPORT1\\([^0-9]\\)/:HGPORT1\1/g" \
              -e "s/:$HGPORT2\\([^0-9]\\)/:HGPORT2\1/g" \
              -e 's/http:\/\/[^/]*\//http:\/\/localhost\//'
    cat hg.pid >> "$DAEMON_PIDS"
    echo % errors
    cat errors.log
    sleep 1
    if [ "$KILLQUIETLY" = "Y" ]; then
        kill `cat hg.pid` 2>/dev/null
    else
        kill `cat hg.pid`
    fi
    sleep 1
}

hg init test
cd test

echo '[web]' > .hg/hgrc
echo 'accesslog = access.log' >> .hg/hgrc
echo "port = $HGPORT1" >> .hg/hgrc

echo % Without -v
hg serve -a localhost -p $HGPORT -d --pid-file=hg.pid -E errors.log
cat hg.pid >> "$DAEMON_PIDS"
if [ -f access.log ]; then
    echo 'access log created - .hg/hgrc respected'
fi
echo % errors
cat errors.log

echo % With -v
hgserve

echo % With -v and -p HGPORT2
hgserve -p "$HGPORT2"

echo '% With -v and -p daytime (should fail because low port)'
KILLQUIETLY=Y
hgserve -p daytime
KILLQUIETLY=N

echo % With --prefix foo
hgserve --prefix foo

echo % With --prefix /foo
hgserve --prefix /foo

echo % With --prefix foo/
hgserve --prefix foo/

echo % With --prefix /foo/
hgserve --prefix /foo/