1
0
mirror of https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git synced 2024-12-22 18:33:07 +00:00
os-autoinst-distri-fedora/tests/_software_selection.pm
Adam Williamson 5f702b0be8 Run update repo setup steps from a serial console
This is a surprisingly large change as we want to go back to
the console we were previously on after doing it. To do that we
need to know what console we were on, and to know *that*, we need
to port everything that currently uses (ctrl-)alt-fX to switch
consoles to use select_console instead.

This is primarily intended to make running setup_repos.py faster
when it has to download a lot of packages (as typing in hundreds
of package names is quite slow). But it actually makes the whole
thing faster, even when only downloading one or two packages.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-01-11 12:09:59 -08:00

55 lines
1.6 KiB
Perl

use base "anacondatest";
use strict;
use testapi;
sub run {
my $self = shift;
# Select package set. Minimal is the default, if 'default' is specified, skip selection,
# but verify correct default in some cases
my $packageset = get_var('PACKAGE_SET', 'minimal');
if ($packageset eq 'default') {
# we can't or don't want to check the selected package set in this case
return if (get_var('CANNED') || get_var('LIVE') || get_var('MEMCHECK'));
$self->root_console;
my $env = 'custom-environment';
if (get_var('SUBVARIANT') eq 'Server') {
$env = 'server-product-environment';
}
elsif (get_var('SUBVARIANT') eq 'Workstation') {
$env = 'workstation-product-environment';
}
# line looks like:
# 07:40:26,614 DBG ui.lib.software: Selecting the 'custom-environment' environment.
assert_script_run "grep 'Selecting the.*environment' /tmp/anaconda.log /tmp/packaging.log | tail -1 | grep $env";
select_console "tty6-console";
assert_screen "anaconda_main_hub", 30;
return;
}
assert_and_click "anaconda_main_hub_select_packages";
wait_still_screen 3;
# select desired environment
send_key_until_needlematch "anaconda_${packageset}_highlighted", "tab";
send_key "spc";
# check that desired environment is selected
assert_screen "anaconda_${packageset}_selected";
assert_and_click "anaconda_spoke_done";
# Anaconda hub
assert_screen "anaconda_main_hub", 50;
}
sub test_flags {
return {fatal => 1};
}
1;
# vim: set sw=4 et: