Wait and re-assert before entering decryption passphrase (#2256682)

New Plymouth seems to have a bug where it shows the decryption
prompt briefly then shows a spinner and refreshes it, throwing
away any already-typed input. This is breaking our tests quite
often (any time os-autoinst is "lucky" enough to spot the first
brief appearance of the prompt and start typing). To work around
it, after we first see the prompt, wait for the screen to settle
and re-assert the needle before typing. This should reliably
wait out the refresh cycle.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
This commit is contained in:
Adam Williamson 2024-01-03 14:13:30 -08:00
parent 7b453a493c
commit ce0a04b40a
1 changed files with 5 additions and 0 deletions

View File

@ -408,6 +408,11 @@ sub boot_decrypt {
# decrypt storage during boot; arg is timeout (in seconds)
my $timeout = shift || 60;
assert_screen "boot_enter_passphrase", $timeout;
# FIXME: wait and re-assert to workaround
# https://bugzilla.redhat.com/show_bug.cgi?id=2256682 , can
# drop this is that is fixed
wait_still_screen 3;
assert_screen "boot_enter_passphrase";
type_string get_var("ENCRYPT_PASSWORD");
send_key "ret";
}