3ecef54b51
Summary: Instead of sitting there waiting 6000 seconds twice, when DNF explicitly tells us it failed, just die. This is why we haven't been getting proper compose check reports lately; the upgrade tests are failing, waiting 6000 seconds to time out, then being cloned and tried again, waiting another 6000 seconds. This is just barely going beyond check-compose's 8 hour wait limit, as it's some time before the upgrade tests even get started (they're low in the priority list). We're still going to have that problem if the tests fail any other way, but this at least catches that case. Test Plan: Run the upgrade tests and see that they fail quicker (assuming the dependency problems they're dying on aren't fixed). Maybe also do a 22-23 upgrade test and check it still succeeds properly. Reviewers: jskladan, garretraziel Reviewed By: garretraziel Subscribers: tflink Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D650
48 lines
1.5 KiB
Perl
48 lines
1.5 KiB
Perl
use base "installedtest";
|
|
use strict;
|
|
use testapi;
|
|
|
|
sub run {
|
|
my $release = lc(get_var('VERSION'));
|
|
my $milestone = lc((split /_/, get_var("BUILD"))[1]);
|
|
my $args = "--releasever=${release}";
|
|
# This is excessive - after the Bodhi activation point we don't
|
|
# need --nogpgcheck for Branched. But that's hard to detect magically
|
|
if ($release eq 'rawhide' or $milestone eq 'branched') {
|
|
$args .= " --nogpgcheck";
|
|
}
|
|
# disable screen blanking (download can take a long time)
|
|
script_run "setterm -blank 0";
|
|
|
|
script_run "dnf -y system-upgrade download ${args}";
|
|
|
|
# wait until dnf finishes its work (screen stops moving for 30 seconds)
|
|
wait_still_screen 30, 6000; # TODO: shorter timeout, longer stillscreen?
|
|
|
|
upload_logs "/var/log/dnf.log";
|
|
upload_logs "/var/log/dnf.rpm.log";
|
|
|
|
script_run "dnf system-upgrade reboot";
|
|
die "DNF reported failure" if (check_screen "upgrade_fail");
|
|
|
|
# now offline upgrading starts. user doesn't have to do anything, just wait untill
|
|
# system reboots and login screen is shown
|
|
if (get_var('UPGRADE') eq "desktop") {
|
|
assert_screen "graphical_login", 6000;
|
|
} else {
|
|
assert_screen "text_console_login", 6000;
|
|
}
|
|
}
|
|
|
|
|
|
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:
|