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/perl-Module-CoreList.spec b/perl-Module-CoreList.spec index 4c70581..405a26e 100644 --- a/perl-Module-CoreList.spec +++ b/perl-Module-CoreList.spec @@ -1,6 +1,3 @@ -# Run optional test -%bcond_without perl_Module_CoreList_enables_optional_test - Name: perl-Module-CoreList # Epoch to compete with perl.spec Epoch: 1 @@ -28,10 +25,6 @@ BuildRequires: perl(List::Util) BuildRequires: perl(version) >= 0.88 # Tests: BuildRequires: perl(Test::More) -# Optional tests: -%if %{with perl_Module_CoreList_enables_optional_test} && !%{defined perl_bootstrap} -BuildRequires: perl(Test::Pod) >= 1.00 -%endif Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version)) Requires: perl(List::Util) Requires: perl(version) >= 0.88 @@ -56,20 +49,55 @@ Conflicts: perl-Module-CoreList < 1:5.20140914 This package provides a corelist(1) tool which can be used to query what modules were shipped with given perl version. +%package tests +Summary: Tests for %{name} +Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: %{name}-tools = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: perl-Test-Harness + +%description tests +Tests from %{name}-%{version}. Execute them +with "%{_libexecdir}/%{name}/test". %prep %setup -q -n Module-CoreList-%{version} +# Help file to recognise the Perl scripts and normalize shebangs +for F in t/*.t; do + if head -1 "$F" | grep -q -e '^#!.*perl' ; then + perl -MConfig -pi -e 's|^#!.*perl\b|$Config{startperl}|' "$F" + else + perl -i -MConfig -ple 'print $Config{startperl} if $. == 1' "$F" + fi + chmod +x "$F" +done + +# Remove release tests +rm t/pod.t +perl -i -ne 'print $_ unless m{^t/pod\.t}' MANIFEST + %build perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 NO_PERLLOCAL=1 %{make_build} %install %{make_install} + +# Install tests +mkdir -p %{buildroot}/%{_libexecdir}/%{name} +cp -a t %{buildroot}/%{_libexecdir}/%{name} +cat > %{buildroot}/%{_libexecdir}/%{name}/test << 'EOF' +#!/bin/sh +unset PERL_CORE +cd %{_libexecdir}/%{name} && exec prove -I . -j "$(getconf _NPROCESSORS_ONLN)" +EOF +chmod +x %{buildroot}/%{_libexecdir}/%{name}/test + %{_fixperms} $RPM_BUILD_ROOT/* %check unset PERL_CORE +export HARNESS_OPTIONS=j$(perl -e 'if ($ARGV[0] =~ /.*-j([0-9][0-9]*).*/) {print $1} else {print 1}' -- '%{?_smp_mflags}') make test %files @@ -82,9 +110,13 @@ make test %{_bindir}/corelist %{_mandir}/man1/corelist.* +%files tests +%{_libexecdir}/%{name} + %changelog * Mon Feb 22 2021 Jitka Plesnikova - 1:5.20210220-1 - 5.20210220 bump +- Package tests * Wed Jan 27 2021 Fedora Release Engineering - 1:5.20210123-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_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..b8522dd --- /dev/null +++ b/tests/upstream-tests.fmf @@ -0,0 +1,4 @@ +summary: Upstream tests +component: perl-Module-CoreList +require: perl-Module-CoreList-tests +test: /usr/libexec/perl-Module-CoreList/test