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