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. install_application("mahjongg", "rpm"); install_application("gvim", "rpm"); 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: