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-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 { };
|
||||
|
|
|
@ -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 "$(</proc/cmdline)"')
|
||||
node1.execute("systemctl kexec >&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 "$(</proc/cmdline)"')
|
||||
node1.execute("systemctl kexec >&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()
|
||||
'';
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue