From 7e964c17e7cca5cb9e628242defb2ac2169fe9df Mon Sep 17 00:00:00 2001 From: Jitka Plesnikova Date: Wed, 3 May 2023 15:43:44 +0200 Subject: [PATCH] Package tests --- .fmf/version | 1 + gating.yaml | 7 +++++++ perl-Time-Local.spec | 32 ++++++++++++++++++++++++++++++-- plans/sanity.fmf | 5 +++++ tests/upstream-tests.fmf | 4 ++++ 5 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 .fmf/version create mode 100644 gating.yaml create mode 100644 plans/sanity.fmf create mode 100644 tests/upstream-tests.fmf 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..282e16b --- /dev/null +++ b/gating.yaml @@ -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} diff --git a/perl-Time-Local.spec b/perl-Time-Local.spec index 8cb385c..540513b 100644 --- a/perl-Time-Local.spec +++ b/perl-Time-Local.spec @@ -26,6 +26,7 @@ BuildRequires: perl(parent) # CPAN::Meta::Prereqs not helpful BuildRequires: perl(File::Spec) BuildRequires: perl(Test::More) >= 0.96 +Requires: perl(Config) %description This module provides functions that are the inverse of built-in perl functions @@ -35,8 +36,22 @@ return the corresponding time(2) value in seconds since the system epoch positive or negative, though POSIX only requires support for positive values, so dates before the system's epoch may not work on all operating systems. +%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 Time-Local-%{cpan_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 perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 NO_PERLLOCAL=1 @@ -45,19 +60,32 @@ perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 NO_PERLLOCAL=1 %install %{make_install} %{_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 %license LICENSE %doc Changes CODE_OF_CONDUCT.md CONTRIBUTING.md README.md -%{perl_vendorlib}/* -%{_mandir}/man3/* +%{perl_vendorlib}/Time* +%{_mandir}/man3/Time::Local* + +%files tests +%{_libexecdir}/%{name} %changelog * Wed May 03 2023 Jitka Plesnikova - 2:1.350-1 - 1.35 bump +- Package tests * Fri Jan 20 2023 Fedora Release Engineering - 2:1.300-490 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_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..e465812 --- /dev/null +++ b/tests/upstream-tests.fmf @@ -0,0 +1,4 @@ +summary: Upstream tests +component: perl-Time-Local +require: perl-Time-Local-tests +test: /usr/libexec/perl-Time-Local/test