]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
tests: Skip booting from directory in user namespace with single user
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Tue, 21 Jan 2025 19:18:15 +0000 (20:18 +0100)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Wed, 22 Jan 2025 13:11:18 +0000 (14:11 +0100)
We need newuidmap/newgidmap to be able to boot from a directory which
can't ever work in a user namespace with a single user so skip the
test in that case.

tests/test_boot.py

index 142933aa27954c44a28fb58f8ba3830aa568edd3..3608b1b0c6d2fc76a50c0e63c7798c6d6d552ddc 100644 (file)
@@ -9,6 +9,7 @@ from mkosi.config import Bootloader, Firmware, OutputFormat
 from mkosi.distributions import Distribution
 from mkosi.qemu import find_virtiofsd
 from mkosi.run import find_binary, run
+from mkosi.sandbox import userns_has_single_user
 from mkosi.versioncomp import GenericVersion
 
 from . import Image, ImageConfig
@@ -51,7 +52,13 @@ def test_format(config: ImageConfig, format: OutputFormat) -> None:
         if format in (OutputFormat.tar, OutputFormat.oci, OutputFormat.none, OutputFormat.portable):
             return
 
-        if format == OutputFormat.directory and not find_virtiofsd():
+        if format == OutputFormat.directory:
+            if not find_virtiofsd():
+                pytest.skip("virtiofsd is not installed, cannot boot from directory output")
+
+            if userns_has_single_user():
+                pytest.skip("Running in user namespace with single user, cannot boot from directory")
+
             return
 
         image.vm()