tests/test-hgweb-commands
author Martin Geisler <mg@lazybytes.net>
Sat, 14 Aug 2010 02:35:44 +0200
changeset 11858 934c7e91c126
parent 11766 a65ea28269ef
permissions -rwxr-xr-x
tests: unify test-bad-extension
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
10414
1a8df80dfdde streaming: actually change default
Matt Mackall <mpm@selenic.com>
parents: 10248
diff changeset
    19
hg serve --config server.uncompressed=False -n test -p $HGPORT -d --pid-file=hg.pid -E errors.log
5590
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'
10248
4441e8d7f04f hgweb: add a test for search logs
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 9946
diff changeset
    29
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/log?rev=base'
5590
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    30
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    31
echo % File-related
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 '/file/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 '/annotate/1/foo/?style=raw'
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    34
"$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
    35
"$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
    36
"$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
    37
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    38
echo % Overviews
9946
2059be77d4f8 templates: add raw templates for tags/branches pages
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 8448
diff changeset
    39
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/raw-tags'
2059be77d4f8 templates: add raw templates for tags/branches pages
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 8448
diff changeset
    40
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/raw-branches'
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
    41
"$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
    42
"$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
    43
5593
6ae8ed59c7b4 Fix breaking test from 05451f6b5f07
Bryan O'Sullivan <bos@serpentine.com>
parents: 5590
diff changeset
    44
echo % capabilities
6777
44c5157474e7 hgweb: protocol requests are processed immediately
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 6335
diff changeset
    45
"$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
    46
echo % heads
6777
44c5157474e7 hgweb: protocol requests are processed immediately
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 6335
diff changeset
    47
"$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
    48
echo % lookup
11582
26c7d4fc31bf protocol: use new wireproto infrastructure in ssh
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    49
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '?cmd=lookup&key=1'
5593
6ae8ed59c7b4 Fix breaking test from 05451f6b5f07
Bryan O'Sullivan <bos@serpentine.com>
parents: 5590
diff changeset
    50
echo % branches
11582
26c7d4fc31bf protocol: use new wireproto infrastructure in ssh
Matt Mackall <mpm@selenic.com>
parents: 10414
diff changeset
    51
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '?cmd=branches&nodes=0000000000000000000000000000000000000000'
5593
6ae8ed59c7b4 Fix breaking test from 05451f6b5f07
Bryan O'Sullivan <bos@serpentine.com>
parents: 5590
diff changeset
    52
echo % changegroup
11584
1af96b090116 protocol: unify changegroup commands
Matt Mackall <mpm@selenic.com>
parents: 11582
diff changeset
    53
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '?cmd=changegroup&roots=0000000000000000000000000000000000000000' \
8448
0eb8c4df61bd tests: renamed helper to avoid clash with stdlib repr module
Martin Geisler <mg@lazybytes.net>
parents: 8446
diff changeset
    54
    | $TESTDIR/printrepr.py
5593
6ae8ed59c7b4 Fix breaking test from 05451f6b5f07
Bryan O'Sullivan <bos@serpentine.com>
parents: 5590
diff changeset
    55
echo % stream_out
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=stream_out'
6335
e29557d687c9 hgweb: only accept POST requests for unbundle
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 6168
diff changeset
    57
echo % failing unbundle, requires POST request
6777
44c5157474e7 hgweb: protocol requests are processed immediately
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 6335
diff changeset
    58
"$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
    59
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    60
echo % Static files
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    61
"$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
    62
11765
aff419e260f9 templatefilters: make json filter handle multibyte characters correctly
Yuya Nishihara <yuya@tcha.org>
parents: 10414
diff changeset
    63
echo % Stop and restart with HGENCODING=cp932
aff419e260f9 templatefilters: make json filter handle multibyte characters correctly
Yuya Nishihara <yuya@tcha.org>
parents: 10414
diff changeset
    64
"$TESTDIR/killdaemons.py"
aff419e260f9 templatefilters: make json filter handle multibyte characters correctly
Yuya Nishihara <yuya@tcha.org>
parents: 10414
diff changeset
    65
HGENCODING=cp932 hg serve --config server.uncompressed=False -n test \
aff419e260f9 templatefilters: make json filter handle multibyte characters correctly
Yuya Nishihara <yuya@tcha.org>
parents: 10414
diff changeset
    66
    -p $HGPORT -d --pid-file=hg.pid -E errors.log
aff419e260f9 templatefilters: make json filter handle multibyte characters correctly
Yuya Nishihara <yuya@tcha.org>
parents: 10414
diff changeset
    67
cat hg.pid >> $DAEMON_PIDS
aff419e260f9 templatefilters: make json filter handle multibyte characters correctly
Yuya Nishihara <yuya@tcha.org>
parents: 10414
diff changeset
    68
aff419e260f9 templatefilters: make json filter handle multibyte characters correctly
Yuya Nishihara <yuya@tcha.org>
parents: 10414
diff changeset
    69
# commit message with Japanese Kanji 'Noh', which ends with '\x5c'
aff419e260f9 templatefilters: make json filter handle multibyte characters correctly
Yuya Nishihara <yuya@tcha.org>
parents: 10414
diff changeset
    70
echo foo >> foo
aff419e260f9 templatefilters: make json filter handle multibyte characters correctly
Yuya Nishihara <yuya@tcha.org>
parents: 10414
diff changeset
    71
HGENCODING=cp932 hg ci -m `python -c 'print("\x94\x5c")'`
aff419e260f9 templatefilters: make json filter handle multibyte characters correctly
Yuya Nishihara <yuya@tcha.org>
parents: 10414
diff changeset
    72
aff419e260f9 templatefilters: make json filter handle multibyte characters correctly
Yuya Nishihara <yuya@tcha.org>
parents: 10414
diff changeset
    73
echo % Graph json escape of multibyte character
aff419e260f9 templatefilters: make json filter handle multibyte characters correctly
Yuya Nishihara <yuya@tcha.org>
parents: 10414
diff changeset
    74
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/graph/' \
aff419e260f9 templatefilters: make json filter handle multibyte characters correctly
Yuya Nishihara <yuya@tcha.org>
parents: 10414
diff changeset
    75
    | grep '^var data ='
aff419e260f9 templatefilters: make json filter handle multibyte characters correctly
Yuya Nishihara <yuya@tcha.org>
parents: 10414
diff changeset
    76
5590
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    77
echo % ERRORS ENCOUNTERED
05451f6b5f07 add more tests for hgweb commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff changeset
    78
cat errors.log