|
|
#!/bin/sh
|
|
|
# Some tests for hgweb. Tests static files, plain files and different 404's.
|
|
|
|
|
|
hg init test
|
|
|
cd test
|
|
|
mkdir da
|
|
|
echo foo > da/foo
|
|
|
echo foo > foo
|
|
|
hg ci -Ambase
|
|
|
|
|
|
hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
|
|
|
cat hg.pid >> $DAEMON_PIDS
|
|
|
|
|
|
echo % manifest
|
|
|
("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/file/tip/?style=raw')
|
|
|
("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/file/tip/da?style=raw')
|
|
|
|
|
|
echo % plain file
|
|
|
"$TESTDIR/get-with-headers.py" localhost:$HGPORT '/file/tip/foo?style=raw'
|
|
|
|
|
|
echo % should give a 404 - static file that does not exist
|
|
|
"$TESTDIR/get-with-headers.py" localhost:$HGPORT '/static/bogus'
|
|
|
|
|
|
echo % should give a 404 - bad revision
|
|
|
"$TESTDIR/get-with-headers.py" localhost:$HGPORT '/file/spam/foo?style=raw'
|
|
|
|
|
|
echo % should give a 400 - bad command
|
|
|
"$TESTDIR/get-with-headers.py" localhost:$HGPORT '/file/tip/foo?cmd=spam&style=raw' | sed 's/400.*/400/'
|
|
|
|
|
|
echo % should give a 404 - file does not exist
|
|
|
"$TESTDIR/get-with-headers.py" localhost:$HGPORT '/file/tip/bork?style=raw'
|
|
|
"$TESTDIR/get-with-headers.py" localhost:$HGPORT '/file/tip/bork'
|
|
|
"$TESTDIR/get-with-headers.py" localhost:$HGPORT '/diff/tip/bork?style=raw'
|
|
|
|
|
|
echo % try bad style
|
|
|
("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/file/tip/?style=foobar')
|
|
|
|
|
|
echo % stop and restart
|
|
|
"$TESTDIR/killdaemons.py"
|
|
|
hg serve -p $HGPORT -d --pid-file=hg.pid -A access.log
|
|
|
cat hg.pid >> $DAEMON_PIDS
|
|
|
# Test the access/error files are opened in append mode
|
|
|
python -c "print len(file('access.log').readlines()), 'log lines written'"
|
|
|
|
|
|
echo % static file
|
|
|
"$TESTDIR/get-with-headers.py" localhost:$HGPORT '/static/style-gitweb.css'
|
|
|
|
|
|
echo % errors
|
|
|
cat errors.log
|
|
|
|