Mercurial > hg > mercurial-source
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
old mode 100755 new mode 100644 copy from tests/test-audit-path copy to tests/test-audit-path.t --- a/tests/test-audit-path +++ b/tests/test-audit-path.t @@ -1,48 +1,76 @@ -#!/bin/sh + $ hg init + +should fail + + $ hg add .hg/00changelog.i + abort: path contains illegal component: .hg/00changelog.i -hg init - -echo % should fail -hg add .hg/00changelog.i + $ mkdir a + $ echo a > a/a + $ hg ci -Ama + adding a/a + $ ln -s a b + $ echo b > a/b -mkdir a -echo a > a/a -hg ci -Ama -ln -s a b -echo b > a/b +should fail + + $ hg add b/b + abort: path 'b/b' traverses symbolic link 'b' + +should succeed -echo % should fail -hg add b/b + $ hg add b + +should still fail - maybe -echo % should succeed -hg add b + $ hg add b/b + abort: path 'b/b' traverses symbolic link 'b' -echo % should still fail - maybe -hg add b/b +unbundle tampered bundle -echo % unbundle tampered bundle -hg init target -cd target -hg unbundle $TESTDIR/tampered.hg + $ 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 -echo % attack .hg/test -hg manifest -r0 -hg update -Cr0 + $ hg manifest -r0 + .hg/test + $ hg update -Cr0 + abort: path contains illegal component: .hg/test -echo % attack foo/.hg/test -hg manifest -r1 -hg update -Cr1 +attack foo/.hg/test + + $ hg manifest -r1 + foo/.hg/test + $ hg update -Cr1 + abort: path 'foo/.hg/test' is inside repo 'foo' -echo % attack back/test where back symlinks to .. -hg manifest -r2 -hg update -Cr2 +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 -echo % attack ../test -hg manifest -r3 -hg update -Cr3 + $ hg manifest -r3 + ../test + $ hg update -Cr3 + abort: path contains illegal component: ../test + +attack /tmp/test -echo % attack /tmp/test -hg manifest -r4 -hg update -Cr4 2>&1 | sed -e "s|/.*/test-audit-path|[HGTMP]/test-audit-path|" + $ hg manifest -r4 + /tmp/test + $ hg update -Cr4 + abort: No such file or directory: .*/test-audit-path.t/target//tmp/test -exit 0 + $ exit 0