sapling/tests/test-serve
Mads Kiilerich ed06ff3f48 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.
2010-09-25 02:35:32 +02:00

59 lines
1.2 KiB
Bash
Executable File

#!/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 echo (should fail because low port)'
KILLQUIETLY=Y
hgserve -p echo
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/