Mercurial > hg
view tests/test-hgwebdir @ 12307:0852da25a31b stable
eol: setup the repo.ui in reposetup()
This fixes problems some have reported using the eol extension
together with TortoiseHg. It ensures the ui associated with the
repository has the preupdate.eol hook configured.
author | Steve Borho <steve@borho.org> |
---|---|
date | Wed, 15 Sep 2010 17:46:51 -0500 |
parents | 9617803b1acb |
children |
line wrap: on
line source
#!/bin/sh # Tests some basic hgwebdir functionality. Tests setting up paths and # collection, different forms of 404s and the subdirectory support. mkdir webdir cd webdir hg init a echo a > a/a hg --cwd a ci -Ama -d'1 0' # create a mercurial queue repository hg --cwd a qinit --config extensions.hgext.mq= -c hg init b echo b > b/b hg --cwd b ci -Amb -d'2 0' # create a nested repository cd b hg init d echo d > d/d hg --cwd d ci -Amd -d'3 0' cd .. hg init c echo c > c/c hg --cwd c ci -Amc -d'3 0' # create repository without .hg/store hg init nostore rm -R nostore/.hg/store root=`pwd` cd .. cat > paths.conf <<EOF [paths] a=$root/a b=$root/b EOF hg serve -p $HGPORT -d --pid-file=hg.pid --webdir-conf paths.conf \ -A access-paths.log -E error-paths-1.log cat hg.pid >> $DAEMON_PIDS echo % should give a 404 - file does not exist "$TESTDIR/get-with-headers.py" localhost:$HGPORT '/a/file/tip/bork?style=raw' echo % should succeed "$TESTDIR/get-with-headers.py" localhost:$HGPORT '/?style=raw' "$TESTDIR/get-with-headers.py" localhost:$HGPORT '/a/file/tip/a?style=raw' "$TESTDIR/get-with-headers.py" localhost:$HGPORT '/b/file/tip/b?style=raw' echo % should give a 404 - repo is not published "$TESTDIR/get-with-headers.py" localhost:$HGPORT '/c/file/tip/c?style=raw' echo % atom-log without basedir "$TESTDIR/get-with-headers.py" localhost:$HGPORT '/a/atom-log' \ | grep '<link' | sed 's|//[.a-zA-Z0-9_-]*:[0-9][0-9]*/|//example.com:8080/|' echo % rss-log without basedir "$TESTDIR/get-with-headers.py" localhost:$HGPORT '/a/rss-log' \ | grep '<guid' | sed 's|//[.a-zA-Z0-9_-]*:[0-9][0-9]*/|//example.com:8080/|' cat > paths.conf <<EOF [paths] t/a/=$root/a b=$root/b coll=$root/* rcoll=$root/** star=* starstar=** EOF hg serve -p $HGPORT1 -d --pid-file=hg.pid --webdir-conf paths.conf \ -A access-paths.log -E error-paths-2.log cat hg.pid >> $DAEMON_PIDS echo % should succeed, slashy names "$TESTDIR/get-with-headers.py" localhost:$HGPORT1 '/?style=raw' "$TESTDIR/get-with-headers.py" localhost:$HGPORT1 '/?style=paper' \ | sed "s/[0-9]\{1,\} seconds\{0,1\} ago/seconds ago/" "$TESTDIR/get-with-headers.py" localhost:$HGPORT1 '/t?style=raw' "$TESTDIR/get-with-headers.py" localhost:$HGPORT1 '/t/?style=raw' "$TESTDIR/get-with-headers.py" localhost:$HGPORT1 '/t/?style=paper' \ | sed "s/[0-9]\{1,\} seconds\{0,1\} ago/seconds ago/" "$TESTDIR/get-with-headers.py" localhost:$HGPORT1 '/t/a?style=atom' \ | sed "s/http:\/\/[^/]*\//http:\/\/127.0.0.1\//" "$TESTDIR/get-with-headers.py" localhost:$HGPORT1 '/t/a/?style=atom' \ | sed "s/http:\/\/[^/]*\//http:\/\/127.0.0.1\//" "$TESTDIR/get-with-headers.py" localhost:$HGPORT1 '/t/a/file/tip/a?style=raw' # Test [paths] '*' extension "$TESTDIR/get-with-headers.py" localhost:$HGPORT1 '/coll/?style=raw' "$TESTDIR/get-with-headers.py" localhost:$HGPORT1 '/coll/a/file/tip/a?style=raw' #test [paths] '**' extension "$TESTDIR/get-with-headers.py" localhost:$HGPORT1 '/rcoll/?style=raw' "$TESTDIR/get-with-headers.py" localhost:$HGPORT1 '/rcoll/b/d/file/tip/d?style=raw' "$TESTDIR/killdaemons.py" cat > paths.conf <<EOF [paths] t/a = $root/a t/b = $root/b c = $root/c [web] descend=false EOF hg serve -p $HGPORT1 -d --pid-file=hg.pid --webdir-conf paths.conf \ -A access-paths.log -E error-paths-3.log cat hg.pid >> $DAEMON_PIDS echo % test descend = False "$TESTDIR/get-with-headers.py" localhost:$HGPORT1 '/?style=raw' "$TESTDIR/get-with-headers.py" localhost:$HGPORT1 '/t/?style=raw' "$TESTDIR/killdaemons.py" cat > paths.conf <<EOF [paths] nostore = $root/nostore inexistent = $root/inexistent EOF hg serve -p $HGPORT1 -d --pid-file=hg.pid --webdir-conf paths.conf \ -A access-paths.log -E error-paths-4.log cat hg.pid >> $DAEMON_PIDS echo % test inexistent and inaccessible repo should be ignored silently "$TESTDIR/get-with-headers.py" localhost:$HGPORT1 '/' cat > collections.conf <<EOF [collections] $root=$root EOF hg serve --config web.baseurl=http://hg.example.com:8080/ -p $HGPORT2 -d \ --pid-file=hg.pid --webdir-conf collections.conf \ -A access-collections.log -E error-collections.log cat hg.pid >> $DAEMON_PIDS echo % collections: should succeed "$TESTDIR/get-with-headers.py" localhost:$HGPORT2 '/?style=raw' "$TESTDIR/get-with-headers.py" localhost:$HGPORT2 '/a/file/tip/a?style=raw' "$TESTDIR/get-with-headers.py" localhost:$HGPORT2 '/b/file/tip/b?style=raw' "$TESTDIR/get-with-headers.py" localhost:$HGPORT2 '/c/file/tip/c?style=raw' echo % atom-log with basedir / "$TESTDIR/get-with-headers.py" localhost:$HGPORT2 '/a/atom-log' \ | grep '<link' | sed 's|//[.a-zA-Z0-9_-]*:[0-9][0-9]*/|//example.com:8080/|' echo % rss-log with basedir / "$TESTDIR/get-with-headers.py" localhost:$HGPORT2 '/a/rss-log' \ | grep '<guid' | sed 's|//[.a-zA-Z0-9_-]*:[0-9][0-9]*/|//example.com:8080/|' "$TESTDIR/killdaemons.py" hg serve --config web.baseurl=http://hg.example.com:8080/foo/ -p $HGPORT2 -d \ --pid-file=hg.pid --webdir-conf collections.conf \ -A access-collections-2.log -E error-collections-2.log cat hg.pid >> $DAEMON_PIDS echo % atom-log with basedir /foo/ "$TESTDIR/get-with-headers.py" localhost:$HGPORT2 '/a/atom-log' \ | grep '<link' | sed 's|//[.a-zA-Z0-9_-]*:[0-9][0-9]*/|//example.com:8080/|' echo % rss-log with basedir /foo/ "$TESTDIR/get-with-headers.py" localhost:$HGPORT2 '/a/rss-log' \ | grep '<guid' | sed 's|//[.a-zA-Z0-9_-]*:[0-9][0-9]*/|//example.com:8080/|' echo % paths errors 1 cat error-paths-1.log echo % paths errors 2 cat error-paths-2.log echo % paths errors 3 cat error-paths-3.log echo % collections errors cat error-collections.log echo % collections errors 2 cat error-collections-2.log