diff --git a/nixos/tests/kexec.nix b/nixos/tests/kexec.nix index 7e5cc010ef91..7238a9f58e09 100644 --- a/nixos/tests/kexec.nix +++ b/nixos/tests/kexec.nix @@ -1,5 +1,3 @@ -# Test whether fast reboots via kexec work. - import ./make-test-python.nix ({ pkgs, lib, ... }: { name = "kexec"; meta = with lib.maintainers; { @@ -18,13 +16,16 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { node2 = { modulesPath, ... }: { virtualisation.vlans = [ ]; + environment.systemPackages = [ pkgs.hello ]; imports = [ "${modulesPath}/installer/kexec/kexec-boot.nix" + "${modulesPath}/profiles/minimal.nix" ]; }; }; testScript = { nodes, ... }: '' + # Test whether reboot via kexec works. node1.wait_for_unit("multi-user.target") node1.succeed('kexec --load /run/current-system/kernel --initrd /run/current-system/initrd --command-line "$(&2 &", check_return=False) @@ -32,14 +33,17 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { node1.connect() node1.wait_for_unit("multi-user.target") - # Check the machine with kexec-boot.nix profile boots up + # Check if the machine with kexec-boot.nix profile boots up node2.wait_for_unit("multi-user.target") node2.shutdown() # Kexec node1 to the toplevel of node2 via the kexec-boot script node1.succeed('touch /run/foo') + node1.fail('hello') node1.execute('${nodes.node2.config.system.build.kexecBoot}/kexec-boot', check_return=False) node1.succeed('! test -e /run/foo') + node1.succeed('hello') + node1.succeed('[ "$(hostname)" = "node2" ]') node1.shutdown() '';