Compare commits

...

6 Commits

Author SHA1 Message Date
Adam Williamson 7e0cd0898e Make UEFI testing the default, add Secure Boot testing
This essentially inverts the x86_64 machines so that '64bit' is
UEFI and instead of a variant 'uefi' machine we have a variant
'bios' machine that is BIOS. The point is to make UEFI testing
the default. We also enable Secure Boot in the UEFI testing,
and add a test of UEFI fallback booting on various products.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-04-02 09:24:52 -07:00
Adam Williamson 85943b9aeb Update a GNOME needle for a slightly changed icon
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-04-02 09:20:07 -07:00
Adam Williamson 615be43cd5 Drop match level on KDE menu button needles
For some reason we keep getting not-quite matches on this, even
though we added two new needles. Let's drop the match level on
all existing needles as a coping mechanism.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-04-02 09:15:25 -07:00
Adam Williamson cf51484b2e Update several KDE needles for Plasma 6 changes
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-04-02 09:13:54 -07:00
Adam Williamson eaf7c48e0b Update several Arabic needles to translated versions
Someone's knocking out the Arabic translation, yay.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-04-02 09:12:38 -07:00
Adam Williamson f1c23be409 Fix #2268505 workaround - move the actions push earlier
Oops, all other actions pushes need to happen *before* the reboot
action push, or the logic breaks.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-03-26 08:29:25 -07:00
31 changed files with 484 additions and 230 deletions

View File

