Blob Blame History Raw
 # Run release test
%if ! (0%{?rhel})
%bcond_without perl_Test_Assert_enables_release_test
%else
%bcond_with perl_Test_Assert_enables_release_test
%endif

Name:		perl-Test-Assert
Version:	0.0504
Release:	30%{?dist}
Summary:	Assertion methods for those who like JUnit
License:	GPL+ or Artistic
URL:		https://metacpan.org/release/Test-Assert
Source0:	https://cpan.metacpan.org/authors/id/D/DE/DEXTER/Test-Assert-%{version}.tar.gz
# Upstream signing key, bug #1118362
Source1:	C0B10A5B.pub
Patch0:		Test-Assert-0.0504-Critic.patch
BuildArch:	noarch
# Module Build
BuildRequires:	coreutils
BuildRequires:	findutils
BuildRequires:	gnupg2
BuildRequires:	make
BuildRequires:	perl-interpreter
BuildRequires:	perl-generators
BuildRequires:	perl(Module::Build)
# Module Runtime
BuildRequires:	perl(constant)
BuildRequires:	perl(constant::boolean) >= 0.02
BuildRequires:	perl(Exception::Base) >= 0.21
BuildRequires:	perl(strict)
BuildRequires:	perl(Symbol::Util) >= 0.0202
BuildRequires:	perl(warnings)
# Test Suite
BuildRequires:	perl(Carp)
BuildRequires:	perl(Class::Inspector)
BuildRequires:	perl(Cwd)
BuildRequires:	perl(File::Basename)
BuildRequires:	perl(File::Spec)
BuildRequires:	perl(parent)
BuildRequires:	perl(Test::Builder)
BuildRequires:	perl(Test::More) >= 0.88
BuildRequires:	perl(Test::Unit::Lite) >= 0.11
# Release test requirements
%if %{with perl_Test_Assert_enables_release_test}
BuildRequires:	patch
BuildRequires:	perl(File::Find)
BuildRequires:	perl(File::Slurp)
BuildRequires:	perl(Test::CheckChanges)
BuildRequires:	perl(Test::Distribution)
BuildRequires:	perl(Test::Kwalitee)
BuildRequires:	perl(Test::MinimumVersion)
BuildRequires:	perl(Test::Perl::Critic)
BuildRequires:	perl(Test::Pod) >= 1.14
BuildRequires:	perl(Test::Pod::Coverage) >= 1.04
BuildRequires:	perl(Test::Signature)
BuildRequires:	perl(Test::Spelling), hunspell-en
%endif
# Dependencies
Requires:	perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))

%description
This class provides a set of assertion methods useful for writing tests.
The API is based on JUnit4 and Test::Unit and the methods die on failure.

%prep
%setup -q -c -n Test-Assert

# Copy up documentation for convenience with %%doc
cp -a Test-Assert-%{version}/{Changes,eg,LICENSE,README} .

