mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-01-18 19:03:28 +00:00
nixos hibernate test: Use waitForOpenPort
There was one confusing recent failure of this: http://cache.nixos.org/log/myla8bc17j8spmifdxmrz9jswxwsf5w6-vm-test-run-hibernate.drv I don't have any real ideas on what could cause the problem but there is at least one theoretical one: the system starts hibernating before the listener process manages to open the TCP port for listening, and it can't open it after resuming because not enough pages from the netcat binary have been paged in (and as the 9p filesystem holding it is now toast, they can't be loaded anymore).
This commit is contained in:
parent
40d171855f
commit
affce1e246
@ -13,7 +13,7 @@ import ./make-test.nix (pkgs: {
|
||||
|
||||
networking.firewall.allowedTCPPorts = [ 4444 ];
|
||||
|
||||
systemd.services.listener.serviceConfig.ExecStart = "${pkgs.netcat}/bin/nc -l 4444";
|
||||
systemd.services.listener.serviceConfig.ExecStart = "${pkgs.netcat}/bin/nc -l 4444 -k";
|
||||
};
|
||||
|
||||
probe = { config, lib, pkgs, ...}: {
|
||||
@ -32,6 +32,7 @@ import ./make-test.nix (pkgs: {
|
||||
$machine->succeed("mkswap /dev/vdb");
|
||||
$machine->succeed("swapon -a");
|
||||
$machine->startJob("listener");
|
||||
$machine->waitForOpenPort(4444);
|
||||
$machine->succeed("systemctl hibernate &");
|
||||
$machine->waitForShutdown;
|
||||
$machine->start;
|
||||
|
Loading…
Reference in New Issue
Block a user