|
|
#!/bin/sh
|
|
|
# An attempt at more fully testing the hgweb web interface.
|
|
|
# The following things are tested elsewhere and are therefore omitted:
|
|
|
# - archive, tested in test-archive
|
|
|
# - unbundle, tested in test-push-http
|
|
|
# - changegroupsubset, tested in test-pull
|
|
|
|
|
|
echo % Set up the repo
|
|
|
hg init test
|
|
|
cd test
|
|
|
mkdir da
|
|
|
echo foo > da/foo
|
|
|
echo foo > foo
|
|
|
hg ci -Ambase
|
|
|
hg tag 1.0
|
|
|
echo another > foo
|
|
|
hg branch stable
|
|
|
hg ci -Ambranch
|
|
|
hg serve --config server.uncompressed=False -n test -p $HGPORT -d --pid-file=hg.pid -E errors.log
|
|
|
cat hg.pid >> $DAEMON_PIDS
|
|
|
|
|
|
echo % Logs and changes
|
|
|
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/log/?style=atom' | sed "s/http:\/\/[^/]*\//http:\/\/127.0.0.1\//"
|
|
|
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/log/1/?style=atom' | sed "s/http:\/\/[^/]*\//http:\/\/127.0.0.1\//"
|
|
|
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/log/1/foo/?style=atom' | sed "s/http:\/\/[^/]*\//http:\/\/127.0.0.1\//"
|
|
|
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/shortlog/'
|
|
|
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/rev/0/'
|
|
|
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/rev/1/?style=raw'
|
|
|
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/log?rev=base'
|
|
|
|
|
|
echo % File-related
|
|
|
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/file/1/foo/?style=raw'
|
|
|
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/annotate/1/foo/?style=raw'
|
|
|
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/file/1/?style=raw'
|
|
|
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/file/1/foo'
|
|
|
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/filediff/1/foo/?style=raw'
|
|
|
|
|
|
echo % Overviews
|
|
|
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/raw-tags'
|
|
|
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/raw-branches'
|
|
|
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/summary/?style=gitweb'
|
|
|
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/graph/?style=gitweb'
|
|
|
|
|
|
echo % capabilities
|
|
|
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '?cmd=capabilities'
|
|
|
echo % heads
|
|
|
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '?cmd=heads'
|
|
|
echo % lookup
|
|
|
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '?cmd=lookup&key=1'
|
|
|
echo % branches
|
|
|
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '?cmd=branches&nodes=0000000000000000000000000000000000000000'
|
|
|
echo % changegroup
|
|
|
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '?cmd=changegroup&roots=0000000000000000000000000000000000000000' \
|
|
|
| $TESTDIR/printrepr.py
|
|
|
echo % stream_out
|
|
|
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '?cmd=stream_out'
|
|
|
echo % failing unbundle, requires POST request
|
|
|
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '?cmd=unbundle'
|
|
|
|
|
|
echo % Static files
|
|
|
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/static/style.css'
|
|
|
|
|
|
echo % Stop and restart with HGENCODING=cp932
|
|
|
"$TESTDIR/killdaemons.py"
|
|
|
HGENCODING=cp932 hg serve --config server.uncompressed=False -n test \
|
|
|
-p $HGPORT -d --pid-file=hg.pid -E errors.log
|
|
|
cat hg.pid >> $DAEMON_PIDS
|
|
|
|
|
|
# commit message with Japanese Kanji 'Noh', which ends with '\x5c'
|
|
|
echo foo >> foo
|
|
|
HGENCODING=cp932 hg ci -m `python -c 'print("\x94\x5c")'`
|
|
|
|
|
|
echo % Graph json escape of multibyte character
|
|
|
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/graph/' \
|
|
|
| grep '^var data ='
|
|
|
|
|
|
echo % ERRORS ENCOUNTERED
|
|
|
cat errors.log
|
|
|
|