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