# Drop exec bits and avoid doc-file dependencies
chmod -c -x eg/*

%build
cd Test-Assert-%{version}
perl Build.PL --installdirs=vendor
./Build
cd -

%install
cd Test-Assert-%{version}
./Build install --destdir=%{buildroot} --create_packlist=0
cd -
%{_fixperms} -c %{buildroot}

%check
cd Test-Assert-%{version}

# === MAIN TEST SUITE === #

./Build test

%if %{with perl_Test_Assert_enables_release_test}
# ===  RELEASE TESTS  === #
RELEASE_TESTS="$(echo xt/*.t)"

# Don't run the copyright test as it will fail after the year of module release
RELEASE_TESTS="$(echo $RELEASE_TESTS | sed 's|xt/copyright.t||')"

# Don't run the spelling test yet as we need to add extra stopwords
RELEASE_TESTS="$(echo $RELEASE_TESTS | sed 's|xt/pod_spell.t||')"

# Don't run the perlcritic test yet as we need to patch the code
RELEASE_TESTS="$(echo $RELEASE_TESTS | sed 's|xt/perlcritic.t||')"

# Signature test would fail on recent distros due to presence of MYMETA.*
[ -f MYMETA.yml ] && mv MYMETA.yml ..
[ -f MYMETA.json ] && mv MYMETA.json ..

# Use bundled signing key
export GNUPGHOME=$(mktemp -d)
gpg2 --import '%{SOURCE1}'

RELEASE_TESTING=1 ./Build test --test_files "$RELEASE_TESTS"

# Clean bundled signing key
rm -rf "$GNUPGHOME"

# Put any MYMETA.* files back where they were
[ -f ../MYMETA.yml ] && mv ../MYMETA.yml .
[ -f ../MYMETA.json ] && mv ../MYMETA.json .

# Patch the code to tidy it and turn off one check before running the perlcritic test
patch -p0 < %{P:0}
./Build test --test_files xt/perlcritic.t
patch -p0 -R < %{P:0}

# Fix the POD Spell test and run it
mv xt/pod_spellrc xt/pod_spellrc.orig
(
	cat xt/pod_spellrc.orig
	echo "'fail'"
	echo "JUnit4"
	echo "value1"
	echo "value2"
) > xt/pod_spellrc
./Build test --test_files xt/pod_spell.t
mv xt/pod_spellrc.orig xt/pod_spellrc

cd -
%endif

%files
%if 0%{?_licensedir:1}
%license LICENSE
%else
%doc LICENSE
%endif
%doc Changes README eg/
%{perl_vendorlib}/Exception/
%{perl_vendorlib}/Test/
%{_mandir}/man3/Exception::Assertion.3*
%{_mandir}/man3/Test::Assert.3*

%changelog
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.0504-30
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Tue Jun 23 2020 Jitka Plesnikova <jplesnik@redhat.com> - 0.0504-29
- Perl 5.32 rebuild

* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.0504-28
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.0504-27
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Fri May 31 2019 Jitka Plesnikova <jplesnik@redhat.com> - 0.0504-26
- Perl 5.30 rebuild

* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.0504-25
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.0504-24
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Fri Jun 29 2018 Jitka Plesnikova <jplesnik@redhat.com> - 0.0504-23
- Perl 5.28 rebuild

* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.0504-22
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.0504-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Tue Jun 06 2017 Jitka Plesnikova <jplesnik@redhat.com> - 0.0504-20
- Perl 5.26 rebuild

* Wed Apr 12 2017 Paul Howarth <paul@city-fan.org> - 0.0504-19
- Fix FTBFS in presence of GPG agent (#1441315)

* Wed Apr  5 2017 Paul Howarth <paul@city-fan.org> - 0.0504-18
- Classify buildreqs by usage
- Use gnupg2 rather than gnupg
- Use %%license where possible
- Turn off exec bits in examples to avoid doc-file dependencies
- Drop legacy Group: tag

* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.0504-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Mon May 16 2016 Jitka Plesnikova <jplesnik@redhat.com> - 0.0504-16
- Perl 5.24 rebuild

* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.0504-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.0504-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Mon Jun 08 2015 Jitka Plesnikova <jplesnik@redhat.com> - 0.0504-13
- Perl 5.22 rebuild

* Fri Aug 29 2014 Jitka Plesnikova <jplesnik@redhat.com> - 0.0504-12
- Perl 5.20 rebuild

* Thu Jul 10 2014 Paul Howarth <paul@city-fan.org> - 0.0504-11
- Tidy the code to pass the Critic test even if
  Perl::Critic::Policy::ValuesAndExpressions::ProhibitNullStatements is
  installed (part of Perl-Critic-Pulp distribution) (#1118374)

* Thu Jul 10 2014 Petr Pisar <ppisar@redhat.com> - 0.0504-10
- Bundle upstream signing key (bug #1118362)
- Build-conflict with Perl::Critic::Pulp due to release tests (bug #1118374)

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.0504-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.0504-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Wed Jul 31 2013 Petr Pisar <ppisar@redhat.com> - 0.0504-7
- Perl 5.18 rebuild

* Fri Jun 21 2013 Paul Howarth <paul@city-fan.org> - 0.0504-6
- Tweak the perlcritic test, which has discovered something to moan about

* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.0504-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.0504-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Sat Jun 23 2012 Petr Pisar <ppisar@redhat.com> - 0.0504-3
- Perl 5.16 rebuild

* Fri Mar  9 2012 Paul Howarth <paul@city-fan.org> - 0.0504-2
- Run the release tests too
  - Extract upstream tarball in a subdir to avoid interference with signature/
    manifest tests
  - BR: perl(File::Slurp)
  - BR: perl(Test::CheckChanges)
  - BR: perl(Test::Distribution)
  - BR: perl(Test::Kwalitee)
  - BR: perl(Test::MinimumVersion)
  - BR: perl(Test::Perl::Critic)
  - BR: perl(Test::Pod)
  - BR: perl(Test::Pod::Coverage)
  - BR: perl(Test::Signature)
  - BR: perl(Test::Spelling), hunspell-en

* Fri Mar  9 2012 Paul Howarth <paul@city-fan.org> - 0.0504-1
- Update to 0.0504:
  - Fixed error message for assert_deep_equals
  - Uses Symbol::Util as exported; all exported symbols can be removed with
    "no Test::Assert" statement
  - Minor refactoring of "assert_deep_equals" method and its private methods
  - Require Symbol::Util ≥ 0.0202 and constant::boolean ≥ 0.02
  - Build requires Class::Inspector
  - The ":assert" tag also imports the "ASSERT" constant
- Spec clean-up:
  - Include LICENSE file
  - Include eg/ directory as %%doc
  - Add %%{?perl_default_filter} to avoid doc-file dependencies from examples
  - BR: Perl core modules that might be dual-lived
  - Don't need to remove empty directories from buildroot
  - Make %%files list more explicit
  - Drop %%defattr, redundant since rpm 4.4
  - Drop buildroot definition and cleaning, redundant since rpm 4.6
  - Don't use macros for commands
  - Drop unnecessary dependency filtering
  - Use tabs

* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.0501-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

* Thu Jun 23 2011 Marcela Mašláňová <mmaslano@redhat.com> - 0.0501-8
- Perl mass rebuild

* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.0501-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Wed Dec 22 2010 Marcela Maslanova <mmaslano@redhat.com> - 0.0501-6
- Rebuild to fix problems with vendorarch/lib (#661697)

* Thu May 06 2010 Marcela Maslanova <mmaslano@redhat.com> - 0.0501-5
- Mass rebuild with perl-5.12.0

* Fri Dec  4 2009 Stepan Kasal <skasal@redhat.com> - 0.0501-4
- Rebuild against perl 5.10.1

* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.0501-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Thu Feb 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.0501-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Thu Jan 29 2009 Allisson Azevedo <allisson@gmail.com> - 0.0501-1
- Initial rpm release