#
# spec file for package perl-Test-Warnings
#
# Copyright (c) 2020 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 https://bugs.opensuse.org/
#


Name:           perl-Test-Warnings
Version:        0.030
Release:        1.1
%define cpan_name Test-Warnings
Summary:        Test for warnings and the lack of them
License:        Artistic-1.0 OR GPL-1.0-or-later
Group:          Development/Libraries/Perl
Url:            https://metacpan.org/release/%{cpan_name}
Source0:        https://cpan.metacpan.org/authors/id/E/ET/ETHER/%{cpan_name}-%{version}.tar.gz
Source1:        cpanspec.yml
BuildArch:      noarch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  perl
BuildRequires:  perl-macros
BuildRequires:  perl(Test::More) >= 0.94
BuildRequires:  perl(parent)
Requires:       perl(parent)
%{perl_requires}

%description
If you've ever tried to use Test::NoWarnings to confirm there are no
warnings generated by your tests, combined with the convenience of
'done_testing' to not have to declare a test count, 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/test_nowarnings.pl' in this distribution for a
demonstration.)

This module is intended to be used as a drop-in replacement for
Test::NoWarnings: 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 Test::Warn, if you wish to test
the content of expected warnings; read on to find out how.

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

%build
perl Makefile.PL INSTALLDIRS=vendor
make %{?_smp_mflags}

%check
make test

%install
%perl_make_install
%perl_process_packlist
%perl_gen_filelist

%files -f %{name}.files
%defattr(-,root,root,755)
%doc Changes CONTRIBUTING examples README
%license LICENCE

%changelog
* Sun Mar 22 2020 <timueller+perl@suse.de>
- updated to 0.030
  see /usr/share/doc/packages/perl-Test-Warnings/Changes
  0.030     2020-03-21 16:56:30Z
  - fix tests that can fail when there is already an installed module
    named Foo::Bar::Baz (RT#132140)
* Sun Mar 15 2020 <timueller+perl@suse.de>
- updated to 0.029
  see /usr/share/doc/packages/perl-Test-Warnings/Changes
  0.029     2020-03-14 05:27:59Z
  - new :report_warnings feature, for printing all of the (unexpected)
    warning content when had_no_warnings() is called (Tina Mueller, PR#10)
* Sun Dec 22 2019 <timueller+perl@suse.de>
- updated to 0.028
  see /usr/share/doc/packages/perl-Test-Warnings/Changes
  0.028     2019-12-21 20:16:01Z
  - allow for calling warnings->import being called after importing
    the "warnings" sub
* Mon Sep 30 2019 <timueller+perl@suse.de>
- updated to 0.027
  see /usr/share/doc/packages/perl-Test-Warnings/Changes
  0.027     2019-09-28 03:54:47Z
  - new :fail_on_warning feature, for more easily seeing where the
    surprising warning appeared during testing
* Wed Jan 27 2016 coolo@suse.com
- updated to 0.026
  see /usr/share/doc/packages/perl-Test-Warnings/Changes
  0.026     2016-01-27 03:13:25Z
  - fixed use of modules loaded by t/zzz-check-breaks.t
  - fix stderr suppression on perl 5.6
* Tue Jan 26 2016 coolo@suse.com
- updated to 0.025
  see /usr/share/doc/packages/perl-Test-Warnings/Changes
  0.025     2016-01-24 02:59:28Z
  - prereqs lowered from required to suggested:
  - CPAN::Meta::Check
  - CPAN::Meta::Requirements
  - tests are now quieter to avoid causing confusion, by suppressing
    the printing of stderr in tests
* Sat Dec 26 2015 coolo@suse.com
- updated to 0.024
  see /usr/share/doc/packages/perl-Test-Warnings/Changes
  0.024     2015-12-24 18:44:29Z
  - remove diagnostics accidentally left in new test
  0.023     2015-12-22 06:44:24Z
  - properly handle propagating warnings to previously declared
    handlers that are not coderefs (i.e. a sub name, or the magic
    DEFAULT and IGNORE)
  0.022     2015-12-19 00:32:42Z
  - propagate all warnings to any previously-declared __WARN__
    handlers (unlike with __DIE__, merely calling warn() is not
    sufficient)
* Wed Apr 15 2015 coolo@suse.com
- updated to 0.021
  see /usr/share/doc/packages/perl-Test-Warnings/Changes
  0.021     2015-03-21 18:48:27Z
  - add a x_breaks entry for conflicting versions of File::pushd which
    inadvertently call our exported warnings() rather than invoking
    warnings.pm, and documented this undesired interaction
  0.020     2015-01-03 20:32:21Z
  - re-release to fix problematic $VERSION declaration (RT#101239)
  0.019     2014-12-18 20:07:02Z
  - fix test to allow for special characters (e.g. MSWin32 file
    separators) in filenames (A. Sinan Unur, PR#7)
  0.018     2014-12-17 18:17:30Z
  - fix test to not depend on message formatting changes in newer Carp
  0.017     2014-12-16 20:17:22Z
  - handle other warning handlers passing us partial warning messages
    by re-adding the source file and line number
* Mon Jul 28 2014 coolo@suse.com
- updated to 0.016
  - fix prereq problem with last release - now no longer testing the
    example scripts for user installs
  0.015     2014-06-20 03:36:33Z
  - adjusted packaging and tests to become perl-5.6 friendly,
    including only using core or dual-lifed prerequisites
  0.014     2014-03-01 22:08:26Z
  - fix test that was failing when FOO or BAR environment variables
    were set (RT#93447)
  0.013     2013-12-14 21:26:06Z
  - update configure_requires checking in Makefile.PL
* Mon Nov 25 2013 coolo@suse.com
- updated to 0.012
  - re-release to fix t/00-report-prereqs.t use of
    CPAN::Meta::Requirements
  - unnecessary tests removed; CONTRIBUTING file added
* Fri Oct  4 2013 coolo@suse.com
- updated to 0.010
  - re-release with fixed compile test
  - fixed error in synopsis (we do not export anything by default)
  - a caveat added to the documentation regarding embedding warning
    checks inside another sub (this is for you, ribasushi!!!)
  - ':no_end_test' now also covers side effects of done_testing, as
    well as END blocks, making it possible to use the warning(s) subs
    without having an end warning test while using done_testing
    (necessary when combining with the 'if' pragma)
* Mon Aug  5 2013 coolo@suse.com
- fix usage of Module::Build::Tiny
* Sat Jul 27 2013 coolo@suse.com
- updated to 0.008
  - compile test updated, to hopefully fix mswin32 parsing issues
  - fix subtest tests to work on Test::More before 0.95_01
    (RT#86802)
  - remove use of Class::Method::Modifiers
  - new feature: warnings { code } and warning { code }, for capturing
    the contents of warnings for subsequent testing
* Tue Jun  4 2013 coolo@suse.com
- initial package 0.004
  * created by cpanspec 1.78.06