nixosTests.kexec: port to python.

The test did not succeed for me before this commit
(the Perl test hung forever), and this translation exhibits
the same problem.

Changed files
+12 -6
nixos
tests
+12 -6
nixos/tests/kexec.nix
···
# Test whether fast reboots via kexec work.
-
import ./make-test.nix ({ pkgs, ...} : {
+
import ./make-test-python.nix ({ pkgs, lib, ...} : {
name = "kexec";
-
meta = with pkgs.stdenv.lib.maintainers; {
+
meta = with lib.maintainers; {
maintainers = [ eelco ];
+
# Currently hangs forever; last output is:
+
# machine # [ 10.239914] dhcpcd[707]: eth0: adding default route via fe80::2
+
# machine: waiting for the VM to finish booting
+
# machine # Cannot find the ESP partition mount point.
+
# machine # [ 28.681197] nscd[692]: 692 checking for monitored file `/etc/netgroup': No such file or directory
+
broken = true;
};
machine = { ... }:
···
testScript =
''
-
$machine->waitForUnit("multi-user.target");
-
$machine->execute("systemctl kexec &");
-
$machine->{connected} = 0;
-
$machine->waitForUnit("multi-user.target");
+
machine.wait_for_unit("multi-user.target")
+
machine.execute("systemctl kexec &")
+
machine.connected = False
+
machine.wait_for_unit("multi-user.target")
'';
})