##// END OF EJS Templates
hgweb: all protocol functions have become generators...
hgweb: all protocol functions have become generators Using the write() callable supplied by the start_response() call is frowned upon by the WSGI spec, returning an iterable over the content chunks is the recommended way. Be aware, though: returning many small chunks will slow down responses, because the server has to flush each chunk separately.

File last commit:

r6368:2c370f08 default
r6784:18c429ea default
Show More
test-hgweb
44 lines | 1.5 KiB | text/plain | TextLexer
Brendan Cully
hgweb: simple tests
r3942 #!/bin/sh
Dirkjan Ochtman
Fix style nit and add some comments to tests.
r5580 # Some tests for hgweb. Tests static files, plain files and different 404's.
Brendan Cully
hgweb: simple tests
r3942
hg init test
cd test
mkdir da
echo foo > da/foo
echo foo > foo
hg ci -Ambase -d '0 0'
Dirkjan Ochtman
better error reporting for hg serve errors in tests
r5924 hg serve -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
Bryan O'Sullivan
hgweb: return meaningful HTTP status codes instead of nonsense
r5561 cat hg.pid >> $DAEMON_PIDS
Brendan Cully
hgweb: simple tests
r3942 echo % manifest
Bryan O'Sullivan
Allow tests to run in parallel.
r5384 ("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/file/tip/?style=raw')
("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/file/tip/da?style=raw')
Bryan O'Sullivan
hgweb: return meaningful HTTP status codes instead of nonsense
r5561
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
Bryan O'Sullivan
hgweb: account for Python 2.4 in one test
r5564 "$TESTDIR/get-with-headers.py" localhost:$HGPORT '/file/tip/foo?cmd=spam&style=raw' | sed 's/400.*/400/'
Bryan O'Sullivan
hgweb: return meaningful HTTP status codes instead of nonsense
r5561
echo % should give a 404 - file does not exist
"$TESTDIR/get-with-headers.py" localhost:$HGPORT '/file/tip/bork?style=raw'
Dirkjan Ochtman
hgweb: better error messages
r6368 "$TESTDIR/get-with-headers.py" localhost:$HGPORT '/file/tip/bork'
"$TESTDIR/get-with-headers.py" localhost:$HGPORT '/diff/tip/bork?style=raw'
Bryan O'Sullivan
hgweb: return meaningful HTTP status codes instead of nonsense
r5561
Mirko Friedenhagen
server: append to logfiles
r5690 echo % stop and restart
kill `cat hg.pid`
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'"
Bryan O'Sullivan
hgweb: return meaningful HTTP status codes instead of nonsense
r5561 echo % static file
"$TESTDIR/get-with-headers.py" localhost:$HGPORT '/static/style-gitweb.css'
Dirkjan Ochtman
better error reporting for hg serve errors in tests
r5924
echo % errors
cat errors.log