diff --git a/tests/_boot_to_anaconda.pm b/tests/_boot_to_anaconda.pm index d5340f55..98c8e628 100644 --- a/tests/_boot_to_anaconda.pm +++ b/tests/_boot_to_anaconda.pm @@ -6,6 +6,22 @@ use utils; use tapnet; use anaconda; +sub _handle_incomplete_hub { + if (match_has_tag "anaconda_main_hub_keyboard_layout_incomplete") { + # workaround IoT/osbuild issue + # https://github.com/osbuild/images/issues/309 + # by visiting the incomplete spokes + assert_and_click "anaconda_main_hub_keyboard_layout_incomplete"; + wait_still_screen 3; + assert_and_click "anaconda_spoke_done"; + assert_and_click "anaconda_main_hub_time_date_incomplete"; + wait_still_screen 3; + assert_and_click "anaconda_spoke_done"; + wait_still_screen 3; + send_key "shift-tab"; + } +} + sub run { my $self = shift; if (get_var("IS_PXE")) { @@ -183,6 +199,7 @@ sub run { } else { # this is when the hub appeared already, we're done + _handle_incomplete_hub; return; } } @@ -201,6 +218,7 @@ sub run { # show by now it never will, so we'll just wait for the # hub to show up. assert_screen "anaconda_main_hub", 900; + _handle_incomplete_hub; } } } diff --git a/tests/_do_install_and_reboot.pm b/tests/_do_install_and_reboot.pm index f5acd225..f66d1e23 100644 --- a/tests/_do_install_and_reboot.pm +++ b/tests/_do_install_and_reboot.pm @@ -115,6 +115,7 @@ sub run { # there are various things we might have to do at a console here # before we actually reboot. let's figure them all out first... my @actions; + push(@actions, 'efibootmgr') if (get_var("FLAVOR") eq "IoT-dvd_ostree-iso"); push(@actions, 'consoletty0') if (get_var("ARCH") eq "aarch64"); push(@actions, 'abrt') if (get_var("ABRT", '') eq "system"); push(@actions, 'rootpw') if (get_var("INSTALLER_NO_ROOT")); @@ -184,6 +185,10 @@ sub run { if (grep { $_ eq 'noplymouth' } @actions) { assert_script_run "chroot $mount dnf -y remove plymouth"; } + if (grep { $_ eq 'efibootmgr' } @actions) { + assert_script_run "efibootmgr"; + sleep 2; + } type_string "reboot\n" if (grep { $_ eq 'reboot' } @actions); }