mirror of
https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git
synced 2024-11-19 12:43:08 +00:00
943c4193d3
There's a couple of places where we do menu_launch_type in KDE without doing this workaround first, and they do run into the bug sometimes. Let's factor it out from the few places it's already repeated, and add it to the places it is missing. Signed-off-by: Adam Williamson <awilliam@redhat.com>
101 lines
3.1 KiB
Perl
101 lines
3.1 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();
|
|
# On KDE, try and avoid double-typing issues
|
|
if ($desktop eq "kde") {
|
|
kde_doublek_workaround;
|
|
}
|
|
|
|
# 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");
|
|
|
|
# Click the appropriate button to download the upgrade.
|
|
assert_and_click("desktop_package_tool_upgrade_system", timeout => 180);
|
|
|
|
if ($desktop eq "gnome") {
|
|
# 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);
|
|
assert_screen("auth_required");
|
|
|
|
# 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") {
|
|
# Click on Update all
|
|
assert_and_click("desktop_package_tool_update_apply", 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 see auth_required, it means the restart has been triggered
|
|
# and we need to authorize it
|
|
while (!check_screen("auth_required")) {
|
|
sleep 15;
|
|
}
|
|
type_very_safely("$pword\n");
|
|
}
|
|
}
|
|
|
|
|
|
sub test_flags {
|
|
return {fatal => 1};
|
|
}
|
|
|
|
1;
|
|
|
|
# vim: set sw=4 et:
|