mirror of
https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git
synced 2024-12-01 01:33:08 +00:00
aacd01ea8b
Summary: This requires us to handle decryption each time we reboot in the upgrade process, so factor that little block out into the base class so we don't have to keep pasting it. It's also a bit tricky to integrate into the 'catch a boot loop' code we have to deal with #1349721, but I think this should work. There is a matching openqa_fedora_tools diff to generate the disk image. Test Plan: Run the tests, check that they work, run the other upgrade and encrypted install tests and check they still work properly too. Reviewers: garretraziel Reviewed By: garretraziel Subscribers: tflink Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D922
57 lines
1.5 KiB
Perl
57 lines
1.5 KiB
Perl
use base "installedtest";
|
|
use strict;
|
|
use testapi;
|
|
|
|
sub run {
|
|
my $self = shift;
|
|
# decrypt disks during boot if necessary
|
|
if (get_var("ENCRYPT_PASSWORD")) {
|
|
$self->boot_decrypt(60);
|
|
}
|
|
|
|
# wait for either graphical or text login
|
|
if (get_var('DESKTOP')) {
|
|
$self->boot_to_login_screen("graphical_login", 30, 90); # DM takes time to load
|
|
} else {
|
|
$self->boot_to_login_screen();
|
|
}
|
|
# switch to TTY3 for both, graphical and console tests
|
|
$self->root_console(tty=>3);
|
|
# disable screen blanking (update can take a long time)
|
|
script_run "setterm -blank 0";
|
|
|
|
# upgrader should be installed on up-to-date system
|
|
|
|
assert_script_run 'dnf -y update', 1800;
|
|
|
|
script_run "reboot";
|
|
|
|
# decrypt if necessary
|
|
if (get_var("ENCRYPT_PASSWORD")) {
|
|
$self->boot_decrypt(60);
|
|
}
|
|
|
|
if (get_var('DESKTOP')) {
|
|
$self->boot_to_login_screen("graphical_login", 30, 90); # DM takes time to load
|
|
} else {
|
|
$self->boot_to_login_screen();
|
|
}
|
|
$self->root_console(tty=>3);
|
|
|
|
my $update_command = 'dnf -y install dnf-plugin-system-upgrade';
|
|
assert_script_run $update_command, 600;
|
|
}
|
|
|
|
|
|
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:
|