1
0
mirror of https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git synced 2024-11-22 14:03:09 +00:00
os-autoinst-distri-fedora/tests/upgrade_preinstall.pm
Adam Williamson d445a80016 update testing: use a concurrent script to download packages
This uses a Python script which implements concurrent downloads
(via asyncio) to download workaround and update packages and
configure the repos. This should speed up the process for large
multi-package updates.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-01-11 11:31:40 -08:00

51 lines
1.5 KiB
Perl

use base "installedtest";
use strict;
use testapi;
use utils;
sub run {
my $self = shift;
# upgrader should be installed on up-to-date system
my $version = get_var("UP1REL");
# ok this is dumb but I need to fix it fast and can't think of a
# better way in a hurry. We want the pre-upgrade release version.
my $testname = get_var("TEST");
if (index($testname, "upgrade_2") != -1) {
$version = get_var("UP2REL");
}
# setup the workarounds repository for the pre-upgrade release,
# in case we need workarounds for that environment
setup_repos(waonly => 1, version => $version);
# disable updates-testing, this is needed for the case of upgrade
# from branched to rawhide to ensure we don't get packages from
# updates-testing for anything we do between here and upgrade_run
disable_updates_repos(both => 0);
assert_script_run 'dnf -y update --refresh', 1800;
script_run "reboot", 0;
# handle bootloader, if requested
if (get_var("GRUB_POSTINSTALL")) {
do_bootloader(postinstall => 1, params => get_var("GRUB_POSTINSTALL"), timeout => 120);
}
# decrypt if necessary
if (get_var("ENCRYPT_PASSWORD")) {
boot_decrypt(120);
}
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 {
return {fatal => 1};
}
1;
# vim: set sw=4 et: