tests/test-hgwebdirsym.t
changeset 12444 a4c19a900794
parent 6341 63bdfcc3eaaf
child 13066 86888ae9ce90
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-hgwebdirsym.t	Sun Sep 26 13:41:32 2010 -0500
@@ -0,0 +1,76 @@
+Tests whether or not hgwebdir properly handles various symlink topologies.
+
+  $ "$TESTDIR/hghave" symlink || exit 80
+  $ hg init a
+  $ echo a > a/a
+  $ hg --cwd a ci -Ama -d'1 0'
+  adding a
+  $ mkdir webdir
+  $ cd webdir
+  $ hg init b
+  $ echo b > b/b
+  $ hg --cwd b ci -Amb -d'2 0'
+  adding b
+  $ hg init c
+  $ echo c > c/c
+  $ hg --cwd c ci -Amc -d'3 0'
+  adding c
+  $ ln -s ../a al
+  $ ln -s ../webdir circle
+  $ root=`pwd`
+  $ cd ..
+  $ cat > collections.conf <<EOF
+  > [collections]
+  > $root=$root
+  > EOF
+  $ hg serve -p $HGPORT -d --pid-file=hg.pid --webdir-conf collections.conf \
+  >     -A access-collections.log -E error-collections.log
+  $ cat hg.pid >> $DAEMON_PIDS
+
+should succeed
+
+  $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT '/?style=raw'
+  200 Script output follows
+  
+  
+  /al/
+  /b/
+  /c/
+  
+  $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT '/al/file/tip/a?style=raw'
+  200 Script output follows
+  
+  a
+  $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT '/b/file/tip/b?style=raw'
+  200 Script output follows
+  
+  b
+  $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT '/c/file/tip/c?style=raw'
+  200 Script output follows
+  
+  c
+
+should fail
+
+  $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT '/circle/al/file/tip/a?style=raw'
+  404 Not Found
+  
+  
+  error: repository circle not found
+  [1]
+  $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT '/circle/b/file/tip/a?style=raw'
+  404 Not Found
+  
+  
+  error: repository circle not found
+  [1]
+  $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT '/circle/c/file/tip/a?style=raw'
+  404 Not Found
+  
+  
+  error: repository circle not found
+  [1]
+
+collections errors
+
+  $ cat error-collections.log