about summary refs log tree commit diff
path: root/nixos/tests/systemd-initrd-modprobe.nix
blob: 0f93492176b441abb2cfb30f3c03d8ec3df20ef8 (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
import ./make-test-python.nix ({ lib, pkgs, ... }: {
  name = "systemd-initrd-modprobe";

  nodes.machine = { pkgs, ... }: {
    testing.initrdBackdoor = true;
    boot.initrd.systemd.enable = true;
    boot.initrd.kernelModules = [ "loop" ]; # Load module in initrd.
    boot.extraModprobeConfig = ''
      options loop max_loop=42
    '';
  };

  testScript = ''
    machine.wait_for_unit("initrd.target")
    max_loop = machine.succeed("cat /sys/module/loop/parameters/max_loop")
    assert int(max_loop) == 42, "Parameter should be respected for initrd kernel modules"

    # Make sure it sticks in stage 2
    machine.switch_root()
    machine.wait_for_unit("multi-user.target")
    max_loop = machine.succeed("cat /sys/module/loop/parameters/max_loop")
    assert int(max_loop) == 42, "Parameter should be respected for initrd kernel modules"
  '';
})