diff --git a/tests/hghave.py b/tests/hghave.py --- a/tests/hghave.py +++ b/tests/hghave.py @@ -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 not hasattr(os, "statvfs") or not hasattr(os, "ST_NOSUID"): + return False + return bool(os.statvfs('.').f_flag & os.ST_NOSUID) + + @check("icasefs", "case insensitive file system") def has_icasefs(): # Stolen from mercurial.util diff --git a/tests/test-remotefilelog-permissions.t b/tests/test-remotefilelog-permissions.t --- a/tests/test-remotefilelog-permissions.t +++ b/tests/test-remotefilelog-permissions.t @@ -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