mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-09 19:13:26 +03:00
nixosTests.kexec: migrate to runTest
Signed-off-by: Felix Singer <felixsinger@posteo.net>
This commit is contained in:
parent
ec237aaad5
commit
56a14faedb
2 changed files with 55 additions and 57 deletions
|
@ -697,7 +697,7 @@ in
|
||||||
kernel-latest-ath-user-regd = handleTest ./kernel-latest-ath-user-regd.nix { };
|
kernel-latest-ath-user-regd = handleTest ./kernel-latest-ath-user-regd.nix { };
|
||||||
kernel-rust = handleTest ./kernel-rust.nix { };
|
kernel-rust = handleTest ./kernel-rust.nix { };
|
||||||
keter = handleTest ./keter.nix { };
|
keter = handleTest ./keter.nix { };
|
||||||
kexec = handleTest ./kexec.nix { };
|
kexec = runTest ./kexec.nix;
|
||||||
keycloak = discoverTests (import ./keycloak.nix);
|
keycloak = discoverTests (import ./keycloak.nix);
|
||||||
keyd = handleTest ./keyd.nix { };
|
keyd = handleTest ./keyd.nix { };
|
||||||
keymap = handleTest ./keymap.nix { };
|
keymap = handleTest ./keymap.nix { };
|
||||||
|
|
|
@ -1,62 +1,60 @@
|
||||||
import ./make-test-python.nix (
|
{ pkgs, lib, ... }:
|
||||||
{ pkgs, lib, ... }:
|
{
|
||||||
{
|
name = "kexec";
|
||||||
name = "kexec";
|
meta = with lib.maintainers; {
|
||||||
meta = with lib.maintainers; {
|
maintainers = [
|
||||||
maintainers = [
|
flokli
|
||||||
flokli
|
lassulus
|
||||||
lassulus
|
];
|
||||||
];
|
};
|
||||||
};
|
|
||||||
|
|
||||||
nodes = {
|
nodes = {
|
||||||
node1 =
|
node1 =
|
||||||
{ ... }:
|
{ ... }:
|
||||||
{
|
{
|
||||||
virtualisation.vlans = [ ];
|
virtualisation.vlans = [ ];
|
||||||
virtualisation.memorySize = 4 * 1024;
|
virtualisation.memorySize = 4 * 1024;
|
||||||
};
|
};
|
||||||
|
|
||||||
node2 =
|
node2 =
|
||||||
{ modulesPath, ... }:
|
{ modulesPath, ... }:
|
||||||
{
|
{
|
||||||
virtualisation.vlans = [ ];
|
virtualisation.vlans = [ ];
|
||||||
environment.systemPackages = [ pkgs.hello ];
|
environment.systemPackages = [ pkgs.hello ];
|
||||||
imports = [
|
imports = [
|
||||||
"${modulesPath}/installer/netboot/netboot-minimal.nix"
|
"${modulesPath}/installer/netboot/netboot-minimal.nix"
|
||||||
"${modulesPath}/testing/test-instrumentation.nix"
|
"${modulesPath}/testing/test-instrumentation.nix"
|
||||||
"${modulesPath}/profiles/qemu-guest.nix"
|
"${modulesPath}/profiles/qemu-guest.nix"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
testScript =
|
testScript =
|
||||||
{ nodes, ... }:
|
{ nodes, ... }:
|
||||||
''
|
''
|
||||||
# Test whether reboot via kexec works.
|
# Test whether reboot via kexec works.
|
||||||
node1.wait_for_unit("multi-user.target")
|
node1.wait_for_unit("multi-user.target")
|
||||||
node1.succeed('kexec --load /run/current-system/kernel --initrd /run/current-system/initrd --command-line "$(</proc/cmdline)"')
|
node1.succeed('kexec --load /run/current-system/kernel --initrd /run/current-system/initrd --command-line "$(</proc/cmdline)"')
|
||||||
node1.execute("systemctl kexec >&2 &", check_return=False)
|
node1.execute("systemctl kexec >&2 &", check_return=False)
|
||||||
node1.connected = False
|
node1.connected = False
|
||||||
node1.connect()
|
node1.connect()
|
||||||
node1.wait_for_unit("multi-user.target")
|
node1.wait_for_unit("multi-user.target")
|
||||||
|
|
||||||
# Check if the machine with netboot-minimal.nix profile boots up
|
# Check if the machine with netboot-minimal.nix profile boots up
|
||||||
node2.wait_for_unit("multi-user.target")
|
node2.wait_for_unit("multi-user.target")
|
||||||
node2.shutdown()
|
node2.shutdown()
|
||||||
|
|
||||||
# Kexec node1 to the toplevel of node2 via the kexec-boot script
|
# Kexec node1 to the toplevel of node2 via the kexec-boot script
|
||||||
node1.succeed('touch /run/foo')
|
node1.succeed('touch /run/foo')
|
||||||
node1.fail('hello')
|
node1.fail('hello')
|
||||||
node1.execute('${nodes.node2.system.build.kexecTree}/kexec-boot', check_output=False)
|
node1.execute('${nodes.node2.system.build.kexecTree}/kexec-boot', check_output=False)
|
||||||
node1.connected = False
|
node1.connected = False
|
||||||
node1.connect()
|
node1.connect()
|
||||||
node1.wait_for_unit("multi-user.target")
|
node1.wait_for_unit("multi-user.target")
|
||||||
node1.succeed('! test -e /run/foo')
|
node1.succeed('! test -e /run/foo')
|
||||||
node1.succeed('hello')
|
node1.succeed('hello')
|
||||||
node1.succeed('[ "$(hostname)" = "node2" ]')
|
node1.succeed('[ "$(hostname)" = "node2" ]')
|
||||||
|
|
||||||
node1.shutdown()
|
node1.shutdown()
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
)
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue