mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-10-30 14:11:21 +00:00
nixos/tests/systemd-initrd-vconsole: fix test and improve reliability
This commit is contained in:
parent
f1f0d4fbdd
commit
9fb9774d93
@ -2,7 +2,7 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: {
|
||||
name = "systemd-initrd-vconsole";
|
||||
|
||||
nodes.machine = { pkgs, ... }: {
|
||||
boot.kernelParams = [ "rd.systemd.unit=rescue.target" ];
|
||||
boot.kernelParams = lib.mkAfter [ "rd.systemd.unit=rescue.target" "loglevel=3" "udev.log_level=3" "systemd.log_level=warning" ];
|
||||
|
||||
boot.initrd.systemd = {
|
||||
enable = true;
|
||||
@ -20,14 +20,23 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: {
|
||||
machine.start()
|
||||
machine.wait_for_console_text("Press Enter for maintenance")
|
||||
machine.send_console("\n")
|
||||
machine.wait_for_console_text("Logging in with home")
|
||||
|
||||
# Wait for shell to become ready
|
||||
for _ in range(300):
|
||||
machine.send_console("printf '%s to receive commands:\\n' Ready\n")
|
||||
try:
|
||||
machine.wait_for_console_text("Ready to receive commands:", timeout=1)
|
||||
break
|
||||
except Exception:
|
||||
continue
|
||||
else:
|
||||
raise RuntimeError("Rescue shell never became ready")
|
||||
|
||||
# Check keymap
|
||||
machine.send_console("(printf '%s to receive text: \\n' Ready && read text && echo \"$text\") </dev/tty1\n")
|
||||
machine.send_console("(printf '%s to receive text:\\n' Ready && read text && echo \"$text\") </dev/tty1\n")
|
||||
machine.wait_for_console_text("Ready to receive text:")
|
||||
for key in "asdfjkl;\n":
|
||||
machine.send_key(key)
|
||||
machine.wait_for_console_text("arstneio")
|
||||
machine.send_console("systemctl poweroff\n")
|
||||
'';
|
||||
})
|
||||
|
Loading…
Reference in New Issue
Block a user