at master 1.1 kB view raw
1{ systemdStage1, ... }: 2 3{ 4 name = "fsck"; 5 6 nodes.machine = { 7 virtualisation.emptyDiskImages = [ 1 ]; 8 9 virtualisation.fileSystems = { 10 "/mnt" = { 11 device = "/dev/vdb"; 12 fsType = "ext4"; 13 autoFormat = true; 14 }; 15 }; 16 17 boot.initrd.systemd.enable = systemdStage1; 18 }; 19 20 testScript = 21 { nodes, ... }: 22 let 23 rootDevice = nodes.machine.virtualisation.rootDevice; 24 in 25 '' 26 machine.wait_for_unit("default.target") 27 28 with subtest("root fs is fsckd"): 29 machine.succeed("journalctl -b | grep '${ 30 if systemdStage1 then 31 "fsck.*${builtins.baseNameOf rootDevice}.*clean" 32 else 33 "fsck.ext4.*${rootDevice}" 34 }'") 35 36 with subtest("mnt fs is fsckd"): 37 machine.succeed("journalctl -b | grep 'fsck.*vdb.*clean'") 38 machine.succeed( 39 "grep 'Requires=systemd-fsck@dev-vdb.service' /run/systemd/generator/mnt.mount" 40 ) 41 machine.succeed( 42 "grep 'After=systemd-fsck@dev-vdb.service' /run/systemd/generator/mnt.mount" 43 ) 44 ''; 45}