diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 8c38bdb081f5..ba0d016396a5 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -697,7 +697,7 @@ in kernel-latest-ath-user-regd = handleTest ./kernel-latest-ath-user-regd.nix { }; kernel-rust = handleTest ./kernel-rust.nix { }; keter = handleTest ./keter.nix { }; - kexec = handleTest ./kexec.nix { }; + kexec = runTest ./kexec.nix; keycloak = discoverTests (import ./keycloak.nix); keyd = handleTest ./keyd.nix { }; keymap = handleTest ./keymap.nix { }; diff --git a/nixos/tests/kexec.nix b/nixos/tests/kexec.nix index 06bd65405f6f..e06d39a8d826 100644 --- a/nixos/tests/kexec.nix +++ b/nixos/tests/kexec.nix @@ -1,62 +1,60 @@ -import ./make-test-python.nix ( - { pkgs, lib, ... }: - { - name = "kexec"; - meta = with lib.maintainers; { - maintainers = [ - flokli - lassulus - ]; - }; +{ pkgs, lib, ... }: +{ + name = "kexec"; + meta = with lib.maintainers; { + maintainers = [ + flokli + lassulus + ]; + }; - nodes = { - node1 = - { ... }: - { - virtualisation.vlans = [ ]; - virtualisation.memorySize = 4 * 1024; - }; + nodes = { + node1 = + { ... }: + { + virtualisation.vlans = [ ]; + virtualisation.memorySize = 4 * 1024; + }; - node2 = - { modulesPath, ... }: - { - virtualisation.vlans = [ ]; - environment.systemPackages = [ pkgs.hello ]; - imports = [ - "${modulesPath}/installer/netboot/netboot-minimal.nix" - "${modulesPath}/testing/test-instrumentation.nix" - "${modulesPath}/profiles/qemu-guest.nix" - ]; - }; - }; + node2 = + { modulesPath, ... }: + { + virtualisation.vlans = [ ]; + environment.systemPackages = [ pkgs.hello ]; + imports = [ + "${modulesPath}/installer/netboot/netboot-minimal.nix" + "${modulesPath}/testing/test-instrumentation.nix" + "${modulesPath}/profiles/qemu-guest.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) - node1.connected = False - node1.connect() - node1.wait_for_unit("multi-user.target") + 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) + node1.connected = False + node1.connect() + node1.wait_for_unit("multi-user.target") - # Check if the machine with netboot-minimal.nix profile boots up - node2.wait_for_unit("multi-user.target") - node2.shutdown() + # Check if the machine with netboot-minimal.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.system.build.kexecTree}/kexec-boot', check_output=False) - node1.connected = False - node1.connect() - node1.wait_for_unit("multi-user.target") - node1.succeed('! test -e /run/foo') - node1.succeed('hello') - node1.succeed('[ "$(hostname)" = "node2" ]') + # Kexec node1 to the toplevel of node2 via the kexec-boot script + node1.succeed('touch /run/foo') + node1.fail('hello') + node1.execute('${nodes.node2.system.build.kexecTree}/kexec-boot', check_output=False) + node1.connected = False + node1.connect() + node1.wait_for_unit("multi-user.target") + node1.succeed('! test -e /run/foo') + node1.succeed('hello') + node1.succeed('[ "$(hostname)" = "node2" ]') - node1.shutdown() - ''; - } -) + node1.shutdown() + ''; +}