diff options
author | Jörg Thalheim <Mic92@users.noreply.github.com> | 2023-06-15 19:41:08 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-15 19:41:08 +0100 |
commit | 4f992e8da039741e40de9cb15450bb621c562df7 (patch) | |
tree | 4c132f17c79f26e8e6b1dea49f6c0711f5f8b039 /nixos/tests | |
parent | cc3e5198707b9b5523643e791677d4135fb3aee7 (diff) | |
parent | 9fb9774d9362f455683089f7615e0bf43000431a (diff) |
Merge pull request #237840 from lilyinstarlight/fix/systemd-initrd-vconsole-test
nixos/tests/systemd-initrd-vconsole: fix test and improve reliability
Diffstat (limited to 'nixos/tests')
-rw-r--r-- | nixos/tests/systemd-initrd-vconsole.nix | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/nixos/tests/systemd-initrd-vconsole.nix b/nixos/tests/systemd-initrd-vconsole.nix index b74df410c4224..d4c2a57680c15 100644 --- a/nixos/tests/systemd-initrd-vconsole.nix +++ b/nixos/tests/systemd-initrd-vconsole.nix @@ -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") ''; }) |