Mercurial > hg
view tests/test-hgwebdir @ 11949:626fe5c99231
hgfixes: added a fixer to convert changes in the email package
This patch adds a fixer that accounts for changes in python packages, as the
framework provided by lib2to3 is only able to track changes in module names.
This fixer (hopefully) can fix any change in one-level hierarchies.
To exemplify, this fixer can successfully change an import from
"email.MIMEMultipart" to "email.mime.multipart".
author | Renato Cunha <renatoc@gmail.com> |
---|---|
date | Sun, 08 Aug 2010 15:48:58 -0300 |
parents | 8f8a7976f4bc |
children | 9617803b1acb |
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' 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' 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