Mercurial > hg-stable
changeset 51155:bf7c24e12fad stable
narrow: add test demonstrating bug in acl exclusion enforcement
author | Arun Kulshreshtha <akulshreshtha@janestreet.com> |
---|---|
date | Thu, 04 Jan 2024 14:41:18 -0500 |
parents | c17cf2d51ff4 |
children | 9b44b25dece1 |
files | tests/test-narrow-acl-excludes.t |
diffstat | 1 files changed, 81 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-narrow-acl-excludes.t Thu Jan 04 14:41:18 2024 -0500 @@ -0,0 +1,81 @@ +Test exclusion-based ACL enforcement + $ . "$TESTDIR/narrow-library.sh" + + $ hg init master + $ cd master + + $ for x in `$TESTDIR/seq.py 3`; do + > echo $x > "f$x" + > hg add "f$x" + > hg commit -m "Add $x" + > done + $ cat >> .hg/hgrc << EOF + > [narrowacl] + > default.includes=* + > default.excludes=f2 f3 + > test.excludes=f3 + > EOF + $ hg serve -a localhost -p $HGPORT1 -d --pid-file=hg.pid + $ cat hg.pid >> "$DAEMON_PIDS" + + $ cd .. + $ hg clone http://localhost:$HGPORT1 narrowclone1 + requesting all changes + adding changesets + adding manifests + adding file changes + added 3 changesets with 2 changes to 2 files + new changesets * (glob) + updating to branch default + 2 files updated, 0 files merged, 0 files removed, 0 files unresolved + +The clone directory should only contain f1 and f2 + $ ls -A -1 narrowclone1 | sort + .hg + f1 + f2 + +Requirements should contain narrowhg + $ hg debugrequires -R narrowclone1 | grep narrowhg + narrowhg-experimental + +NarrowHG should exclude f3. + $ hg -R narrowclone1 tracked + I path:. + X path:f3 + +Narrow should not be able to widen to include f3 + $ hg -R narrowclone1 tracked --addinclude f3 + comparing with http://localhost:$HGPORT1/ + searching for changes + adding changesets + adding manifests + adding file changes + $ ls -A -1 narrowclone1 | sort + .hg + f1 + f2 + $ hg -R narrowclone1 tracked + I path:. + X path:f3 + + +Narrow should not be able to remove the exclusion for f3 + $ hg -R narrowclone1 tracked --removeexclude f3 + comparing with http://localhost:$HGPORT1/ + searching for changes + adding changesets + adding manifests + adding file changes + added 0 changesets with 1 changes to 1 files + $ ls -A -1 narrowclone1 | sort + .hg + f1 + f2 + f3 + $ hg -R narrowclone1 tracked + I path:. + + +XXX: BUG! This test demonstrates that we are presently +able to gain access to f3 by removing the exclusion.