author | Matt Mackall <mpm@selenic.com> |
Thu, 10 Apr 2008 15:02:24 -0500 | |
changeset 6512 | 368a4ec603cc |
parent 6368 | 2c370f08c486 |
child 7341 | 6cb522c5d56a |
permissions | -rwxr-xr-x |
3942 | 1 |
#!/bin/sh |
5580
f429e0e067a8
Fix style nit and add some comments to tests.
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
5564
diff
changeset
|
2 |
# Some tests for hgweb. Tests static files, plain files and different 404's. |
3942 | 3 |
|
4 |
hg init test |
|
5 |
cd test |
|
6 |
mkdir da |
|
7 |
echo foo > da/foo |
|
8 |
echo foo > foo |
|
9 |
hg ci -Ambase -d '0 0' |
|
5924
b8009718a211
better error reporting for hg serve errors in tests
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
5690
diff
changeset
|
10 |
hg serve -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log |
5561
22713dce19f6
hgweb: return meaningful HTTP status codes instead of nonsense
Bryan O'Sullivan <bos@serpentine.com>
parents:
5384
diff
changeset
|
11 |
cat hg.pid >> $DAEMON_PIDS |
3942 | 12 |
echo % manifest |
5384
e3a0c092b4e2
Allow tests to run in parallel.
Bryan O'Sullivan <bos@serpentine.com>
parents:
3942
diff
changeset
|
13 |
("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/file/tip/?style=raw') |
e3a0c092b4e2
Allow tests to run in parallel.
Bryan O'Sullivan <bos@serpentine.com>
parents:
3942
diff
changeset
|
14 |
("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/file/tip/da?style=raw') |
5561
22713dce19f6
hgweb: return meaningful HTTP status codes instead of nonsense
Bryan O'Sullivan <bos@serpentine.com>
parents:
5384
diff
changeset
|
15 |
|
22713dce19f6
hgweb: return meaningful HTTP status codes instead of nonsense
Bryan O'Sullivan <bos@serpentine.com>
parents:
5384
diff
changeset
|
16 |
echo % plain file |
22713dce19f6
hgweb: return meaningful HTTP status codes instead of nonsense
Bryan O'Sullivan <bos@serpentine.com>
parents:
5384
diff
changeset
|
17 |
"$TESTDIR/get-with-headers.py" localhost:$HGPORT '/file/tip/foo?style=raw' |
22713dce19f6
hgweb: return meaningful HTTP status codes instead of nonsense
Bryan O'Sullivan <bos@serpentine.com>
parents:
5384
diff
changeset
|
18 |
|
22713dce19f6
hgweb: return meaningful HTTP status codes instead of nonsense
Bryan O'Sullivan <bos@serpentine.com>
parents:
5384
diff
changeset
|
19 |
echo % should give a 404 - static file that does not exist |
22713dce19f6
hgweb: return meaningful HTTP status codes instead of nonsense
Bryan O'Sullivan <bos@serpentine.com>
parents:
5384
diff
changeset
|
20 |
"$TESTDIR/get-with-headers.py" localhost:$HGPORT '/static/bogus' |
22713dce19f6
hgweb: return meaningful HTTP status codes instead of nonsense
Bryan O'Sullivan <bos@serpentine.com>
parents:
5384
diff
changeset
|
21 |
|
22713dce19f6
hgweb: return meaningful HTTP status codes instead of nonsense
Bryan O'Sullivan <bos@serpentine.com>
parents:
5384
diff
changeset
|
22 |
echo % should give a 404 - bad revision |
22713dce19f6
hgweb: return meaningful HTTP status codes instead of nonsense
Bryan O'Sullivan <bos@serpentine.com>
parents:
5384
diff
changeset
|
23 |
"$TESTDIR/get-with-headers.py" localhost:$HGPORT '/file/spam/foo?style=raw' |
22713dce19f6
hgweb: return meaningful HTTP status codes instead of nonsense
Bryan O'Sullivan <bos@serpentine.com>
parents:
5384
diff
changeset
|
24 |
|
22713dce19f6
hgweb: return meaningful HTTP status codes instead of nonsense
Bryan O'Sullivan <bos@serpentine.com>
parents:
5384
diff
changeset
|
25 |
echo % should give a 400 - bad command |
5564
b4af2dd9868a
hgweb: account for Python 2.4 in one test
Bryan O'Sullivan <bos@serpentine.com>
parents:
5561
diff
changeset
|
26 |
"$TESTDIR/get-with-headers.py" localhost:$HGPORT '/file/tip/foo?cmd=spam&style=raw' | sed 's/400.*/400/' |
5561
22713dce19f6
hgweb: return meaningful HTTP status codes instead of nonsense
Bryan O'Sullivan <bos@serpentine.com>
parents:
5384
diff
changeset
|
27 |
|
22713dce19f6
hgweb: return meaningful HTTP status codes instead of nonsense
Bryan O'Sullivan <bos@serpentine.com>
parents:
5384
diff
changeset
|
28 |
echo % should give a 404 - file does not exist |
22713dce19f6
hgweb: return meaningful HTTP status codes instead of nonsense
Bryan O'Sullivan <bos@serpentine.com>
parents:
5384
diff
changeset
|
29 |
"$TESTDIR/get-with-headers.py" localhost:$HGPORT '/file/tip/bork?style=raw' |
6368
2c370f08c486
hgweb: better error messages
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
5924
diff
changeset
|
30 |
"$TESTDIR/get-with-headers.py" localhost:$HGPORT '/file/tip/bork' |
2c370f08c486
hgweb: better error messages
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
5924
diff
changeset
|
31 |
"$TESTDIR/get-with-headers.py" localhost:$HGPORT '/diff/tip/bork?style=raw' |
5561
22713dce19f6
hgweb: return meaningful HTTP status codes instead of nonsense
Bryan O'Sullivan <bos@serpentine.com>
parents:
5384
diff
changeset
|
32 |
|
5690
1b365c5723bc
server: append to logfiles
Mirko Friedenhagen <mirko-lists@friedenhagen.de>
parents:
5580
diff
changeset
|
33 |
echo % stop and restart |
1b365c5723bc
server: append to logfiles
Mirko Friedenhagen <mirko-lists@friedenhagen.de>
parents:
5580
diff
changeset
|
34 |
kill `cat hg.pid` |
1b365c5723bc
server: append to logfiles
Mirko Friedenhagen <mirko-lists@friedenhagen.de>
parents:
5580
diff
changeset
|
35 |
hg serve -p $HGPORT -d --pid-file=hg.pid -A access.log |
1b365c5723bc
server: append to logfiles
Mirko Friedenhagen <mirko-lists@friedenhagen.de>
parents:
5580
diff
changeset
|
36 |
cat hg.pid >> $DAEMON_PIDS |
1b365c5723bc
server: append to logfiles
Mirko Friedenhagen <mirko-lists@friedenhagen.de>
parents:
5580
diff
changeset
|
37 |
# Test the access/error files are opened in append mode |
1b365c5723bc
server: append to logfiles
Mirko Friedenhagen <mirko-lists@friedenhagen.de>
parents:
5580
diff
changeset
|
38 |
python -c "print len(file('access.log').readlines()), 'log lines written'" |
1b365c5723bc
server: append to logfiles
Mirko Friedenhagen <mirko-lists@friedenhagen.de>
parents:
5580
diff
changeset
|
39 |
|
5561
22713dce19f6
hgweb: return meaningful HTTP status codes instead of nonsense
Bryan O'Sullivan <bos@serpentine.com>
parents:
5384
diff
changeset
|
40 |
echo % static file |
22713dce19f6
hgweb: return meaningful HTTP status codes instead of nonsense
Bryan O'Sullivan <bos@serpentine.com>
parents:
5384
diff
changeset
|
41 |
"$TESTDIR/get-with-headers.py" localhost:$HGPORT '/static/style-gitweb.css' |
5924
b8009718a211
better error reporting for hg serve errors in tests
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
5690
diff
changeset
|
42 |
|
b8009718a211
better error reporting for hg serve errors in tests
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
5690
diff
changeset
|
43 |
echo % errors |
b8009718a211
better error reporting for hg serve errors in tests
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
5690
diff
changeset
|
44 |
cat errors.log |