tests/test-hgwebdirsym.t
author Gregory Szorc <gregory.szorc@gmail.com>
Wed, 04 Apr 2018 14:04:18 -0700
changeset 37416 7542e97c7867
parent 25472 4d2b9b304ad0
permissions -rw-r--r--
tests: conditionalize tests for various repo features Working my down the long tail of test failures due to the simple store. We're now down to 38 failures with the simple store. Differential Revision: https://phab.mercurial-scm.org/D3096

#require serve symlink

Tests whether or not hgwebdir properly handles various symlink topologies.

hide outer repo
  $ hg init

  $ 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

  $ get-with-headers.py localhost:$HGPORT '?style=raw'
  200 Script output follows
  
  
  /al/
  /b/
  /c/
  
  $ get-with-headers.py localhost:$HGPORT 'al/file/tip/a?style=raw'
  200 Script output follows
  
  a
  $ get-with-headers.py localhost:$HGPORT 'b/file/tip/b?style=raw'
  200 Script output follows
  
  b
  $ get-with-headers.py localhost:$HGPORT 'c/file/tip/c?style=raw'
  200 Script output follows
  
  c

should fail

  $ get-with-headers.py localhost:$HGPORT 'circle/al/file/tip/a?style=raw'
  404 Not Found
  
  
  error: repository circle/al/file/tip/a not found
  [1]
  $ get-with-headers.py localhost:$HGPORT 'circle/b/file/tip/a?style=raw'
  404 Not Found
  
  
  error: repository circle/b/file/tip/a not found
  [1]
  $ get-with-headers.py localhost:$HGPORT 'circle/c/file/tip/a?style=raw'
  404 Not Found
  
  
  error: repository circle/c/file/tip/a not found
  [1]

collections errors

  $ cat error-collections.log