nixos/mailman: store locks in ephemeral runtime directory

nixosTests.mailman: test mailman master lock handling

authored by

Molly Miller and committed by
Alyssa Ross
1a794a3e 6ebe8cd1

+7 -1
+1 -1
nixos/modules/services/mail/mailman.nix
··· 314 queue_dir = "$var_dir/queue"; 315 template_dir = "$var_dir/templates"; 316 log_dir = "/var/log/mailman"; 317 - lock_dir = "$var_dir/lock"; 318 etc_dir = "/etc"; 319 pid_file = "/run/mailman/master.pid"; 320 };
··· 314 queue_dir = "$var_dir/queue"; 315 template_dir = "$var_dir/templates"; 316 log_dir = "/var/log/mailman"; 317 + lock_dir = "/run/mailman/lock"; 318 etc_dir = "/etc"; 319 pid_file = "/run/mailman/master.pid"; 320 };
+6
nixos/tests/mailman.nix
··· 63 wait_for_api() 64 machine.succeed("curl --fail-with-body -sLSu restadmin:secretpassword http://localhost:8001/3.1/domains") 65 machine.succeed("curl --fail-with-body -sILS http://localhost/") 66 ''; 67 }
··· 63 wait_for_api() 64 machine.succeed("curl --fail-with-body -sLSu restadmin:secretpassword http://localhost:8001/3.1/domains") 65 machine.succeed("curl --fail-with-body -sILS http://localhost/") 66 + 67 + with subtest("service locking"): 68 + machine.fail("su -s /bin/sh -c 'mailman start' mailman") 69 + machine.execute("systemctl kill --signal=SIGKILL mailman") 70 + machine.succeed("systemctl restart mailman") 71 + wait_for_api() 72 ''; 73 }