at 25.11-pre 1.3 kB view raw
1import ./make-test-python.nix ( 2 { pkgs, ... }: 3 4 let 5 6 crasher = pkgs.writeCBin "crasher" "int main;"; 7 8 commonConfig = { 9 systemd.services.crasher.serviceConfig = { 10 ExecStart = "${crasher}/bin/crasher"; 11 StateDirectory = "crasher"; 12 WorkingDirectory = "%S/crasher"; 13 Restart = "no"; 14 }; 15 }; 16 17 in 18 19 { 20 name = "systemd-coredump"; 21 meta = with pkgs.lib.maintainers; { 22 maintainers = [ squalus ]; 23 }; 24 25 nodes.machine1 = { pkgs, lib, ... }: commonConfig; 26 nodes.machine2 = 27 { pkgs, lib, ... }: 28 lib.recursiveUpdate commonConfig { 29 systemd.coredump.enable = false; 30 systemd.package = pkgs.systemd.override { 31 withCoredump = false; 32 }; 33 }; 34 35 testScript = '' 36 with subtest("systemd-coredump enabled"): 37 machine1.wait_for_unit("multi-user.target") 38 machine1.wait_for_unit("systemd-coredump.socket") 39 machine1.systemctl("start crasher"); 40 machine1.wait_until_succeeds("coredumpctl list | grep crasher", timeout=10) 41 machine1.fail("stat /var/lib/crasher/core") 42 43 with subtest("systemd-coredump disabled"): 44 machine2.systemctl("start crasher"); 45 machine2.wait_until_succeeds("stat /var/lib/crasher/core", timeout=10) 46 ''; 47 } 48)