diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..1608530 --- /dev/null +++ b/gating.yaml @@ -0,0 +1,7 @@ +# RHEL +--- !Policy +product_versions: + - rhel-* +decision_context: osci_compose_gate +rules: + - !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional} diff --git a/perl-CPAN-Meta.spec b/perl-CPAN-Meta.spec index c1e51d9..5a194cc 100644 --- a/perl-CPAN-Meta.spec +++ b/perl-CPAN-Meta.spec @@ -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 - 2.150010-503 +- Package tests + * Mon Jun 24 2024 Troy Dawson - 2.150010-503 - Bump release for June 2024 mass rebuild diff --git a/plans/sanity.fmf b/plans/sanity.fmf new file mode 100644 index 0000000..a72ded4 --- /dev/null +++ b/plans/sanity.fmf @@ -0,0 +1,5 @@ +summary: Sanity tests +discover: + how: fmf +execute: + how: tmt diff --git a/tests/upstream-tests.fmf b/tests/upstream-tests.fmf new file mode 100644 index 0000000..d519e93 --- /dev/null +++ b/tests/upstream-tests.fmf @@ -0,0 +1,12 @@ +summary: Upstream tests +contact: Jitka Plesnikova +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