diff --git a/nixos/tests/systemd-coredump.nix b/nixos/tests/systemd-coredump.nix index 58db509535ff..905a40df7e5e 100644 --- a/nixos/tests/systemd-coredump.nix +++ b/nixos/tests/systemd-coredump.nix @@ -4,15 +4,6 @@ let crasher = pkgs.writeCBin "crasher" "int main;"; - commonConfig = { - systemd.services.crasher.serviceConfig = { - ExecStart = "${crasher}/bin/crasher"; - StateDirectory = "crasher"; - WorkingDirectory = "%S/crasher"; - Restart = "no"; - }; - }; - in { @@ -21,40 +12,33 @@ in maintainers = [ ]; }; - nodes.machine1 = - { pkgs, lib, ... }: - { - imports = [ commonConfig ]; - systemd.coredump.settings.Coredump = { + nodes.machine = { + systemd = { + services.crasher.serviceConfig = { + ExecStart = "${crasher}/bin/crasher"; + StateDirectory = "crasher"; + WorkingDirectory = "%S/crasher"; + Restart = "no"; + }; + + coredump.settings.Coredump = { Storage = "journal"; ProcessSizeMax = "0"; }; }; - nodes.machine2 = - { pkgs, lib, ... }: - { - imports = [ commonConfig ]; - systemd.coredump.enable = false; - systemd.package = pkgs.systemd.override { - withCoredump = false; - }; - }; + }; testScript = '' with subtest("systemd-coredump enabled"): - machine1.wait_for_unit("multi-user.target") - machine1.wait_for_unit("systemd-coredump.socket") - machine1.systemctl("start crasher"); - machine1.wait_until_succeeds("coredumpctl list | grep crasher", timeout=10) - machine1.fail("stat /var/lib/crasher/core*") + machine.wait_for_unit("multi-user.target") + machine.wait_for_unit("systemd-coredump.socket") + machine.systemctl("start crasher"); + machine.wait_until_succeeds("coredumpctl list | grep crasher", timeout=10) + machine.fail("stat /var/lib/crasher/core*") with subtest("settings.Coredump renders coredump.conf"): - machine1.succeed("grep -F '[Coredump]' /etc/systemd/coredump.conf") - machine1.succeed("grep -F 'Storage=journal' /etc/systemd/coredump.conf") - machine1.succeed("grep -F 'ProcessSizeMax=0' /etc/systemd/coredump.conf") - - with subtest("systemd-coredump disabled"): - machine2.systemctl("start crasher"); - machine2.wait_until_succeeds("stat /var/lib/crasher/core*", timeout=10) + machine.succeed("grep -F '[Coredump]' /etc/systemd/coredump.conf") + machine.succeed("grep -F 'Storage=journal' /etc/systemd/coredump.conf") + machine.succeed("grep -F 'ProcessSizeMax=0' /etc/systemd/coredump.conf") ''; }