2021-08-24 08:16:40 +00:00
|
|
|
use base "installedtest";
|
|
|
|
use strict;
|
|
|
|
use testapi;
|
|
|
|
use utils;
|
|
|
|
use desktoptools;
|
|
|
|
|
|
|
|
# This script tests if Software can install multiple applications
|
|
|
|
# one after another without waiting for any installation to complete.
|
|
|
|
# In order not to spend time waiting, we will only use RPM as installation
|
|
|
|
# sources in this test.
|
|
|
|
|
|
|
|
# As we will perform three consecutive installations, we do not want to
|
|
|
|
# repeat the code, so let's create a subroutine to handle one installation.
|
|
|
|
|
|
|
|
# Main part
|
|
|
|
sub run {
|
|
|
|
my $self = shift;
|
|
|
|
|
|
|
|
unless (get_var("SUBVARIANT") eq "Silverblue") {
|
|
|
|
|
|
|
|
# Sometimes, Software crashes after the VM has been rolled back.
|
|
|
|
# If so, restart the application.
|
|
|
|
unless (check_screen("apps_run_software")) {
|
|
|
|
restart_application("software");
|
|
|
|
}
|
|
|
|
# Perform all installations one after another.
|
2023-03-22 11:35:09 +00:00
|
|
|
find_application("mahjongg");
|
2021-08-24 08:16:40 +00:00
|
|
|
install_application("mahjongg", "rpm");
|
2023-03-22 11:31:48 +00:00
|
|
|
find_application("gvim");
|
2021-08-24 08:16:40 +00:00
|
|
|
install_application("gvim", "rpm");
|
2023-03-22 11:31:48 +00:00
|
|
|
find_application("emacs");
|
2021-08-24 08:16:40 +00:00
|
|
|
install_application("emacs", "rpm");
|
|
|
|
|
|
|
|
# Check that the installations have completed successfully.
|
|
|
|
check_app_installed("mahjongg");
|
|
|
|
check_app_installed("gvim");
|
|
|
|
check_app_installed("emacs");
|
|
|
|
|
|
|
|
# Also confirm using the CLI method.
|
|
|
|
$self->root_console(tty => 3);
|
|
|
|
assert_script_run("rpm -qa gnome-mahjongg");
|
|
|
|
assert_script_run("rpm -qa vim-X11");
|
|
|
|
assert_script_run("rpm -qa emacs");
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
record_info("Silverblue override", "The test has been skipped because the functionality is not available on Silverblue.");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
sub test_flags {
|
|
|
|
# When finished, rollback to milestone.
|
|
|
|
return {always_rollback => 1};
|
|
|
|
}
|
|
|
|
|
|
|
|
1;
|
|
|
|
|
|
|
|
# vim: set sw=4 et:
|
|
|
|
|