summary refs log tree commit diff
path: root/nixos/tests/fsck.nix
blob: f943bb7f235008f475d52358968a398187011a5b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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');
    };
  '';
}