os-autoinst-distri-rocky/tests/upgrade_run.pm
Adam Williamson b7abdf81a9 always use --nogpgcheck when installing packages
Summary:
Except when running on the pre-upgrade release in the upgrade
tests (where GPG check should always be OK).

Currently we always need to use --nogpgcheck on Rawhide, and we
must also use it on Branched prior to the Bodhi activation
point. At present we don't really have any simple way to know
when the Bodhi activation point has kicked in. We could assume
that it's safe to do GPG checking for 'candidate' (not nightly)
composes, but even that isn't 100% safe and isn't really the
*right* thing to do. So I think for now it's best to just always
use --nogpgcheck , until we come up with a decent way to check
for Bodhi enablement, or releng figures things out so we can
rely on packages being signed in Rawhide and in Branched before
Bodhi enablement.

Test Plan:
Check the tests all still run, make sure I didn't
miss any dnf calls.

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D964
2016-08-10 07:56:13 -07:00

56 lines
1.6 KiB
Perl

use base "installedtest";
use strict;
use testapi;
sub run {
my $self = shift;
# disable screen blanking (download can take a long time)
script_run "setterm -blank 0";
assert_script_run "dnf -y --nogpgcheck system-upgrade download", 6000;
upload_logs "/var/log/dnf.log";
upload_logs "/var/log/dnf.rpm.log";
script_run "dnf system-upgrade reboot";
# fail immediately if we see a DNF error message
die "DNF reported failure" if (check_screen "upgrade_fail", 15);
if (get_var("ENCRYPT_PASSWORD")) {
$self->boot_decrypt(60);
}
# try and catch if we hit RHBZ #1349721 and work around it
if (check_screen "bootloader") {
# wait some secs for the screen to clear
sleep 10;
if (get_var("ENCRYPT_PASSWORD")) {
$self->boot_decrypt(60);
}
if (check_screen "bootloader") {
record_soft_failure;
$self->do_bootloader(postinstall=>1, params=>"enforcing=0");
if (get_var("ENCRYPT_PASSWORD")) {
$self->boot_decrypt(60);
}
}
}
# in encrypted case we need to wait a bit so postinstall test
# doesn't bogus match on the encryption prompt we just completed
# before it disappears from view
if (get_var("ENCRYPT_PASSWORD")) {
sleep 5;
}
}
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: