Mercurial > hg
view tests/test-hgwebdir @ 11772:423ece53380e stable
test-dispatch: Make test of removed working directory work on AIX (issue2315)
AIX sh won't delete its own working directory. Removing it from another process
works.
Also hide the actual OS error message - operating systems returns different
errors when getcwd fails.
author | Mads Kiilerich <mads@kiilerich.com> |
---|---|
date | Mon, 09 Aug 2010 21:43:39 +0200 |
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