Package tests

This commit is contained in:
Jitka Plesnikova 2024-07-12 08:11:00 +02:00
parent 7d3adac334
commit 64cedd7090
5 changed files with 59 additions and 3 deletions

1
.fmf/version Normal file
View File

@ -0,0 +1 @@
1

7
gating.yaml Normal file
View File

@ -0,0 +1,7 @@
# RHEL
--- !Policy
product_versions:
- rhel-*
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}

View File

@ -1,7 +1,7 @@
Name: perl-CPAN-Meta
Summary: Distribution metadata for a CPAN dist
Version: 2.150010
Release: 503%{?dist}
Release: 504%{?dist}
License: GPL-1.0-or-later OR Artistic-1.0-Perl
URL: https://metacpan.org/release/CPAN-Meta
Source0: https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/CPAN-Meta-%{version}.tar.gz
@ -55,17 +55,33 @@ Obsoletes: perl-Parse-CPAN-Meta < 1:1.4422-2
%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\(CPAN::Meta::Converter\\)$
%global __requires_exclude %{__requires_exclude}|^perl\\(CPAN::Meta::Requirements\\)$
# Filter modules bundled for tests
%global __provides_exclude_from %{?__provides_exclude_from:%__provides_exclude_from|}^%{_libexecdir}
%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\(Parse::CPAN::Meta::Test\\)
%description
Software distributions released to the CPAN include a META.json or, for older
distributions, META.yml, which describes the distribution, its contents, and
the requirements for building and installing the distribution. The data
structure stored in the META.json file is described in CPAN::Meta::Spec.
%package tests
Summary: Tests for %{name}
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: perl-Test-Harness
%description tests
Tests from %{name}. Execute them
with "%{_libexecdir}/%{name}/test".
%prep
%setup -q -n CPAN-Meta-%{version}
# silence rpmlint warnings
perl -MConfig -pi -e 's,^#!.*perl,$Config{startperl},' t/*.t
# Help generators to recognize Perl scripts
for F in `find t -name *.t`; do
perl -i -MConfig -ple 'print $Config{startperl} if $. == 1 && !s{\A#!.*perl\b}{$Config{startperl}}' "$F"
chmod +x "$F"
done
%build
perl Makefile.PL INSTALLDIRS=vendor
@ -75,8 +91,17 @@ make %{?_smp_mflags}
make pure_install DESTDIR=%{buildroot} UNINST=0
find %{buildroot} -type f -name .packlist -delete
%{_fixperms} %{buildroot}
# Install tests
mkdir -p %{buildroot}%{_libexecdir}/%{name}
cp -a t %{buildroot}%{_libexecdir}/%{name}
cat > %{buildroot}%{_libexecdir}/%{name}/test << 'EOF'
#!/bin/sh
cd %{_libexecdir}/%{name} && exec prove -I . -j "$(getconf _NPROCESSORS_ONLN)"
EOF
chmod +x %{buildroot}%{_libexecdir}/%{name}/test
%check
export HARNESS_OPTIONS=j$(perl -e 'if ($ARGV[0] =~ /.*-j([0-9][0-9]*).*/) {print $1} else {print 1}' -- '%{?_smp_mflags}')
make test
%files
@ -99,7 +124,13 @@ make test
%{_mandir}/man3/CPAN::Meta::Validator.3*
%{_mandir}/man3/Parse::CPAN::Meta.3*
%files tests
%{_libexecdir}/%{name}
%changelog
* Fri Jul 12 2024 Jitka Plesnikova <jplesnik@redhat.com> - 2.150010-503
- Package tests
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 2.150010-503
- Bump release for June 2024 mass rebuild

5
plans/sanity.fmf Normal file
View File

@ -0,0 +1,5 @@
summary: Sanity tests
discover:
how: fmf
execute:
how: tmt

12
tests/upstream-tests.fmf Normal file
View File

@ -0,0 +1,12 @@
summary: Upstream tests
contact: Jitka Plesnikova <jplesnik@redhat.com>
component: perl-CPAN-Meta
require: perl-CPAN-Meta-tests
test: /usr/libexec/perl-CPAN-Meta/test
enabled: true
tag:
- rhel-buildroot
adjust:
- enabled: false
when: distro < rhel-10 or distro < centos-stream-10
continue: false