Mercurial > hg-stable
changeset 48312:7dd48d5da64f stable
tests: add guard check for suid support
This adds a check for setuid and setgid support and guards a part of a test
requiring this particular filesystem feature.
Such feature is notably missing in the Nix/NixOS build sandbox and was causing
the whole test to fail for the mercurial package.
Differential Revision: https://phab.mercurial-scm.org/D11739
author | pacien <pacien.trangirard@pacien.net> |
---|---|
date | Tue, 09 Nov 2021 02:08:18 +0100 |
parents | ab2dfc993b5c |
children | bc04a7615c96 |
files | tests/hghave.py tests/test-remotefilelog-permissions.t |
diffstat | 2 files changed, 11 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/hghave.py Tue Nov 09 02:00:25 2021 +0100 +++ b/tests/hghave.py Tue Nov 09 02:08:18 2021 +0100 @@ -264,6 +264,13 @@ return not (new_file_has_exec or exec_flags_cannot_flip) +@check("suidbit", "setuid and setgid bit") +def has_suidbit(): + if getattr(os, "statvfs", None) is None or getattr(os, "ST_NOSUID") is None: + return False + return bool(os.statvfs('.').f_flag & os.ST_NOSUID) + + @check("icasefs", "case insensitive file system") def has_icasefs(): # Stolen from mercurial.util
--- a/tests/test-remotefilelog-permissions.t Tue Nov 09 02:00:25 2021 +0100 +++ b/tests/test-remotefilelog-permissions.t Tue Nov 09 02:08:18 2021 +0100 @@ -33,6 +33,8 @@ $ chmod -R u+w master/.hg/remotefilelogcache +#if suidbit + # Test setting up shared cache with the right permissions # (this is hard to test in a cross platform way, so we just make sure nothing # crashes) @@ -44,3 +46,5 @@ 1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over * (glob) $ ls -ld $CACHEDIR/11 drwxrws* $TESTTMP/hgcache/11 (glob) + +#endif