diff tests/hghave.py @ 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 1ff06ceb070f
children 6505d3902eac
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