@ -310,10 +310,6 @@ sub load_postinstall_tests() {
}
autotest::loadtest $storagepost if ($storagepost);
if (get_var("UEFI") && !get_var("NO_UEFI_POST") && !get_var("START_AFTER_TEST")) {
autotest::loadtest "tests/uefi_postinstall.pm";
}
# console avc / crash check
# it makes no sense to run this after logging in on most post-
# install tests (hence ! BOOTFROM) and we do not want it
@ -362,6 +358,10 @@ sub load_postinstall_tests() {
}
}
if (get_var("UEFI") && !get_var("NO_UEFI_POST") && !get_var("START_AFTER_TEST")) {
autotest::loadtest "tests/uefi_postinstall.pm";
}
# we should shut down before uploading disk images
if (get_var("STORE_HDD_1") || get_var("STORE_HDD_2") || get_var("PUBLISH_HDD_1")) {
autotest::loadtest "tests/_console_shutdown.pm";

View File

@ -0,0 +1,15 @@
{
"area": [
{
"width": 85,
"xpos": 812,
"height": 20,
"type": "match",
"ypos": 12
}
],
"properties": [],
"tags": [
"version_41_ident"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

View File

@ -0,0 +1,16 @@
{
"area": [
{
"ypos": 520,
"height": 18,
"type": "match",
"xpos": 235,
"width": 104
}
],
"properties": [],
"tags": [
"anaconda_install_destination_save_passphrase",
"LANGUAGE-arabic"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 KiB

View File

@ -0,0 +1,16 @@
{
"area": [
{
"type": "match",
"height": 16,
"ypos": 730,
"xpos": 63,
"width": 45
}
],
"properties": [],
"tags": [
"anaconda_install_done",
"LANGUAGE-arabic"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

View File

@ -0,0 +1,20 @@
{
"area": [
{
"click_point": {
"xpos": 139,
"ypos": 9.5
},
"ypos": 317,
"width": 148,
"type": "match",
"height": 19,
"xpos": 613
}
],
"properties": [],
"tags": [
"anaconda_install_root_password_screen",
"LANGUAGE-arabic"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

View File

@ -0,0 +1,16 @@
{
"area": [
{
"ypos": 730,
"height": 19,
"type": "match",
"width": 39,
"xpos": 28
}
],
"properties": [],
"tags": [
"anaconda_select_install_lang_continue",
"LANGUAGE-arabic"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 135 KiB

View File

@ -0,0 +1,20 @@
{
"area": [
{
"width": 74,
"type": "match",
"height": 16,
"xpos": 465,
"ypos": 577
}
],
"properties": [],
"tags": [
"ENV-DISTRI-fedora",
"ENV-FLAVOR-server_boot",
"ENV-FLAVOR-workstation_live",
"ENV-UEFI-1",
"bootloader_uefi",
"bootloader"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

View File

@ -0,0 +1,15 @@
{
"area": [
{
"xpos": 0,
"ypos": 109,
"height": 53,
"type": "match",
"width": 148
}
],
"properties": [],
"tags": [
"sysmon_fsystems_shown"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

View File

@ -0,0 +1,15 @@
{
"area": [
{
"ypos": 465,
"type": "match",
"height": 17,
"xpos": 101,
"width": 20
}
],
"properties": [],
"tags": [
"gnome_dirs_pictures"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

View File

@ -0,0 +1,23 @@
{
"area": [
{
"xpos": 478,
"width": 64,
"height": 52,
"type": "match",
"ypos": 357
},
{
"width": 15,
"xpos": 211,
"type": "match",
"height": 16,
"ypos": 100
}
],
"properties": [],
"tags": [
"DESKTOP-kde",
"getting_started"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 411 KiB

View File

@ -5,7 +5,8 @@
"xpos": 8,
"ypos": 736,
"height": 24,
"type": "match"
"type": "match",
"match": 90
}
],
"properties": [],
@ -14,4 +15,4 @@
"system_menu_button",
"apps_menu_button"
]
}
}

View File

@ -0,0 +1,18 @@
{
"area": [
{
"height": 24,
"type": "match",
"match": 90,
"ypos": 727,
"width": 25,
"xpos": 20
}
],
"properties": [],
"tags": [
"DESKTOP-kde",
"system_menu_button",
"apps_menu_button"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

View File

@ -0,0 +1,18 @@
{
"area": [
{
"width": 25,
"xpos": 20,
"ypos": 727,
"type": "match",
"match": 90,
"height": 24
}
],
"properties": [],
"tags": [
"DESKTOP-kde",
"system_menu_button",
"apps_menu_button"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

View File

@ -5,6 +5,7 @@
"height": 24,
"xpos": 8,
"type": "match",
"match": 90,
"ypos": 736
}
],
@ -14,4 +15,4 @@
"system_menu_button",
"apps_menu_button"
]
}
}

View File

@ -5,7 +5,7 @@
"distri": "fedora",
"flavor": "updates-container",
"settings": {
"+HDD_1": "disk_f%VERSION%_server_3_%ARCH%.qcow2",
"+HDD_1": "disk_f%VERSION%_server_4_%ARCH%.qcow2",
"NUMDISKS": "2",
"RETRY": "1"
},
@ -16,7 +16,7 @@
"distri": "fedora",
"flavor": "updates-container",
"settings": {
"+HDD_1": "disk_f%VERSION%_server_3_%ARCH%.qcow2",
"+HDD_1": "disk_f%VERSION%_server_4_%ARCH%.qcow2",
"NUMDISKS": "2",
"RETRY": "1"
},
@ -27,7 +27,7 @@
"distri": "fedora",
"flavor": "updates-container",
"settings": {
"+HDD_1": "disk_f%VERSION%_server_3_%ARCH%.qcow2",
"+HDD_1": "disk_f%VERSION%_server_4_%ARCH%.qcow2",
"NUMDISKS": "2",
"RETRY": "1"
},
@ -48,7 +48,7 @@
"distri": "fedora",
"flavor": "updates-kde",
"settings": {
"+HDD_1": "disk_f%VERSION%_kde_4_%ARCH%.qcow2",
"+HDD_1": "disk_f%VERSION%_kde_5_%ARCH%.qcow2",
"DESKTOP": "kde",
"NUMDISKS": "2",
"RETRY": "1"
@ -60,7 +60,7 @@
"distri": "fedora",
"flavor": "updates-server",
"settings": {
"+HDD_1": "disk_f%VERSION%_server_3_%ARCH%.qcow2",
"+HDD_1": "disk_f%VERSION%_server_4_%ARCH%.qcow2",
"NUMDISKS": "2",
"RETRY": "1"
},
@ -71,7 +71,7 @@
"distri": "fedora",
"flavor": "updates-server",
"settings": {
"+HDD_1": "disk_f%VERSION%_server_3_%ARCH%.qcow2",
"+HDD_1": "disk_f%VERSION%_server_4_%ARCH%.qcow2",
"NUMDISKS": "2",
"RETRY": "1"
},
@ -82,7 +82,7 @@
"distri": "fedora",
"flavor": "updates-server-upgrade",
"settings": {
"+HDD_1": "disk_f%VERSION%_server_3_%ARCH%.qcow2",
"+HDD_1": "disk_f%VERSION%_server_4_%ARCH%.qcow2",
"NUMDISKS": "2",
"RETRY": "1"
},
@ -113,7 +113,7 @@
"distri": "fedora",
"flavor": "updates-server",
"settings": {
"+HDD_1": "disk_f%VERSION%_server_3_%ARCH%.qcow2",
"+HDD_1": "disk_f%VERSION%_server_4_%ARCH%.qcow2",
"NUMDISKS": "2",
"RETRY": "1"
},
@ -182,7 +182,7 @@
"flavor": "updates-workstation",
"settings": {
"DESKTOP": "gnome",
"+HDD_1": "disk_f%VERSION%_desktop_4_%ARCH%.qcow2",
"+HDD_1": "disk_f%VERSION%_desktop_5_%ARCH%.qcow2",
"NUMDISKS": "2",
"RETRY": "1"
},
@ -206,8 +206,8 @@
"machine": "64bit",
"product": "fedora-updates-everything-boot-iso-x86_64-*"
},
"fedora-updates-everything-boot-iso-x86_64-*-uefi": {
"machine": "uefi",
"fedora-updates-everything-boot-iso-x86_64-*-bios": {
"machine": "bios",
"product": "fedora-updates-everything-boot-iso-x86_64-*"
},
"fedora-updates-kde-x86_64-*-64bit": {
@ -238,24 +238,24 @@
"machine": "64bit",
"product": "fedora-updates-kde-live-iso-x86_64-*"
},
"fedora-updates-kde-live-iso-x86_64-*-uefi": {
"machine": "uefi",
"fedora-updates-kde-live-iso-x86_64-*-bios": {
"machine": "bios",
"product": "fedora-updates-kde-live-iso-x86_64-*"
},
"fedora-updates-silverblue-dvd_ostree-iso-x86_64-*-64bit": {
"machine": "64bit",
"product": "fedora-updates-silverblue-dvd_ostree-iso-x86_64-*"
},
"fedora-updates-silverblue-dvd_ostree-iso-x86_64-*-uefi": {
"machine": "uefi",
"fedora-updates-silverblue-dvd_ostree-iso-x86_64-*-bios": {
"machine": "bios",
"product": "fedora-updates-silverblue-dvd_ostree-iso-x86_64-*"
},
"fedora-updates-workstation-live-iso-x86_64-*-64bit": {
"machine": "64bit",
"product": "fedora-updates-workstation-live-iso-x86_64-*"
},
"fedora-updates-workstation-live-iso-x86_64-*-uefi": {
"machine": "uefi",
"fedora-updates-workstation-live-iso-x86_64-*-bios": {
"machine": "bios",
"product": "fedora-updates-workstation-live-iso-x86_64-*"
},
"fedora-updates-workstation-upgrade-x86_64-*-64bit": {
@ -367,10 +367,10 @@
},
"install_default_update_live": {
"profiles": {
"fedora-updates-kde-live-iso-x86_64-*-bios": 5,
"fedora-updates-kde-live-iso-x86_64-*-64bit": 5,
"fedora-updates-kde-live-iso-x86_64-*-uefi": 5,
"fedora-updates-workstation-live-iso-x86_64-*-64bit": 5,
"fedora-updates-workstation-live-iso-x86_64-*-uefi": 5
"fedora-updates-workstation-live-iso-x86_64-*-bios": 5,
"fedora-updates-workstation-live-iso-x86_64-*-64bit": 5
},
"settings": {
"+START_AFTER_TEST": "live_build@%ARCH_BASE_MACHINE%",
@ -381,8 +381,8 @@
},
"install_default_update_netinst": {
"profiles": {
"fedora-updates-everything-boot-iso-x86_64-*-64bit": 5,
"fedora-updates-everything-boot-iso-x86_64-*-uefi": 5
"fedora-updates-everything-boot-iso-x86_64-*-bios": 5,
"fedora-updates-everything-boot-iso-x86_64-*-64bit": 5
},
"settings": {
"+START_AFTER_TEST": "installer_build@%ARCH_BASE_MACHINE%",
@ -410,7 +410,7 @@
},
"install_default_ostree": {
"profiles": {
"fedora-updates-silverblue-dvd_ostree-iso-x86_64-*-uefi": 5
"fedora-updates-silverblue-dvd_ostree-iso-x86_64-*-bios": 5
},
"settings": {
"INSTALL": "1",
@ -425,7 +425,7 @@
},
"settings": {
"BOOTFROM": "c",
"HDD_1": "disk_f%VERSION%_minimal_3_%ARCH%.qcow2",
"HDD_1": "disk_f%VERSION%_minimal_4_%ARCH%.qcow2",
"NUMDISKS": "2",
"POSTINSTALL": "_installer_build",
"ROOT_PASSWORD": "weakpassword",
@ -442,7 +442,7 @@
"+LIVE": "",
"BOOTFROM": "c",
"GRUB_POSTINSTALL": "selinux=0",
"HDD_1": "disk_f%VERSION%_minimal_3_%ARCH%.qcow2",
"HDD_1": "disk_f%VERSION%_minimal_4_%ARCH%.qcow2",
"HDDSIZEGB_3": "25",
"MAX_JOB_TIME": "10800",
"+NUMDISKS": "3",
@ -459,7 +459,7 @@
"+DESKTOP": "",
"+CANNED": "",
"BOOTFROM": "c",
"HDD_1": "disk_f%VERSION%_minimal_3_%ARCH%.qcow2",
"HDD_1": "disk_f%VERSION%_minimal_4_%ARCH%.qcow2",
"HDDSIZEGB_3": "30",
"MAX_JOB_TIME": "12600",
"+NUMDISKS": "3",

File diff suppressed because it is too large Load Diff

View File

@ -8,6 +8,10 @@ sub run {
assert_screen "user_console", 300;
type_string "sudo su\n";
assert_script_run "coreos-installer install /dev/vda --ignition-url https://www.happyassassin.net/temp/openqa.ign", 600;
# the CoreOS installer does not write an efibootmgr entry, so to
# ensure we boot from hard disk on next boot, wipe the entry for
# the optical drive
assert_script_run('efibootmgr -b $(efibootmgr | grep CD-ROM | head -1 | cut -f1 | sed -e "s,[^0-9],,g") -B') if (get_var("UEFI"));
type_string "reboot\n";
}

View File

@ -125,6 +125,9 @@ sub run {
push(@actions, 'noplymouth');
}
}
if (get_var("CANNED") && get_var("UEFI")) {
push(@actions, 'checkefibootmgr') if (get_var("UEFI"));
}
# memcheck test doesn't need to reboot at all. Rebooting from GUI
# for no-webUI lives is unreliable (webUI lives reboot on "Quit"
# just like non-lives). And if we're already doing something
@ -133,9 +136,6 @@ sub run {
# check whether install is affected by
# https://bugzilla.redhat.com/show_bug.cgi?id=2268505 ,
# soft fail and work around it if so
if (get_var("CANNED") && get_var("UEFI")) {
push(@actions, 'checkefibootmgr') if (get_var("UEFI"));
}
# our approach for taking all these actions doesn't work on VNC
# installs, fortunately we don't need any of them in that case
# yet, so for now let's just flush the list here if we're VNC

View File

@ -0,0 +1,30 @@
use base "installedtest";
use strict;
use testapi;
use utils;
sub run {
my $self = shift;
if (not(check_screen "root_console", 0)) {
$self->root_console(tty => 4);
}
# now try deleting the "Fedora" boot entry and rebooting, to check the fallback path
assert_script_run('efibootmgr -b $(efibootmgr | grep Fedora | head -1 | cut -f1 | sed -e "s,[^0-9],,g") -B');
# check that worked
validate_script_output('efibootmgr', sub { $_ !~ m/.*Fedora.*/s });
type_string("reboot\n");
boot_to_login_screen;
$self->root_console(tty => 3);
# Fedora entry should have been recreated
validate_script_output('efibootmgr', sub { m/Fedora/ });
# SB should still be enabled
validate_script_output('mokutil --sb-state', sub { m/SecureBoot enabled/ });
}
sub test_flags {
return {fatal => 1};
}
1;
# vim: set sw=4 et:

View File

@ -13,6 +13,10 @@ sub run {
console_loadkeys_us;
# this test shows if the system is booted with efi
assert_script_run '[ -d /sys/firmware/efi/ ]';
# if Secure Boot should be enabled, check it is; if it isn't,
# that *probably* indicates a test system issue not a distro bug,
# but we want to know either way
validate_script_output('mokutil --sb-state', sub { m/SecureBoot enabled/ }) if (get_var("UEFI_SECURE"));
}
sub test_flags {