summary refs log tree commit diff
path: root/nixos/tests/fsck.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixos/tests/fsck.nix')
-rw-r--r--nixos/tests/fsck.nix29
1 files changed, 29 insertions, 0 deletions
diff --git a/nixos/tests/fsck.nix b/nixos/tests/fsck.nix
new file mode 100644
index 000000000000..f943bb7f2350
--- /dev/null
+++ b/nixos/tests/fsck.nix
@@ -0,0 +1,29 @@
+import ./make-test.nix {
+  name = "fsck";
+
+  machine = { lib, ... }: {
+    virtualisation.emptyDiskImages = [ 1 ];
+
+    fileSystems = lib.mkVMOverride {
+      "/mnt" = {
+        device = "/dev/vdb";
+        fsType = "ext4";
+        autoFormat = true;
+      };
+    };
+  };
+
+  testScript = ''
+    $machine->waitForUnit('default.target');
+
+    subtest "root fs is fsckd", sub {
+      $machine->succeed('journalctl -b | grep "fsck.ext4.*/dev/vda"');
+    };
+
+    subtest "mnt fs is fsckd", sub {
+      $machine->succeed('journalctl -b | grep "fsck.*/dev/vdb.*clean"');
+      $machine->succeed('grep "Requires=systemd-fsck@dev-vdb.service" /run/systemd/generator/mnt.mount');
+      $machine->succeed('grep "After=systemd-fsck@dev-vdb.service" /run/systemd/generator/mnt.mount');
+    };
+  '';
+}