]> git.scottworley.com Git - nixos-qemu-vm-isolation/blobdiff - checks/mount-grep.nix
Offer option of an erofs nix store image
[nixos-qemu-vm-isolation] / checks / mount-grep.nix
index f8fed0e2af7a8b0188379f7a25a5d66e67eeb989..5354d26c41492f7bb33e2539ef8fee989b9b3f69 100644 (file)
@@ -1,17 +1,35 @@
-{ pkgs, ... }: {
+pkgs: {
   name = "qemu-private-store-mount-grep";
 
+  hostPkgs = pkgs;
+
+  includeTestScriptReferences = false;
+
   nodes = {
     shared = _: { };
     private = _: { imports = [ ../modules/qemu-vm-isolation.nix ]; };
+    privateErofs = _: {
+      imports = [ ../modules/qemu-vm-isolation.nix ];
+      virtualisation.qemu.isolation.nixStoreFilesystemType = "erofs";
+    };
+    useNixStoreImage = {
+      virtualisation = {
+        sharedDirectories = pkgs.lib.mkForce { };
+        useNixStoreImage = true;
+      };
+    };
   };
 
   testScript = ''
     start_all()
-    shared.wait_for_unit("multi-user.target")
-    private.wait_for_unit("multi-user.target")
+    for machine in [shared, private, privateErofs, useNixStoreImage]:
+      machine.wait_for_unit("multi-user.target")
 
     shared.succeed("[[ $(mount | grep -c virt) -gt 0 ]]")
-    private.succeed("[[ $(mount | grep -c virt) -eq 0 ]]")
+    shared.succeed("[[ -e ${pkgs.pv} ]]")
+
+    for machine in [private, privateErofs, useNixStoreImage]:
+      machine.succeed("[[ $(mount | grep -c virt) -eq 0 ]]")
+      machine.fail("[[ -e ${pkgs.pv} ]]")
   '';
 }