File perl-Test-Warnings.spec of Package perl-Test-Warnings

# spec file for package perl-Test-Warnings
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via

Name:           perl-Test-Warnings
Version:        0.021
Release:        0
%define cpan_name Test-Warnings
Summary:        Test for warnings and the lack of them
License:        Artistic-1.0 or GPL-1.0+
Group:          Development/Libraries/Perl
BuildArch:      noarch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  perl
BuildRequires:  perl-macros
BuildRequires:  perl(CPAN::Meta::Check) >= 0.007
BuildRequires:  perl(CPAN::Meta::Requirements)
BuildRequires:  perl(Test::More) >= 0.94
BuildRequires:  perl(parent)
Requires:       perl(parent)

If you've ever tried to use the Test::NoWarnings manpage to confirm there
are no warnings generated by your tests, combined with the convenience of
'done_testing' to not have to declare a Test::More/I love
it-when-a-plan-comes-together, you'll have discovered that these two
features do not play well together, as the test count will be calculated
_before_ the warnings test is run, resulting in a TAP error. (See
'examples/' in this distribution for a demonstration.)

This module is intended to be used as a drop-in replacement for the
Test::NoWarnings manpage: it also adds an extra test, but runs this test
_before_ 'done_testing' calculates the test count, rather than after. It
does this by hooking into 'done_testing' as well as via an 'END' block. You
can declare a plan, or not, and things will still Just Work.

It is actually equivalent to:

    use Test::NoWarnings 1.04 ':early';

as warnings are still printed normally as they occur. You are safe, and
enthusiastically encouraged, to perform a global search-replace of the
above with 'use Test::Warnings;' whether or not your tests have a plan.

It can also be used as a replacement for the Test::Warn manpage, if you
wish to test the content of expected warnings; read on to find out how.

%setup -q -n %{cpan_name}-%{version}

%{__perl} Makefile.PL INSTALLDIRS=vendor
%{__make} %{?_smp_mflags}

%{__make} test


%files -f %{name}.files

openSUSE Build Service is sponsored by