Skip to content

Commit

Permalink
Wrapper for zypper_call and trup_call
Browse files Browse the repository at this point in the history
  • Loading branch information
dzedro committed Nov 28, 2023
1 parent 37409ad commit d6c0b62
Show file tree
Hide file tree
Showing 3 changed files with 61 additions and 12 deletions.
57 changes: 57 additions & 0 deletions lib/wrapper.pm
@@ -0,0 +1,57 @@
# SUSE's openQA tests
#
# Copyright 2023 SUSE LLC
# SPDX-License-Identifier: FSFAP
#
# Summary: Wrapper for package installation, zypper or transactional update
# Maintainer: QE Core <qe-core@suse.de>

package wrapper;
use Mojo::Base qw(Exporter);
use testapi;
use version_utils qw(is_transactional);
use transactional qw(trup_call);
use utils qw(zypper_call);

our @EXPORT = "install_package";

=head1 DESCRIPTION
Wrapper for zypper_call and trup_call
=head2 install_package
install_package(packages => 'kernel-devel' [, trup_packages => 'kernel-default-base] [, zypper_packages => 'kernel-devel']);
C<packages> defines packages to install for both zypper and trup call,
different packages can be installaed on transactional system via C<trup_packages>
or on standard system via C<zypper_packages>
After trup_call check_reboot_changes can be executed via C<trup_check_reboot> parameter
=cut

sub install_package {
my (%args) = @_;
my $trup_packages = $args{trup_packages} // $args{packages};
my $zypper_packages = $args{zypper_packages} // $args{packages};
die 'At least one of packages, trup_packages, zypper_packages arguments is required' unless defined($args{packages} || $args{trup_packages} || $args{zypper_packages});
my $timeout = $args{timeout} // 500;

if (is_transactional) {
if ($args{trup_info}) {
record_info('install_package', $args{trup_info});
}
else {
trup_call('pkg in -l ' . $trup_packages, timeout => $args{timeout});
check_reboot_changes if $args{trup_check_reboot};
}
}
else {
if ($args{zypper_info}) {
record_info('install_package', $args{zypper_info});
}
else {
zypper_call('in -l ' . $zypper_packages, timeout => $args{timeout});
}
}
}
9 changes: 2 additions & 7 deletions tests/console/year_2038_detection.pm
Expand Up @@ -25,15 +25,10 @@ use version_utils qw(is_transactional is_sle is_sle_micro is_leap is_leap_micro)
use Utils::Systemd 'disable_and_stop_service';
use power_action_utils 'power_action';
use Utils::Backends 'is_pvm';
use wrapper;

sub install_pkg {
if (is_transactional) {
trup_call('pkg install chrony');
check_reboot_changes;
}
else {
zypper_call('in chrony');
}
install_package(packages => 'chrony', trup_check_reboot => 1);
}

sub run {
Expand Down
7 changes: 2 additions & 5 deletions tests/kernel/update_kernel.pm
Expand Up @@ -23,6 +23,7 @@ use repo_tools 'add_qa_head_repo';
use Utils::Backends;
use LTP::utils;
use transactional;
use wrapper;

sub check_kernel_package {
my $kernel_name = shift;
Expand Down Expand Up @@ -86,11 +87,7 @@ sub update_kernel {
fully_patch_system;

if (check_var('SLE_PRODUCT', 'slert')) {
if (is_transactional) {
record_info("There is no kernel-devel-rt available on transactional system.");
} else {
zypper_call('in kernel-devel-rt');
}
install_package(zypper_packages => 'kernel-devel-rt', trup_info => 'There is no kernel-devel-rt available on transactional system.');
}
elsif (is_sle('12+')) {
zypper_call('in kernel-devel');
Expand Down

0 comments on commit d6c0b62

Please sign in to comment.