Package tests

This commit is contained in:
Michal Josef Špaček 2022-12-19 12:29:19 +01:00
parent 00fff16fe1
commit 1c8ccfdca3
6 changed files with 56 additions and 0 deletions

1
.fmf/version Normal file
View File

@ -0,0 +1 @@
1

7
gating.yaml Normal file
View File

@ -0,0 +1,7 @@
--- !Policy
product_versions:
- fedora-*
decision_context: bodhi_update_push_stable
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}

View File

@ -0,0 +1,2 @@
from Config import *
addFilter("-tests.noarch: W: no-documentation");

View File

@ -48,8 +48,25 @@ by Perl. Some details of dynamic loading are very platform-dependent, so
correct use of these functions requires the programmer to be mindful of the correct use of these functions requires the programmer to be mindful of the
space of platform variations. space of platform variations.
%package tests
Summary: Tests for %{name}
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: coreutils
Requires: perl-Test-Harness
Requires: perl(ExtUtils::CBuilder)
Requires: perl(File::Spec)
%description tests
Tests from %{name}. Execute them
with "%{_libexecdir}/%{name}/test".
%prep %prep
%setup -q -n DynaLoader-Functions-%{version} %setup -q -n DynaLoader-Functions-%{version}
# Help generators to recognize Perl scripts
for F in t/*.t; do
perl -i -MConfig -ple 'print $Config{startperl} if $. == 1 && !s{\A#!\s*perl}{$Config{startperl}}' "$F"
chmod +x "$F"
done
%build %build
perl Build.PL installdirs=vendor optimize="$RPM_OPT_FLAGS" perl Build.PL installdirs=vendor optimize="$RPM_OPT_FLAGS"
@ -57,6 +74,22 @@ perl Build.PL installdirs=vendor optimize="$RPM_OPT_FLAGS"
%install %install
./Build install destdir=$RPM_BUILD_ROOT create_packlist=0 ./Build install destdir=$RPM_BUILD_ROOT create_packlist=0
# Install tests
mkdir -p %{buildroot}%{_libexecdir}/%{name}
cp -a t %{buildroot}%{_libexecdir}/%{name}
rm -fr %{buildroot}%{_libexecdir}/%{name}/t/pod*
cat > %{buildroot}%{_libexecdir}/%{name}/test << 'EOF'
#!/bin/bash
set -e
# Test t/rules-dbm.t write into CWD
DIR=$(mktemp -d)
cp -a %{_libexecdir}/%{name}/* "$DIR"
pushd "$DIR"
prove -I . -j "$(getconf _NPROCESSORS_ONLN)"
popd
rm -r "$DIR"
EOF
chmod +x %{buildroot}%{_libexecdir}/%{name}/test
%{_fixperms} $RPM_BUILD_ROOT/* %{_fixperms} $RPM_BUILD_ROOT/*
%check %check
@ -67,8 +100,12 @@ perl Build.PL installdirs=vendor optimize="$RPM_OPT_FLAGS"
%{perl_vendorlib}/* %{perl_vendorlib}/*
%{_mandir}/man3/* %{_mandir}/man3/*
%files tests
%{_libexecdir}/%{name}
%changelog %changelog
* Mon Dec 19 2022 Michal Josef Špaček <mspacek@redhat.com> - 0.003-17 * Mon Dec 19 2022 Michal Josef Špaček <mspacek@redhat.com> - 0.003-17
- Package tests
- Update license to SPDX format - Update license to SPDX format
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.003-16 * Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.003-16

5
plans/sanity.fmf Normal file
View File

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

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

@ -0,0 +1,4 @@
summary: Upstream tests
component: perl-DynaLoader-Functions
require: perl-DynaLoader-Functions-tests
test: /usr/libexec/perl-DynaLoader-Functions/test