mirror of
https://github.com/rocky-linux/os-autoinst-distri-rocky.git
synced 2024-11-30 08:56:26 +00:00
AlanMarshall
91e1b5df85
This fixes the consistent failure in the modularity_tests of the FLAVOR=dvd-iso test suite thereby resolving Issue #147
72 lines
3.5 KiB
Perl
72 lines
3.5 KiB
Perl
use base "installedtest";
|
|
use strict;
|
|
use modularity;
|
|
use testapi;
|
|
use utils;
|
|
|
|
sub run {
|
|
my $self = shift;
|
|
# switch to tty and login as root
|
|
$self->root_console(tty => 3);
|
|
|
|
# The test case will check that dnf has modular functions and that
|
|
# it is possible to invoke modular commands to work with modularity.
|
|
|
|
# Check that dnf lists the enabled modules.
|
|
# NOTE: In Rocky the baseos and appstream default repos include and add modules in the
|
|
# default installation where in Fedora all modules are in separate modular repos.
|
|
# Until we figure out how to keep track of the count of expected enabled modular
|
|
# packages this will need to assume what appears to be the default in dvd-iso.
|
|
my $modules = script_output('dnf module list --enabled', timeout => 270);
|
|
my @modules = parse_module_list($modules);
|
|
my $module_count = scalar @modules;
|
|
|
|
my $flavor = get_var('FLAVOR', 'minimal-iso');
|
|
my $packageset = get_var('PACKAGE_SET', 'graphical-server');
|
|
my $version = get_var('VERSION', 'none');
|
|
|
|
if ($version eq 'none') {
|
|
die "VERSION=9.1 or VERSION=8.8 or VERSION=8.7 need to be specified on the command line.";
|
|
} elsif ($version eq '9.1') {
|
|
die "Enabled modules ($module_count) is not equal to the default (0)." unless (scalar @modules == 0);
|
|
} elsif ($version eq '8.8' || $version eq '8.7') {
|
|
if ($flavor eq 'boot-iso') {
|
|
die "There seem to be enabled modules when the list should be empty." unless ($module_count == 0);
|
|
} elsif ($flavor eq 'minimal-iso') {
|
|
if ($packageset eq 'minimal') {
|
|
die "There seem to be enabled modules when the list should be empty." unless ($module_count == 0);
|
|
} elsif ($packageset eq 'server') {
|
|
die "There seem to be enabled modules when the list should be empty." unless ($module_count == 0);
|
|
}
|
|
} elsif ($flavor eq 'dvd-iso' || $flavor eq 'universal') {
|
|
if ($packageset eq 'minimal') {
|
|
die "Enabled modules ($module_count) is not equal to the default (1)." unless (scalar @modules == 1);
|
|
} elsif ($packageset eq 'server') {
|
|
die "Enabled modules ($module_count) is not equal to the default (2)." unless (scalar @modules == 2);
|
|
} elsif ($packageset eq 'graphical-server') {
|
|
die "Enabled modules ($module_count) is not equal to the default (9)." unless (scalar @modules == 9);
|
|
} elsif ($packageset eq 'workstation') {
|
|
die "Enabled modules ($module_count) is not equal to the default (13)." unless (scalar @modules == 13);
|
|
} elsif ($packageset eq 'virtualization-host') {
|
|
die "Enabled modules ($module_count) is not equal to the default (2)." unless (scalar @modules == 2);
|
|
}
|
|
} else {
|
|
die "Enabled modules ($module_count) is not equal to the default (0)." unless (scalar @modules == 0);
|
|
}
|
|
}
|
|
|
|
# Check that dnf lists the disabled modules.
|
|
$modules = script_output('dnf module list --disabled', timeout => 270);
|
|
@modules = parse_module_list($modules);
|
|
die "There seem to be disabled modules when the list should be empty." unless (scalar @modules == 0);
|
|
|
|
# Check that dnf lists the installed modules.
|
|
$modules = script_output('dnf module list --installed', timeout => 270);
|
|
@modules = parse_module_list($modules);
|
|
die "There seem to be installed modules when the list should be empty." unless (scalar @modules == 0);
|
|
}
|
|
|
|
1;
|
|
|
|
# vim: set sw=4 et:
|