mirror of
https://github.com/rocky-linux/os-autoinst-distri-rocky.git
synced 2024-12-18 09:08:29 +00:00
338b4bf513
What changed: * There is a new needle for uefi bootloader. * UEFI postinstallation phase * UEFI tests and machine added to template
98 lines
3.0 KiB
Perl
98 lines
3.0 KiB
Perl
use base "anacondatest";
|
|
use strict;
|
|
use testapi;
|
|
|
|
# get_kernel_line switches to menu edit screen and sets the cursor to the end of kernel line
|
|
sub get_kernel_line {
|
|
if( get_var("UEFI")){
|
|
send_key "e";
|
|
send_key "down";
|
|
send_key "down";
|
|
send_key "end";
|
|
} else {
|
|
send_key "tab";
|
|
}
|
|
}
|
|
|
|
sub run {
|
|
# Wait for bootloader to appear
|
|
if( get_var("UEFI")){
|
|
assert_screen "bootloader_uefi", 30;
|
|
} else {
|
|
assert_screen "bootloader", 30;
|
|
}
|
|
|
|
# Make sure we skip media check if it's selected by default. Standard
|
|
# 'boot installer' menu entry is always first.
|
|
send_key "up";
|
|
send_key "up";
|
|
|
|
# if variable GRUB is set, add its value into kernel line in grub
|
|
if( get_var("GRUB")){
|
|
get_kernel_line;
|
|
type_string " ".get_var("GRUB");
|
|
|
|
}
|
|
|
|
# if variable REPOSITORY_VARIATION is set, construct inst.repo url and add it to kernel line
|
|
if (get_var("REPOSITORY_VARIATION")){
|
|
unless (get_var("GRUB")){
|
|
get_kernel_line;
|
|
}
|
|
my $fedora_version = "";
|
|
my $repourl = "";
|
|
|
|
$fedora_version = lc((split /_/, get_var("BUILD"))[0]);
|
|
|
|
# REPOSITORY_VARIATION should be set to repository URL without version and architecture
|
|
# appended (it will be appended automatically)
|
|
$repourl = get_var("REPOSITORY_VARIATION")."/".$fedora_version."/".get_var("ARCH")."/os";
|
|
type_string " inst.repo=".$repourl;
|
|
}
|
|
|
|
# now we are on the correct "boot" menu item
|
|
# hit Ctrl+x for the case when the uefi kernel line was edited
|
|
send_key "ctrl-x";
|
|
# Return starts boot in all other cases
|
|
send_key "ret";
|
|
|
|
unless (get_var("KICKSTART"))
|
|
{
|
|
# on lives, we have to explicitly launch anaconda
|
|
if (get_var('LIVE')) {
|
|
assert_and_click "live_start_anaconda_icon", '', 300;
|
|
}
|
|
my $language = get_var('LANGUAGE') || 'english';
|
|
# wait for anaconda to appear
|
|
assert_screen "anaconda_select_install_lang", 300;
|
|
# Select install language
|
|
assert_and_click "anaconda_select_install_lang_input";
|
|
type_string "${language}";
|
|
# Needle filtering in main.pm ensures we will only look for the
|
|
# appropriate language, here
|
|
assert_and_click "anaconda_select_install_lang_filtered";
|
|
assert_screen "anaconda_select_install_lang_selected", 3;
|
|
assert_and_click "anaconda_select_install_lang_continue";
|
|
|
|
if ( check_screen "anaconda_rawhide_accept_fate" ) {
|
|
assert_and_click "anaconda_rawhide_accept_fate";
|
|
}
|
|
|
|
# wait for Anaconda hub to appear
|
|
assert_screen "anaconda_main_hub", 900; #
|
|
}
|
|
}
|
|
|
|
|
|
sub test_flags {
|
|
# without anything - rollback to 'lastgood' snapshot if failed
|
|
# 'fatal' - whole test suite is in danger if this fails
|
|
# 'milestone' - after this test succeeds, update 'lastgood'
|
|
# 'important' - if this fails, set the overall state to 'fail'
|
|
return { fatal => 1 };
|
|
}
|
|
|
|
1;
|
|
|
|
# vim: set sw=4 et:
|