1import ./make-test.nix {
2 name = "fsck";
3
4 machine = { lib, ... }: {
5 virtualisation.emptyDiskImages = [ 1 ];
6
7 fileSystems = lib.mkVMOverride {
8 "/mnt" = {
9 device = "/dev/vdb";
10 fsType = "ext4";
11 autoFormat = true;
12 };
13 };
14 };
15
16 testScript = ''
17 $machine->waitForUnit('default.target');
18
19 subtest "root fs is fsckd", sub {
20 $machine->succeed('journalctl -b | grep "fsck.ext4.*/dev/vda"');
21 };
22
23 subtest "mnt fs is fsckd", sub {
24 $machine->succeed('journalctl -b | grep "fsck.*/dev/vdb.*clean"');
25 $machine->succeed('grep "Requires=systemd-fsck@dev-vdb.service" /run/systemd/generator/mnt.mount');
26 $machine->succeed('grep "After=systemd-fsck@dev-vdb.service" /run/systemd/generator/mnt.mount');
27 };
28 '';
29}