Package tests

This commit is contained in:
Michal Josef Špaček 2024-08-22 23:49:42 +02:00
parent 9044f70eb7
commit 13047d23c8
5 changed files with 65 additions and 2 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,14 +1,16 @@
Name: perl-Test-Pod-Coverage Name: perl-Test-Pod-Coverage
Version: 1.10 Version: 1.10
Release: 29%{?dist} Release: 30%{?dist}
Summary: Check for pod coverage in your distribution Summary: Check for pod coverage in your distribution
License: Artistic-2.0 License: Artistic-2.0
URL: https://metacpan.org/release/Test-Pod-Coverage URL: https://metacpan.org/release/Test-Pod-Coverage
Source0: https://cpan.metacpan.org/authors/id/N/NE/NEILB/Test-Pod-Coverage-%{version}.tar.gz Source0: https://cpan.metacpan.org/authors/id/N/NE/NEILB/Test-Pod-Coverage-%{version}.tar.gz
BuildArch: noarch BuildArch: noarch
BuildRequires: make BuildRequires: coreutils
BuildRequires: make
BuildRequires: perl-interpreter BuildRequires: perl-interpreter
BuildRequires: perl-generators BuildRequires: perl-generators
BuildRequires: perl(Config)
BuildRequires: perl(ExtUtils::MakeMaker) BuildRequires: perl(ExtUtils::MakeMaker)
BuildRequires: perl(strict) BuildRequires: perl(strict)
BuildRequires: perl(warnings) BuildRequires: perl(warnings)
@ -24,13 +26,31 @@ BuildRequires: perl(Test::More)
# Optional tests: # Optional tests:
BuildRequires: perl(Test::Pod) >= 1.14 BuildRequires: perl(Test::Pod) >= 1.14
# Remove private test modules
%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\(PC_Inherited\\)$
%global __provides_exclude %{?__provides_exclude:%__provides_exclude|}^perl\\(Nopod|Nosymbols|PC_Inherited|PC_Inherits|Privates|Simple\\)$
%description %description
Test::Pod::Coverage is used to create a test for your distribution, to Test::Pod::Coverage is used to create a test for your distribution, to
ensure that all relevant files in your distribution are appropriately ensure that all relevant files in your distribution are appropriately
documented in pod. documented in pod.
%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 %prep
%setup -q -n Test-Pod-Coverage-%{version} %setup -q -n Test-Pod-Coverage-%{version}
# Help generators to recognize Perl scripts
for F in t/*.t; do
perl -i -MConfig -ple 'print $Config{startperl} if $. == 1 && !s{\A#!.*perl\b}{$Config{startperl}}' "$F"
chmod +x "$F"
done
%build %build
perl Makefile.PL INSTALLDIRS=vendor perl Makefile.PL INSTALLDIRS=vendor
@ -40,6 +60,18 @@ make %{?_smp_mflags}
make pure_install DESTDIR=$RPM_BUILD_ROOT make pure_install DESTDIR=$RPM_BUILD_ROOT
find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} ';' find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} ';'
%{_fixperms} $RPM_BUILD_ROOT/* %{_fixperms} $RPM_BUILD_ROOT/*
# Install tests
mkdir -p %{buildroot}%{_libexecdir}/%{name}
cp -a t %{buildroot}%{_libexecdir}/%{name}
# Remove author tests
rm -f %{buildroot}%{_libexecdir}/%{name}/t/pod.t
# Remove tests based on dist
rm -f %{buildroot}%{_libexecdir}/%{name}/t/all_modules.t
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 %check
make test make test
@ -49,7 +81,13 @@ make test
%{perl_vendorlib}/Test/ %{perl_vendorlib}/Test/
%{_mandir}/man3/*.3pm* %{_mandir}/man3/*.3pm*
%files tests
%{_libexecdir}/%{name}
%changelog %changelog
* Thu Aug 22 2024 Michal Josef Špaček <mspacek@redhat.com> - 1.10-30
- Package tests
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 1.10-29 * Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 1.10-29
- Bump release for June 2024 mass rebuild - 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: Michal Josef Spacek <mspacek@redhat.com>
component: perl-Test-Pod-Coverage
require: perl-Test-Pod-Coverage-tests
test: /usr/libexec/perl-Test-Pod-Coverage/test
enabled: true
tag:
- rhel-buildroot
adjust:
- enabled: false
when: distro < rhel-10 or distro < centos-stream-10
continue: false