##// END OF EJS Templates
narrow: add test demonstrating bug in acl exclusion enforcement
narrow: add test demonstrating bug in acl exclusion enforcement

File last commit:

r52201:bf7c24e1 stable
r52201:bf7c24e1 stable
Show More
test-narrow-acl-excludes.t
81 lines | 1.8 KiB | text/troff | Tads3Lexer
/ tests / test-narrow-acl-excludes.t
Arun Kulshreshtha
narrow: add test demonstrating bug in acl exclusion enforcement
r52201 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.