Mercurial > hg
diff tests/test-audit-path.t @ 11855:054b0d9c3f0c
tests: unify test-audit-path
author | Martin Geisler <mg@lazybytes.net> |
---|---|
date | Sat, 14 Aug 2010 02:26:58 +0200 |
parents | tests/test-audit-path@c6f3ff294fe0 |
children | 4134686b83e1 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-audit-path.t Sat Aug 14 02:26:58 2010 +0200 @@ -0,0 +1,76 @@ + $ hg init + +should fail + + $ hg add .hg/00changelog.i + abort: path contains illegal component: .hg/00changelog.i + + $ mkdir a + $ echo a > a/a + $ hg ci -Ama + adding a/a + $ ln -s a b + $ echo b > a/b + +should fail + + $ hg add b/b + abort: path 'b/b' traverses symbolic link 'b' + +should succeed + + $ hg add b + +should still fail - maybe + + $ hg add b/b + abort: path 'b/b' traverses symbolic link 'b' + +unbundle tampered bundle + + $ hg init target + $ cd target + $ hg unbundle $TESTDIR/tampered.hg + adding changesets + adding manifests + adding file changes + added 5 changesets with 6 changes to 6 files (+4 heads) + (run 'hg heads' to see heads, 'hg merge' to merge) + +attack .hg/test + + $ hg manifest -r0 + .hg/test + $ hg update -Cr0 + abort: path contains illegal component: .hg/test + +attack foo/.hg/test + + $ hg manifest -r1 + foo/.hg/test + $ hg update -Cr1 + abort: path 'foo/.hg/test' is inside repo 'foo' + +attack back/test where back symlinks to .. + + $ hg manifest -r2 + back + back/test + $ hg update -Cr2 + abort: path 'back/test' traverses symbolic link 'back' + +attack ../test + + $ hg manifest -r3 + ../test + $ hg update -Cr3 + abort: path contains illegal component: ../test + +attack /tmp/test + + $ hg manifest -r4 + /tmp/test + $ hg update -Cr4 + abort: No such file or directory: .*/test-audit-path.t/target//tmp/test + + $ exit 0