2
0
mirror of https://github.com/xcat2/xcat-core.git synced 2026-10-21 23:28:19 +00:00
Files
xcat-core/xCAT-test/unit/fips_dhcp_packaging.t
T
2026-10-05 22:54:53 -03:00

40 lines
1.4 KiB
Perl

#!/usr/bin/env perl
use strict;
use warnings;
use FindBin;
use lib "$FindBin::Bin/../lib";
use Test::More;
use XCAT::Test::File qw(repo_path);
my $rpmspec = qx(command -v rpmspec 2>/dev/null);
chomp($rpmspec);
plan skip_all => 'rpmspec is required' unless $rpmspec && -x $rpmspec;
foreach my $spec ('xCAT/xCAT.spec', 'xCATsn/xCATsn.spec') {
foreach my $build (
['EL8', 'rhel 8'], ['EL9', 'rhel 9'], ['EL10', 'rhel 10'],
['SLES15', 'suse_version 1500'], ['openEuler', 'openEuler 1'],
) {
foreach my $arch (qw(x86_64 ppc64le aarch64 s390x riscv64)) {
open(my $fh, '-|', $rpmspec, '-q', '--requires', '--target', $arch,
'--define', 'version 2.20.0', '--define', 'release 1',
'--undefine', 'rhel', '--undefine', 'suse_version',
'--undefine', 'openEuler', '--define', $build->[1],
repo_path($spec)) or die "run rpmspec: $!";
my @requires = <$fh>;
close($fh) or BAIL_OUT("rpmspec failed for $spec on $build->[0]/$arch");
chomp @requires;
is_deeply(
[grep { /\bdhcp-server\b/ } @requires], [],
"$spec built on $build->[0]/$arch adds no SHA-only DHCP package floor"
);
is(scalar(grep { m{/usr/sbin/dhcpd} } @requires), 1,
"$spec built on $build->[0]/$arch retains its DHCP backend requirement");
}
}
}
done_testing();