tests/test-hgweb-commands
author Henrik Stuart <henrik.stuart@edlund.dk>
Tue, 12 May 2009 15:50:44 +0200
changeset 8364 fa901423ac23
parent 8358 be2277c1dfcc
child 8446 e1f4343db740
permissions -rwxr-xr-x
windows: avoid deleting non-empty reparse points If a hg repository including working directory is a reparse point (directory symlinked or a junction point), then using os.removedirs will remove the reparse point erroneously. This is fixed by only removing directories if they are empty.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5590
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
     1
#!/bin/sh
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
     2
# An attempt at more fully testing the hgweb web interface.
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
     3
# The following things are tested elsewhere and are therefore omitted:
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
     4
# - archive, tested in test-archive
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
     5
# - unbundle, tested in test-push-http
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
     6
# - changegroupsubset, tested in test-pull
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
     7
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
     8
echo % Set up the repo
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
     9
hg init test
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    10
cd test
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    11
mkdir da
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    12
echo foo > da/foo
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    13
echo foo > foo
8167
6c82beaaa11a tests: removed redundant "-d '0 0'" from test scripts
Martin Geisler <mg@lazybytes.net>
parents: 7544
diff changeset
    14
hg ci -Ambase
5590
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    15
hg tag 1.0
8358
be2277c1dfcc tests: add test for branches webcommand
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 8167
diff changeset
    16
echo another > foo
be2277c1dfcc tests: add test for branches webcommand
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 8167
diff changeset
    17
hg branch stable
be2277c1dfcc tests: add test for branches webcommand
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 8167
diff changeset
    18
hg ci -Ambranch
5590
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    19
hg serve -n test -p $HGPORT -d --pid-file=hg.pid -E errors.log
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    20
cat hg.pid >> $DAEMON_PIDS
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    21
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    22
echo % Logs and changes
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    23
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/log/?style=atom' | sed "s/http:\/\/[^/]*\//http:\/\/127.0.0.1\//"
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    24
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/log/1/?style=atom' | sed "s/http:\/\/[^/]*\//http:\/\/127.0.0.1\//"
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    25
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/log/1/foo/?style=atom' | sed "s/http:\/\/[^/]*\//http:\/\/127.0.0.1\//"
7544
c5e37dc38a52 test-hgweb-*: replace "XX years ago" by a fixed string in get-with-headers.py
Gilles Moris <gilles.moris@free.fr>
parents: 6786
diff changeset
    26
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/shortlog/'
c5e37dc38a52 test-hgweb-*: replace "XX years ago" by a fixed string in get-with-headers.py
Gilles Moris <gilles.moris@free.fr>
parents: 6786
diff changeset
    27
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/rev/0/'
5590
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    28
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/rev/1/?style=raw'
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    29
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    30
echo % File-related
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    31
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/file/1/foo/?style=raw'
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    32
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/annotate/1/foo/?style=raw'
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    33
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/file/1/?style=raw'
7544
c5e37dc38a52 test-hgweb-*: replace "XX years ago" by a fixed string in get-with-headers.py
Gilles Moris <gilles.moris@free.fr>
parents: 6786
diff changeset
    34
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/file/1/foo'
5590
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    35
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/filediff/1/foo/?style=raw'
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    36
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    37
echo % Overviews
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    38
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/tags/?style=atom' | sed "s/http:\/\/[^/]*\//http:\/\/127.0.0.1\//"
8358
be2277c1dfcc tests: add test for branches webcommand
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 8167
diff changeset
    39
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/branches/?style=gitweb' | sed "s/http:\/\/[^/]*\//http:\/\/127.0.0.1\//"
7544
c5e37dc38a52 test-hgweb-*: replace "XX years ago" by a fixed string in get-with-headers.py
Gilles Moris <gilles.moris@free.fr>
parents: 6786
diff changeset
    40
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/summary/?style=gitweb'
c5e37dc38a52 test-hgweb-*: replace "XX years ago" by a fixed string in get-with-headers.py
Gilles Moris <gilles.moris@free.fr>
parents: 6786
diff changeset
    41
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/graph/?style=gitweb'
5590
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    42
5593
6ae8ed59c7b4 Fix breaking test from 05451f6b5f07
Bryan O'Sullivan <bos@serpentine.com>
parents: 5590
diff changeset
    43
echo % capabilities
6777
44c5157474e7 hgweb: protocol requests are processed immediately
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 6335
diff changeset
    44
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '?cmd=capabilities'
5593
6ae8ed59c7b4 Fix breaking test from 05451f6b5f07
Bryan O'Sullivan <bos@serpentine.com>
parents: 5590
diff changeset
    45
echo % heads
6777
44c5157474e7 hgweb: protocol requests are processed immediately
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 6335
diff changeset
    46
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '?cmd=heads'
5593
6ae8ed59c7b4 Fix breaking test from 05451f6b5f07
Bryan O'Sullivan <bos@serpentine.com>
parents: 5590
diff changeset
    47
echo % lookup
6777
44c5157474e7 hgweb: protocol requests are processed immediately
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 6335
diff changeset
    48
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '?cmd=lookup&node=1'
5593
6ae8ed59c7b4 Fix breaking test from 05451f6b5f07
Bryan O'Sullivan <bos@serpentine.com>
parents: 5590
diff changeset
    49
echo % branches
6777
44c5157474e7 hgweb: protocol requests are processed immediately
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 6335
diff changeset
    50
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '?cmd=branches'
5593
6ae8ed59c7b4 Fix breaking test from 05451f6b5f07
Bryan O'Sullivan <bos@serpentine.com>
parents: 5590
diff changeset
    51
echo % changegroup
6777
44c5157474e7 hgweb: protocol requests are processed immediately
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 6335
diff changeset
    52
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '?cmd=changegroup'
5593
6ae8ed59c7b4 Fix breaking test from 05451f6b5f07
Bryan O'Sullivan <bos@serpentine.com>
parents: 5590
diff changeset
    53
echo % stream_out
6777
44c5157474e7 hgweb: protocol requests are processed immediately
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 6335
diff changeset
    54
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '?cmd=stream_out'
6335
e29557d687c9 hgweb: only accept POST requests for unbundle
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 6168
diff changeset
    55
echo % failing unbundle, requires POST request
6777
44c5157474e7 hgweb: protocol requests are processed immediately
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 6335
diff changeset
    56
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '?cmd=unbundle'
5590
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    57
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    58
echo % Static files
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    59
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/static/style.css'
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    60
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    61
echo % ERRORS ENCOUNTERED
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    62
cat errors.log