1
0
mirror of https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git synced 2024-10-31 21:44:23 +00:00
os-autoinst-distri-fedora/tests/_console_shutdown.pm
Adam Williamson 22c0b5bc04 Disable hidden grub menu for uploaded base installs
At least one test (desktop_notifications_postinstall) boots from
the disk image uploaded by install_default_upload, and needs to
access the grub menu. On F29+ Workstation this is failing,
because the grub menu is now hidden by default, so when the test
boots, it never sees the bootloader screen, and fails.

I considered trying to teach it to hold down shift or hit f8 or
esc at the right time, but that seems like it might be hard. So
instead let's just try to disable the hidden menu when we're
about to upload the installed system image. This is kinda going
against the 'preserve natural system behaviour' principle we try
to use for openQA, but I think it's OK as we do have other tests
that will exercise the 'hidden boot menu' stuff to some extent.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-10-12 15:36:55 -07:00

32 lines
1.1 KiB
Perl

use base "installedtest";
use strict;
use testapi;
sub run {
my $self = shift;
# this shutdown code is only to make sure the guest disk is clean
# before uploading an image of it, we're really not "testing"
# shutdown here. So to keep things simple and reliable, we do not
# use the desktops' graphical shutdown methods, we just go to a
# console and run 'poweroff'. We can write separate tests for
# properly testing shutdown/reboot/log out from desktops.
$self->root_console(tty=>4);
# disable the hidden grub menu on Workstation, so post-install
# tests that need to edit boot params will see it. Don't use
# assert_script_run as this will fail when it's not set
script_run("grub2-editenv - unset menu_auto_hide", 0);
script_run("poweroff", 0);
assert_shutdown 180;
}
# this is not 'fatal' or 'important' as all wiki test cases are passed
# even if shutdown fails. we should have a separate test for shutdown/
# logout/reboot stuff, might need some refactoring.
sub test_flags {
return { 'norollback' => 1, 'ignore_failure' => 1 };
}
1;
# vim: set sw=4 et: