mirror of
https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git
synced 2024-11-25 07:13:09 +00:00
5bcbaeeb5c
This PR builds on some elements of the current upgrade process, such as upgrade_boot, upgrade_preinstall, upgrade_postinstall, but replaces the upgrade_run with graphical_upgrade_run to use graphical methods to upgrade the system. This would not be possible without necessary settings, that are performed by graphical_upgrade_prerequisites. Works for both Gnome and KDE.
104 lines
3.4 KiB
Perl
104 lines
3.4 KiB
Perl
use base "installedtest";
|
|
use strict;
|
|
use testapi;
|
|
use utils;
|
|
|
|
# This method does the basic login to a DE,
|
|
# it can distinguish between Gnome and KDE.
|
|
# We are using it to make the code a little
|
|
# lighter.
|
|
sub session_login {
|
|
my $desktop = shift;
|
|
my $pword = get_var("USER_PASSWORD") // "weakpassword";
|
|
if ($desktop eq "gnome") {
|
|
# For Gnome, we need to press Enter first
|
|
# to show the password field, then we type
|
|
# in the password.
|
|
send_key("ret");
|
|
wait_still_screen(1);
|
|
}
|
|
# For both DEs
|
|
type_very_safely("$pword\n");
|
|
}
|
|
|
|
sub run {
|
|
my $self = shift;
|
|
my $rawrel = get_var("RAWREL");
|
|
my $user = get_var("USER_LOGIN") // "test";
|
|
my $pword = get_var("USER_PASSWORD") // "weakpassword";
|
|
my $desktop = get_var("DESKTOP");
|
|
|
|
# The previous test, 'graphical_upgrade_prerequsites' reset
|
|
# the machine, so we will deal with booting it and
|
|
# login to the $desktop.
|
|
boot_to_login_screen();
|
|
session_login($desktop);
|
|
# If we are on Gnome, we have seen the welcome screen already
|
|
# in the previous step, so we do not want to repeat this.
|
|
# However, for KDE we will deal with it.
|
|
if ($desktop eq "kde") {
|
|
handle_welcome_screen();
|
|
}
|
|
# Let's check, that the desktop is shown.
|
|
check_desktop();
|
|
|
|
# Start the package manager application depending
|
|
# on which DE we are on.
|
|
my $pkgmgr = "software";
|
|
$pkgmgr = "discover" if ($desktop eq "kde");
|
|
menu_launch_type($pkgmgr);
|
|
|
|
# On Gnome, the upgrade is safely visible when
|
|
# we visit the Update page by clicking on the
|
|
# Update icon. Let's click on that icon on
|
|
# both DEs, just to make sure.
|
|
assert_and_click("desktop_package_tool_update");
|
|
|
|
# Check that the new upgrade version is available.
|
|
assert_screen("desktop_package_tool_updates_available", timeout => 180);
|
|
|
|
if ($desktop eq "gnome") {
|
|
# When a new release is available, there will be a download button,
|
|
# click on that button to download the upgrade packages.
|
|
assert_and_click("desktop_package_tool_update_download");
|
|
|
|
# Restart the computer to apply upgrades, when the download is complete.
|
|
# Downloading the upgrade packages may take a long time
|
|
# so let's check until we find it.
|
|
assert_and_click("desktop_package_tool_restart_upgrade", timeout => 1200);
|
|
|
|
# Type the password to confirm.
|
|
type_very_safely("$pword\n");
|
|
|
|
# Click on the 'restart and install' button
|
|
# to restart into the upgrade session.
|
|
assert_and_click("gnome_reboot_confirm");
|
|
}
|
|
elsif ($desktop eq "kde") {
|
|
# There is a button to upgrade to a new major version,
|
|
# click it.
|
|
assert_and_click("desktop_package_tool_upgrade_system");
|
|
# Click on Update all
|
|
assert_and_click("desktop_package_tool_update_all", timeout => 1200);
|
|
# Once we click that button, we can check the checkbutton
|
|
# for restarting the computer automatically.
|
|
assert_and_click("desktop_package_tool_restart_automatically");
|
|
# When we still see the 'restart_automatically' tag, we
|
|
# are still downloading. When it disappears, it means that
|
|
# the machine gets restarted and we can stop this module.
|
|
while (!check_screen("auth_required")) {
|
|
sleep 15;
|
|
}
|
|
type_very_safely("$pword\n");
|
|
}
|
|
}
|
|
|
|
|
|
sub test_flags {
|
|
return {fatal => 1};
|
|
}
|
|
|
|
1;
|
|
|
|
# vim: set sw=4 et:
|