Mercurial > hg
view tests/test-narrow-acl-excludes.t @ 51996:625cf9621551
tests: add a module that can perform the equivalent of `SIGKILL` on any OS
I started with this being Windows specific, but let's push all of the decision
making into this function so that it can just be called by the tests. The
tradeoff is that this is very specific to sending `SIGKILL`- since
`signal.SIGKILL` doesn't exist on Windows, the desired signal can't be passed
from the caller. Maybe there's a way, but let's wait until there's a need.
We don't use `killdaemons.py` unconditionally because it starts with a more
graceful `SIGTERM` on posix.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Sat, 12 Oct 2024 16:06:37 -0400 |
parents | 9b44b25dece1 |
children |
line wrap: on
line source
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 abort: The following excludes cannot be removed for test: ['path:f3'] [255] $ ls -A -1 narrowclone1 | sort .hg f1 f2 $ hg -R narrowclone1 tracked I path:. X path:f3