Mercurial > hg
annotate tests/test-hgweb-commands @ 12252:4481f8a93c7a stable
convert/darcs: handle non-ASCII metadata in darcs changelog (issue2354)
Given a commit author or message with non-ASCII characters in a darcs
repo, convert would raise a UnicodeEncodeError when adding changesets
to the hg changelog.
This happened because etree returns back unicode objects for any text
it can't encode into ASCII. convert was passing these objects to
changelog.add(), which would then attempt encoding.fromlocal() on
them.
This patch ensures converter_source.recode() is called on each piece
of commit data returned by etree.
(Also note that darcs is currently encoding agnostic and will print
out whatever is in a patch's metadata byte-for-byte, even in the XML
changelog.)
author | Brodie Rao <brodie@bitheap.org> |
---|---|
date | Fri, 10 Sep 2010 09:30:50 -0500 |
parents | aff419e260f9 |
children | a65ea28269ef |
rev | line source |
---|---|
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 |
6777
44c5157474e7
hgweb: protocol requests are processed immediately
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6335
diff
changeset
|
49 "$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
|
50 echo % branches |
6777
44c5157474e7
hgweb: protocol requests are processed immediately
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6335
diff
changeset
|
51 "$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
|
52 echo % changegroup |
8446
e1f4343db740
tests: use repr.py to avoid binary characters in test output
Marti Raudsepp <marti@juffo.org>
parents:
8358
diff
changeset
|
53 "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '?cmd=changegroup' \ |
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 |