Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package perl-Test-Class for openSUSE:Factory checked in at 2021-02-19 23:44:51 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Test-Class (Old) and /work/SRC/openSUSE:Factory/.perl-Test-Class.new.28504 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Test-Class" Fri Feb 19 23:44:51 2021 rev:15 rq:873646 version:0.52 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Test-Class/perl-Test-Class.changes 2015-06-09 12:25:04.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.perl-Test-Class.new.28504/perl-Test-Class.changes 2021-02-19 23:45:36.755383820 +0100 @@ -1,0 +2,23 @@ +Thu Feb 18 03:08:19 UTC 2021 - Tina M??ller <timueller+p...@suse.de> + +- updated to 0.52 + see /usr/share/doc/packages/perl-Test-Class/Changes + + 0.52 [2021-02-17] + - Change bugtracker link to point GitHub issues instead of RT. + - Remove some old and broken links. + - Work by (Kaycie Goodman). + - Test fix (Pali, PR#32). + - Fix reporting caller information (file+line) when number of tests does + not match (Pali). + - Use better class names in t/runtests_return.t (Pali). + - Fix documentation to be more accurate regarding support and author + activity (Karen Etheridge). + - Ensure metadata is processed as v2 (Karen Etheridge). + - Remove unnecessary shebangs (Karen Etheridge). + - chmod ugo-x (Karen Etheridge). + + 0.51 [2019-04-29] + - Create fail_if_returned_late (Jason Terry, Oaxlin, PR#23) + +------------------------------------------------------------------- Old: ---- Test-Class-0.50.tar.gz New: ---- Test-Class-0.52.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Test-Class.spec ++++++ --- /var/tmp/diff_new_pack.1kogpn/_old 2021-02-19 23:45:37.191384248 +0100 +++ /var/tmp/diff_new_pack.1kogpn/_new 2021-02-19 23:45:37.195384252 +0100 @@ -1,7 +1,7 @@ # # spec file for package perl-Test-Class # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,22 +12,20 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # +%define cpan_name Test-Class Name: perl-Test-Class -Version: 0.50 +Version: 0.52 Release: 0 -%define cpan_name Test-Class Summary: Easily create test classes in an xUnit/JUnit style -License: Artistic-1.0 or GPL-1.0+ -Group: Development/Libraries/Perl -Url: http://search.cpan.org/dist/Test-Class/ -Source0: http://www.cpan.org/authors/id/E/ET/ETHER/%{cpan_name}-%{version}.tar.gz +License: Artistic-1.0 OR GPL-1.0-or-later +URL: https://metacpan.org/release/%{cpan_name} +Source0: https://cpan.metacpan.org/authors/id/S/SZ/SZABGAB/%{cpan_name}-%{version}.tar.gz Source1: cpanspec.yml BuildArch: noarch -BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: perl BuildRequires: perl-macros BuildRequires: perl(MRO::Compat) >= 0.11 @@ -48,26 +46,24 @@ Test::Class provides a simple way of creating classes and objects to test your code in an xUnit style. -Built using the Test::Builder manpage, it was designed to work with other -Test::Builder based modules (the Test::More manpage, the Test::Differences -manpage, the Test::Exception manpage, etc.). +Built using Test::Builder, it was designed to work with other Test::Builder +based modules (Test::More, Test::Differences, Test::Exception, etc.). _Note:_ This module will make more sense, if you are already familiar with -the "standard" mechanisms for testing perl code. Those unfamiliar with the -Test::Harness manpage, the Test::Simple manpage, the Test::More manpage and -friends should go take a look at them now. the Test::Tutorial manpage is a -good starting point. +the "standard" mechanisms for testing perl code. Those unfamiliar with +Test::Harness, Test::Simple, Test::More and friends should go take a look +at them now. Test::Tutorial is a good starting point. %prep -%setup -q -n %{cpan_name}-%{version} -find . -type f -print0 | xargs -0 chmod 644 +%autosetup -n %{cpan_name}-%{version} +find . -type f ! -path "*/t/*" ! -name "*.pl" ! -path "*/bin/*" ! -path "*/script/*" ! -name "configure" -print0 | xargs -0 chmod 644 %build -%{__perl} Makefile.PL INSTALLDIRS=vendor -%{__make} %{?_smp_mflags} +perl Makefile.PL INSTALLDIRS=vendor +%make_build %check -%{__make} test +make test %install %perl_make_install @@ -75,7 +71,6 @@ %perl_gen_filelist %files -f %{name}.files -%defattr(-,root,root,755) %doc Changes README %changelog ++++++ Test-Class-0.50.tar.gz -> Test-Class-0.52.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.50/Changes new/Test-Class-0.52/Changes --- old/Test-Class-0.50/Changes 2015-06-07 02:07:24.000000000 +0200 +++ new/Test-Class-0.52/Changes 2021-02-17 16:38:41.000000000 +0100 @@ -1,5 +1,22 @@ Changes for Perl extension Test-Class +0.52 [2021-02-17] + - Change bugtracker link to point GitHub issues instead of RT. + - Remove some old and broken links. + - Work by (Kaycie Goodman). + - Test fix (Pali, PR#32). + - Fix reporting caller information (file+line) when number of tests does + not match (Pali). + - Use better class names in t/runtests_return.t (Pali). + - Fix documentation to be more accurate regarding support and author + activity (Karen Etheridge). + - Ensure metadata is processed as v2 (Karen Etheridge). + - Remove unnecessary shebangs (Karen Etheridge). + - chmod ugo-x (Karen Etheridge). + +0.51 [2019-04-29] + - Create fail_if_returned_late (Jason Terry, Oaxlin, PR#23) + 0.50 [2015-06-07] - add links to Ovid's tutorial series on Test::Class (Tim Vroom, PR#19) - add links to Test::Class::Most, Test::Class::Moose (Tim Vroom, PR#20) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.50/MANIFEST new/Test-Class-0.52/MANIFEST --- old/Test-Class-0.50/MANIFEST 2015-06-07 02:07:59.000000000 +0200 +++ new/Test-Class-0.52/MANIFEST 2021-02-17 16:39:26.000000000 +0100 @@ -3,9 +3,7 @@ lib/Test/Class/Load.pm lib/Test/Class/MethodInfo.pm Makefile.PL -MANIFEST -META.json -META.yml +MANIFEST This list of files README t/00-load.t t/20-load-classes.t @@ -81,3 +79,5 @@ xt/pmv.t xt/pod.t xt/spelling.t +META.yml Module YAML meta-data (added by MakeMaker) +META.json Module JSON meta-data (added by MakeMaker) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.50/META.json new/Test-Class-0.52/META.json --- old/Test-Class-0.50/META.json 2015-06-07 02:08:03.000000000 +0200 +++ new/Test-Class-0.52/META.json 2021-02-17 16:39:26.000000000 +0100 @@ -4,13 +4,13 @@ "Adrian Howard <adri...@quietstars.com>, Curtis \"Ovid\" Poe, <ovid at cpan.org>, Mark Morgan <makk...@gmail.com>" ], "dynamic_config" : 1, - "generated_by" : "ExtUtils::MakeMaker version 7.052, CPAN::Meta::Converter version 2.150004", + "generated_by" : "ExtUtils::MakeMaker version 7.34, CPAN::Meta::Converter version 2.150010", "license" : [ "perl_5" ], "meta-spec" : { "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", - "version" : "2" + "version" : 2 }, "name" : "Test-Class", "no_index" : { @@ -20,9 +20,6 @@ ] }, "prereqs" : { - "build" : { - "requires" : {} - }, "configure" : { "requires" : { "ExtUtils::MakeMaker" : "0" @@ -62,16 +59,15 @@ "release_status" : "stable", "resources" : { "bugtracker" : { - "mailto" : "bug-test-cl...@rt.cpan.org", - "web" : "https://rt.cpan.org/Public/Dist/Display.html?Name=Test-Class" + "web" : "https://github.com/szabgab/test-class/issues" }, "repository" : { "type" : "git", - "url" : "https://github.com/adrianh/test-class.git", - "web" : "https://github.com/adrianh/test-class" + "url" : "https://github.com/szabgab/test-class.git", + "web" : "https://github.com/szabgab/test-class" } }, - "version" : "0.50", + "version" : "0.52", "x_IRC" : "irc://irc.perl.org/#perl-qa", "x_MailingList" : "http://lists.perl.org/list/perl-qa.html", "x_contributors" : [ @@ -91,6 +87,5 @@ "Zefram <zef...@fysh.org>", "Kent Fredric <kentfred...@gmail.com>" ], - "x_serialization_backend" : "JSON::PP version 2.27300" + "x_serialization_backend" : "JSON::PP version 4.02" } - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.50/META.yml new/Test-Class-0.52/META.yml --- old/Test-Class-0.50/META.yml 2015-06-07 02:08:03.000000000 +0200 +++ new/Test-Class-0.52/META.yml 2021-02-17 16:39:26.000000000 +0100 @@ -13,7 +13,7 @@ configure_requires: ExtUtils::MakeMaker: '0' dynamic_config: 1 -generated_by: 'ExtUtils::MakeMaker version 7.052, CPAN::Meta::Converter version 2.150004' +generated_by: 'ExtUtils::MakeMaker version 7.34, CPAN::Meta::Converter version 2.150010' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html @@ -40,9 +40,9 @@ strict: '0' warnings: '0' resources: - bugtracker: https://rt.cpan.org/Public/Dist/Display.html?Name=Test-Class - repository: https://github.com/adrianh/test-class.git -version: '0.50' + bugtracker: https://github.com/szabgab/test-class/issues + repository: https://github.com/szabgab/test-class.git +version: '0.52' x_IRC: irc://irc.perl.org/#perl-qa x_MailingList: http://lists.perl.org/list/perl-qa.html x_contributors: @@ -61,5 +61,4 @@ - 'Klaus S. Madsen <k...@jobindex.dk>' - 'Zefram <zef...@fysh.org>' - 'Kent Fredric <kentfred...@gmail.com>' -x_serialization_backend: 'CPAN::Meta::YAML version 0.016' - +x_serialization_backend: 'CPAN::Meta::YAML version 0.018' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.50/Makefile.PL new/Test-Class-0.52/Makefile.PL --- old/Test-Class-0.50/Makefile.PL 2015-06-07 01:58:40.000000000 +0200 +++ new/Test-Class-0.52/Makefile.PL 2021-02-17 16:37:28.000000000 +0100 @@ -18,13 +18,12 @@ dynamic_config => 1, resources => { repository => { - url => 'https://github.com/adrianh/test-class.git', - web => 'https://github.com/adrianh/test-class', + url => 'https://github.com/szabgab/test-class.git', + web => 'https://github.com/szabgab/test-class', type => 'git', }, bugtracker => { - mailto => 'bug-test-cl...@rt.cpan.org', - web => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Test-Class', + web => 'https://github.com/szabgab/test-class/issues', }, }, x_contributors => [ # manually added, from git shortlog -e -s -n @@ -49,6 +48,7 @@ }, META_ADD => { + 'meta-spec' => { version => 2 }, prereqs => { configure => { requires => { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.50/README new/Test-Class-0.52/README --- old/Test-Class-0.50/README 2015-06-07 01:47:11.000000000 +0200 +++ new/Test-Class-0.52/README 2021-02-17 16:35:31.000000000 +0100 @@ -2,7 +2,7 @@ Test::Class - Easily create test classes in an xUnit/JUnit style VERSION - version 0.50 + version 0.51 SYNOPSIS package Example::Test; @@ -479,6 +479,21 @@ } } +RETURNING LATE + If a test method runs too many tests, by default the test plan succeeds. + + However, if the class's "fail_if_returned_late" method returns true, + then the extra tests will trigger a failure. For example, + + package MyClass; + use base 'Test::Class'; + sub fail_if_returned_late { 1 } + + sub oops : Tests(1) { + ok 1, "just a simple test"; + ok 1, "just a simple test"; #oops I copied and pasted too many tests + } + SKIPPED TESTS You can skip the rest of the tests in a method by returning from the method before all the test have finished running (but see "Returning @@ -1172,6 +1187,12 @@ returns true, then the missing tests fail, otherwise, they skip. See "Returning Early" and "Skipped Tests". + fail_if_returned_late + Controls what happens if a method returns after running too many + tests. It is called with no arguments in boolean context; if it + returns true, then the extra tests trigger a failure test. See + "Returning Late" and "Skipped Tests". + HELP FOR CONFUSED JUNIT USERS This section is for people who have used JUnit (or similar) and are confused because they don't see the TestCase/Suite/Runner class @@ -1287,35 +1308,18 @@ output test results in the format that Test::Harness expects, but things like todo tests and skipping tests are not supported. -BUGS - None known at the time of writing. +SUPPORT + Bugs may be submitted through GitHub issues + <https://github.com/szabgab/test-class/issues> - If you find any bugs please let me know by e-mail at - <adri...@quietstars.com>, or report the problem with - <http://rt.cpan.org/NoAuth/Bugs.html?Dist=Test-Class>. - -COMMUNITY - perl-qa - If you are interested in testing using Perl I recommend you visit - <http://qa.perl.org/> and join the excellent perl-qa mailing list. See - <http://lists.perl.org/showlist.cgi?name=perl-qa> for details on how to - subscribe. - - perlmonks - You can find users of Test::Class, including the module author, on - <http://www.perlmonks.org/>. Feel free to ask questions on Test::Class - there. - - CPAN::Forum - The CPAN Forum is a web forum for discussing Perl's CPAN modules. The - Test::Class forum can be found at - <http://www.cpanforum.com/dist/Test-Class>. + There is also an irc channel available for users of this distribution, + at "#perl-qa" on "irc.perl.org" <irc://irc.perl.org/#perl-qa>. TO DO If you think this module should do something that it doesn't (or does something that it shouldn't) please let me know. - You can see my current to do list at + You can see an old to do list at <http://adrianh.tadalist.com/lists/public/4798>, with an RSS feed of changes at <http://adrianh.tadalist.com/lists/feed_public/4798>. @@ -1346,9 +1350,6 @@ Adrian Howard <adri...@quietstars.com>, Curtis "Ovid" Poe, <ovid at cpan.org>, Mark Morgan <makk...@gmail.com>. - If you use this module, and can spare the time please let us know or - rate it at <http://cpanratings.perl.org/rate/?distribution=Test-Class>. - SEE ALSO Test::Class::Load Simple way to load "Test::Class" classes automatically. @@ -1362,9 +1363,6 @@ Moose and non-Moose code. It offers reporting, extensibility, test inheritance, parallel testing and more. - <http://del.icio.us/tag/Test::Class> - Delicious links on Test::Class. - Perl Testing: A Developer's Notebook by Ian Langworth and chromatic Chapter 8 covers using Test::Class. @@ -1377,19 +1375,24 @@ Test::Class Tutorial series written by Curtis "Ovid" Poe - * <http://www.modernperlbooks.com/mt/2009/03/organizing-test-suite + * Organizing Test Suites with Test::Class + <http://www.modernperlbooks.com/mt/2009/03/organizing-test-suite s-with-testclass.html> - * <http://www.modernperlbooks.com/mt/2009/03/reusing-test-code-wit + * Reusing Test Code with Test::Class + <http://www.modernperlbooks.com/mt/2009/03/reusing-test-code-wit h-testclass.html> - * <http://www.modernperlbooks.com/mt/2009/03/making-your-testing-l + * Making Your Testing Life Easier + <http://www.modernperlbooks.com/mt/2009/03/making-your-testing-l ife-easier.html> - * <http://www.modernperlbooks.com/mt/2009/03/using-test-control-me + * Using Test Control Methods with Test::Class + <http://www.modernperlbooks.com/mt/2009/03/using-test-control-me thods-with-testclass.html> - * <http://www.modernperlbooks.com/mt/2009/03/working-with-testclas + * Working with Test::Class Test Suites + <http://www.modernperlbooks.com/mt/2009/03/working-with-testclas s-test-suites.html> Test::Builder @@ -1398,12 +1401,9 @@ Test::Simple & Test::More Basic utilities for writing tests. - <http://qa.perl.org/test-modules.html> + <https://qa.perl.org/test-modules.html> Overview of some of the many testing modules available on CPAN. - <http://del.icio.us/tag/perl+testing> - Delicious links on perl testing. - Test::Object Another approach to object oriented testing. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.50/lib/Test/Class/Load.pm new/Test-Class-0.52/lib/Test/Class/Load.pm --- old/Test-Class-0.50/lib/Test/Class/Load.pm 2015-06-07 01:04:18.000000000 +0200 +++ new/Test-Class-0.52/lib/Test/Class/Load.pm 2021-02-17 16:25:13.000000000 +0100 @@ -8,7 +8,7 @@ use File::Spec; use Module::Runtime 'require_module'; -our $VERSION = '0.50'; +our $VERSION = '0.52'; # Override to get your own filter sub is_test_class { @@ -69,7 +69,7 @@ =head1 VERSION -version 0.50 +version 0.51 =head1 SYNOPSIS @@ -213,13 +213,13 @@ my ($package) = $_package =~ /^([[:word:]]+(?:::[[:word:]]+)*)$/; -=head1 AUTHOR +=head1 SUPPORT -Curtis "Ovid" Poe, C<< <o...@cpan.org> >> +See L<Test::Class> -=head1 BUGS +=head1 AUTHOR -Please report any bugs or feature requests to C<bug-test-class-l...@rt.cpan.org>, or through the web interface at L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Test-Class-Load>. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. +Curtis "Ovid" Poe, C<< <o...@cpan.org> >> =head1 ACKNOWLEDGMENTS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.50/lib/Test/Class/MethodInfo.pm new/Test-Class-0.52/lib/Test/Class/MethodInfo.pm --- old/Test-Class-0.50/lib/Test/Class/MethodInfo.pm 2015-06-07 01:04:18.000000000 +0200 +++ new/Test-Class-0.52/lib/Test/Class/MethodInfo.pm 2021-02-17 16:26:07.000000000 +0100 @@ -4,7 +4,7 @@ package Test::Class::MethodInfo; use Carp; -our $VERSION = '0.50'; +our $VERSION = '0.52'; sub new { my ( $class, %param ) = @_; @@ -57,7 +57,7 @@ =head1 VERSION -version 0.50 +version 0.51 =head1 SYNOPSIS @@ -88,18 +88,6 @@ =back -=head1 BUGS - -None known at the time of writing. Apart from the fact this seems a bit gnarly so I'm likely to tidy it up at some point. - -If you find any please let me know by e-mail, or report the problem with L<http://rt.cpan.org/>. - -=head1 TO DO - -If you think this module should do something that it doesn't (or does something that it shouldn't) please let me know. - -You can see my current to do list at L<http://adrianh.tadalist.com/lists/public/15423>, with an RSS feed of changes at L<http://adrianh.tadalist.com/lists/feed_public/15423>. - =head1 AUTHOR Adrian Howard <adri...@quietstars.com> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.50/lib/Test/Class.pm new/Test-Class-0.52/lib/Test/Class.pm --- old/Test-Class-0.50/lib/Test/Class.pm 2015-06-07 01:04:18.000000000 +0200 +++ new/Test-Class-0.52/lib/Test/Class.pm 2021-02-17 16:25:03.000000000 +0100 @@ -12,7 +12,7 @@ use Test::Class::MethodInfo; use Try::Tiny; -our $VERSION = '0.50'; +our $VERSION = '0.52'; my $Check_block_has_run; { @@ -300,8 +300,13 @@ _exception_failure($self, $method, $exception, $tests) if $exception; } elsif ($num_done > $num_expected) { + local $Test::Builder::Level = $Test::Builder::Level+1; my $class = ref $self; - $Builder->diag("expected $num_expected test(s) in $class\::$method, $num_done completed\n"); + if ($self->fail_if_returned_late) { + $Builder->ok(0, "expected $num_expected test(s) in $class\::$method, $num_done completed"); + } else { + $Builder->diag("expected $num_expected test(s) in $class\::$method, $num_done completed\n"); + } } else { until (($Builder->current_test - $num_start) >= $num_expected) { if ($exception) { @@ -309,6 +314,7 @@ $skip_reason = "$method died"; $exception = ''; } else { + local $Test::Builder::Level = $Test::Builder::Level+1; if ($self->fail_if_returned_early) { my $class = ref $self; $Builder->ok(0, "($class\::$method returned before plan complete)"); @@ -322,6 +328,7 @@ } sub fail_if_returned_early { 0 } +sub fail_if_returned_late { 0 } sub _show_header { my ($self, @tests) = @_; @@ -486,7 +493,7 @@ =head1 VERSION -version 0.50 +version 0.51 =head1 SYNOPSIS @@ -946,6 +953,22 @@ } +=head1 RETURNING LATE + +If a test method runs too many tests, by default the test plan succeeds. + +However, if the class's C<fail_if_returned_late> method returns true, then the extra tests will trigger a failure. For example, + + package MyClass; + use base 'Test::Class'; + sub fail_if_returned_late { 1 } + + sub oops : Tests(1) { + ok 1, "just a simple test"; + ok 1, "just a simple test"; #oops I copied and pasted too many tests + } + + =head1 SKIPPED TESTS You can skip the rest of the tests in a method by returning from the method before all the test have finished running (but see L<"Returning Early"> for how to change this). The value returned is used as the reason for the tests being skipped. @@ -1576,6 +1599,10 @@ Controls what happens if a method returns before it has run all of its tests. It is called with no arguments in boolean context; if it returns true, then the missing tests fail, otherwise, they skip. See L<"Returning Early"> and L<"Skipped Tests">. +=item B<fail_if_returned_late> + +Controls what happens if a method returns after running too many tests. It is called with no arguments in boolean context; if it returns true, then the extra tests trigger a failure test. See L<"Returning Late"> and L<"Skipped Tests">. + =back @@ -1668,34 +1695,18 @@ =back +=head1 SUPPORT -=head1 BUGS - -None known at the time of writing. - -If you find any bugs please let me know by e-mail at <adri...@quietstars.com>, or report the problem with L<http://rt.cpan.org/NoAuth/Bugs.html?Dist=Test-Class>. - - -=head1 COMMUNITY - -=head2 perl-qa - -If you are interested in testing using Perl I recommend you visit L<http://qa.perl.org/> and join the excellent perl-qa mailing list. See L<http://lists.perl.org/showlist.cgi?name=perl-qa> for details on how to subscribe. - -=head2 perlmonks - -You can find users of Test::Class, including the module author, on L<http://www.perlmonks.org/>. Feel free to ask questions on Test::Class there. - -=head2 CPAN::Forum - -The CPAN Forum is a web forum for discussing Perl's CPAN modules. The Test::Class forum can be found at L<http://www.cpanforum.com/dist/Test-Class>. +Bugs may be submitted through L<GitHub issues|https://github.com/szabgab/test-class/issues> +There is also an irc channel available for users of this distribution, at +L<C<#perl-qa> on C<irc.perl.org>|irc://irc.perl.org/#perl-qa>. =head1 TO DO If you think this module should do something that it doesn't (or does something that it shouldn't) please let me know. -You can see my current to do list at L<http://adrianh.tadalist.com/lists/public/4798>, with an RSS feed of changes at L<http://adrianh.tadalist.com/lists/feed_public/4798>. +You can see an old to do list at L<http://adrianh.tadalist.com/lists/public/4798>, with an RSS feed of changes at L<http://adrianh.tadalist.com/lists/feed_public/4798>. =head1 ACKNOWLEDGMENTS @@ -1770,8 +1781,6 @@ Adrian Howard <adri...@quietstars.com>, Curtis "Ovid" Poe, <ovid at cpan.org>, Mark Morgan <makk...@gmail.com>. -If you use this module, and can spare the time please let us know or rate it at L<http://cpanratings.perl.org/rate/?distribution=Test-Class>. - =head1 SEE ALSO =over 4 @@ -1788,10 +1797,6 @@ Testing framework allows you to write your tests in Moose and test Moose and non-Moose code. It offers reporting, extensibility, test inheritance, parallel testing and more. -=item L<http://del.icio.us/tag/Test::Class> - -Delicious links on Test::Class. - =item Perl Testing: A Developer's Notebook by Ian Langworth and chromatic Chapter 8 covers using Test::Class. @@ -1808,15 +1813,15 @@ =over 4 -=item * L<http://www.modernperlbooks.com/mt/2009/03/organizing-test-suites-with-testclass.html> +=item * L<Organizing Test Suites with Test::Class|http://www.modernperlbooks.com/mt/2009/03/organizing-test-suites-with-testclass.html> -=item * L<http://www.modernperlbooks.com/mt/2009/03/reusing-test-code-with-testclass.html> +=item * L<Reusing Test Code with Test::Class|http://www.modernperlbooks.com/mt/2009/03/reusing-test-code-with-testclass.html> -=item * L<http://www.modernperlbooks.com/mt/2009/03/making-your-testing-life-easier.html> +=item * L<Making Your Testing Life Easier|http://www.modernperlbooks.com/mt/2009/03/making-your-testing-life-easier.html> -=item * L<http://www.modernperlbooks.com/mt/2009/03/using-test-control-methods-with-testclass.html> +=item * L<Using Test Control Methods with Test::Class|http://www.modernperlbooks.com/mt/2009/03/using-test-control-methods-with-testclass.html> -=item * L<http://www.modernperlbooks.com/mt/2009/03/working-with-testclass-test-suites.html> +=item * L<Working with Test::Class Test Suites|http://www.modernperlbooks.com/mt/2009/03/working-with-testclass-test-suites.html> =back @@ -1828,14 +1833,10 @@ Basic utilities for writing tests. -=item L<http://qa.perl.org/test-modules.html> +=item L<https://qa.perl.org/test-modules.html> Overview of some of the many testing modules available on CPAN. -=item L<http://del.icio.us/tag/perl+testing> - -Delicious links on perl testing. - =item L<Test::Object> Another approach to object oriented testing. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.50/t/20-load-classes.t new/Test-Class-0.52/t/20-load-classes.t --- old/Test-Class-0.50/t/20-load-classes.t 2014-11-18 16:29:57.000000000 +0100 +++ new/Test-Class-0.52/t/20-load-classes.t 2021-02-17 15:28:10.000000000 +0100 @@ -1,5 +1,3 @@ -#!/usr/bin/perl - use strict; use warnings; use Test::More tests => 14; @@ -40,4 +38,4 @@ '... and their methods should also work correctly'; eval "use Test::Class::Load qw( t/test-libs/fail )"; -ok $@, "Trying to load a bad module fails"; \ No newline at end of file +ok $@, "Trying to load a bad module fails"; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.50/t/21-load-subclassed.t new/Test-Class-0.52/t/21-load-subclassed.t --- old/Test-Class-0.50/t/21-load-subclassed.t 2014-11-18 16:29:57.000000000 +0100 +++ new/Test-Class-0.52/t/21-load-subclassed.t 2021-02-17 15:28:10.000000000 +0100 @@ -1,5 +1,3 @@ -#!/usr/bin/perl - use strict; use warnings; use Test::More tests => 7; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.50/t/Tests.t new/Test-Class-0.52/t/Tests.t --- old/Test-Class-0.50/t/Tests.t 2014-11-18 16:29:57.000000000 +0100 +++ new/Test-Class-0.52/t/Tests.t 2021-02-17 15:28:10.000000000 +0100 @@ -1,5 +1,3 @@ -#! /usr/bin/perl - use strict; use warnings; use Test::More tests => 2; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.50/t/bad-autoloads.t new/Test-Class-0.52/t/bad-autoloads.t --- old/Test-Class-0.50/t/bad-autoloads.t 2014-11-18 16:29:57.000000000 +0100 +++ new/Test-Class-0.52/t/bad-autoloads.t 2021-02-17 15:28:10.000000000 +0100 @@ -1,5 +1,3 @@ -#! /usr/bin/perl - use strict; use warnings FATAL => 'all'; use Test::More; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.50/t/die-in-setup.t new/Test-Class-0.52/t/die-in-setup.t --- old/Test-Class-0.50/t/die-in-setup.t 2014-11-18 16:29:57.000000000 +0100 +++ new/Test-Class-0.52/t/die-in-setup.t 2021-02-17 15:28:10.000000000 +0100 @@ -1,5 +1,3 @@ -#! /usr/bin/perl - use strict; use warnings; @@ -21,7 +19,7 @@ $ENV{TEST_VERBOSE}=0; test_out( "not ok 1 - setup_method (for test method 'test') died (oops - we died)" ); test_err( "# Failed test 'setup_method (for test method 'test') died (oops - we died)'" ); -test_err( "# at $0 line 27." ); +test_err( "# at $0 line 25." ); test_err( "# (in Foo->setup_method)" ); test_out("ok 2 # skip setup_method died"); Test::Class->runtests; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.50/t/filter.t new/Test-Class-0.52/t/filter.t --- old/Test-Class-0.50/t/filter.t 2014-11-18 16:29:57.000000000 +0100 +++ new/Test-Class-0.52/t/filter.t 2021-02-17 15:28:10.000000000 +0100 @@ -1,5 +1,3 @@ -#! /usr/bin/perl - use strict; use warnings; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.50/t/filter_bad_filter.t new/Test-Class-0.52/t/filter_bad_filter.t --- old/Test-Class-0.50/t/filter_bad_filter.t 2014-11-18 16:29:57.000000000 +0100 +++ new/Test-Class-0.52/t/filter_bad_filter.t 2021-02-17 15:28:10.000000000 +0100 @@ -1,5 +1,3 @@ -#! /usr/bin/perl - use strict; use warnings; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.50/t/filter_fixtures.t new/Test-Class-0.52/t/filter_fixtures.t --- old/Test-Class-0.50/t/filter_fixtures.t 2014-11-18 16:29:57.000000000 +0100 +++ new/Test-Class-0.52/t/filter_fixtures.t 2021-02-17 15:28:10.000000000 +0100 @@ -1,5 +1,3 @@ -#! /usr/bin/perl - use strict; use warnings; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.50/t/filter_fixtures_only.t new/Test-Class-0.52/t/filter_fixtures_only.t --- old/Test-Class-0.50/t/filter_fixtures_only.t 2015-06-06 23:56:34.000000000 +0200 +++ new/Test-Class-0.52/t/filter_fixtures_only.t 2021-02-17 15:28:10.000000000 +0100 @@ -1,5 +1,3 @@ -#! /usr/bin/perl - use strict; use warnings; use Test::More tests => 1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.50/t/filter_multiple.t new/Test-Class-0.52/t/filter_multiple.t --- old/Test-Class-0.50/t/filter_multiple.t 2014-11-18 16:29:57.000000000 +0100 +++ new/Test-Class-0.52/t/filter_multiple.t 2021-02-17 15:28:10.000000000 +0100 @@ -1,5 +1,3 @@ -#! /usr/bin/perl - use strict; use warnings; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.50/t/methodinfo.t new/Test-Class-0.52/t/methodinfo.t --- old/Test-Class-0.50/t/methodinfo.t 2014-11-18 16:29:57.000000000 +0100 +++ new/Test-Class-0.52/t/methodinfo.t 2021-02-17 15:28:10.000000000 +0100 @@ -1,5 +1,3 @@ -#! /usr/bin/perl - use strict; use warnings; use Test::More 'no_plan'; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.50/t/override.t new/Test-Class-0.52/t/override.t --- old/Test-Class-0.50/t/override.t 2015-06-07 00:36:43.000000000 +0200 +++ new/Test-Class-0.52/t/override.t 2021-02-17 15:28:10.000000000 +0100 @@ -1,5 +1,3 @@ -#! /usr/bin/perl - use strict; use warnings; use Test::More tests => 1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.50/t/rt15870.t new/Test-Class-0.52/t/rt15870.t --- old/Test-Class-0.50/t/rt15870.t 2014-11-18 16:29:57.000000000 +0100 +++ new/Test-Class-0.52/t/rt15870.t 2021-02-17 15:28:10.000000000 +0100 @@ -1,5 +1,3 @@ -#! /usr/bin/perl - use strict; use warnings; use Test::Exception tests => 1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.50/t/rt17264.t new/Test-Class-0.52/t/rt17264.t --- old/Test-Class-0.50/t/rt17264.t 2015-06-07 00:36:43.000000000 +0200 +++ new/Test-Class-0.52/t/rt17264.t 2021-02-17 15:28:10.000000000 +0100 @@ -1,5 +1,3 @@ -#! /usr/bin/perl - use strict; use warnings; use Test::Exception tests => 1; @@ -8,4 +6,4 @@ require 'Test/Class.pm'; throws_ok { Test::Class->runtests } qr/Test::Class was loaded too late/, - 'we figured out that we loaded Test::Class too late'; \ No newline at end of file + 'we figured out that we loaded Test::Class too late'; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.50/t/runtests_return.t new/Test-Class-0.52/t/runtests_return.t --- old/Test-Class-0.50/t/runtests_return.t 2014-11-18 16:29:57.000000000 +0100 +++ new/Test-Class-0.52/t/runtests_return.t 2021-02-17 15:28:10.000000000 +0100 @@ -4,7 +4,7 @@ use warnings; $ENV{TEST_VERBOSE}=0; -package Foo; +package SkipMissingTests; use Test::More; use base qw(Test::Class); @@ -14,7 +14,7 @@ ok(-r "/Library", "/Library readable"); } -package Bar; +package FailMissingTests; use Test::More; use base qw(Test::Class); @@ -26,18 +26,116 @@ ok(-w "/Library", "/Library writable"); } +package AllowMoreTests; +use Test::More; +use base qw(Test::Class); + +sub more_tests : Tests(1) { + pass; + pass; +} + +sub other_tests : Tests { + pass; +} + +package DisallowMoreTests; +use Test::More; +use base qw(Test::Class); + +sub fail_if_returned_late { 1 } + +sub more_tests : Tests(1) { + pass; + pass; +} + +sub other_tests : Tests { + pass; +} + +package AllowMoreAndLessTests; +use Test::More; +use base qw(Test::Class); + +sub more_tests : Tests(1) { + pass; + pass; +} + +sub less_tests : Tests(2) { + pass; +} + +sub other_tests : Tests { + pass; +} + +package DisallowMoreAndLessTests; +use Test::More; +use base qw(Test::Class); + +sub fail_if_returned_early { 1 } +sub fail_if_returned_late { 1 } + +sub more_tests : Tests(1) { + pass; + pass; +} + +sub less_tests : Tests(2) { + pass; +} + +sub other_tests : Tests { + pass; +} + package main; -use Test::Builder::Tester tests => 2; +use Test::Builder::Tester tests => 6; test_out("ok 1 # skip darwin only test"); test_out("ok 2 # skip darwin only test"); -Foo->runtests; +SkipMissingTests->runtests; test_test("early return handled (skip)"); -test_out("not ok 1 - (Bar::darwin_only returned before plan complete)"); -test_out("not ok 2 - (Bar::darwin_only returned before plan complete)"); -test_err(qr/.*in Bar->darwin_only.*/s); -Bar->runtests; +test_out("not ok 1 - (FailMissingTests::darwin_only returned before plan complete)"); +test_out("not ok 2 - (FailMissingTests::darwin_only returned before plan complete)"); +test_err(qr/.* at \Q$0\E line .*in FailMissingTests->darwin_only.*/s); +FailMissingTests->runtests; test_test("early return handled (fail)"); +test_out("ok 1 - more tests"); +test_out("ok 2 - more tests"); +test_err("# expected 1 test(s) in AllowMoreTests::more_tests, 2 completed"); +test_out("ok 3 - other tests"); +AllowMoreTests->runtests; +test_test("late return handled (skip)"); + +test_out("ok 1 - more tests"); +test_out("ok 2 - more tests"); +test_out("not ok 3 - expected 1 test(s) in DisallowMoreTests::more_tests, 2 completed"); +test_err(qr/.* at \Q$0\E line .*in DisallowMoreTests->more_tests.*/s); +test_out("ok 4 - other tests"); +DisallowMoreTests->runtests; +test_test("late return handled (fail)"); + +test_out("ok 1 - less tests"); +test_out("ok 2 # skip 1"); +test_out("ok 3 - more tests"); +test_out("ok 4 - more tests"); +test_err("# expected 1 test(s) in AllowMoreAndLessTests::more_tests, 2 completed"); +test_out("ok 5 - other tests"); +AllowMoreAndLessTests->runtests; +test_test("early and late return handled (skip)"); + +test_out("ok 1 - less tests"); +test_out("not ok 2 - (DisallowMoreAndLessTests::less_tests returned before plan complete)"); +test_out("ok 3 - more tests"); +test_out("ok 4 - more tests"); +test_out("not ok 5 - expected 1 test(s) in DisallowMoreAndLessTests::more_tests, 2 completed"); +test_out("ok 6 - other tests"); +test_err(qr/.* at \Q$0\E line .*in DisallowMoreAndLessTests->less_tests.* at \Q$0\E line .*in DisallowMoreAndLessTests->more_tests.*/s); +DisallowMoreAndLessTests->runtests; +test_test("early and late return handled (fail)"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.50/t/skip1.t new/Test-Class-0.52/t/skip1.t --- old/Test-Class-0.50/t/skip1.t 2014-11-18 16:29:57.000000000 +0100 +++ new/Test-Class-0.52/t/skip1.t 2021-02-17 15:28:10.000000000 +0100 @@ -1,5 +1,3 @@ -#!/usr/bin/perl - use strict; use warnings; use base qw(Test::Class); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.50/t/startup_that_dies.t new/Test-Class-0.52/t/startup_that_dies.t --- old/Test-Class-0.50/t/startup_that_dies.t 2014-11-18 16:29:57.000000000 +0100 +++ new/Test-Class-0.52/t/startup_that_dies.t 2021-02-17 15:28:10.000000000 +0100 @@ -1,5 +1,3 @@ -#! /usr/bin/perl - use strict; use warnings; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.50/t/teardown-when-test-dies.t new/Test-Class-0.52/t/teardown-when-test-dies.t --- old/Test-Class-0.50/t/teardown-when-test-dies.t 2014-11-18 16:29:57.000000000 +0100 +++ new/Test-Class-0.52/t/teardown-when-test-dies.t 2021-02-17 15:28:10.000000000 +0100 @@ -1,5 +1,3 @@ -#! /usr/bin/perl - use strict; use warnings; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.50/t/test-libs/fail/MyFail.pm new/Test-Class-0.52/t/test-libs/fail/MyFail.pm --- old/Test-Class-0.50/t/test-libs/fail/MyFail.pm 2014-11-18 16:29:57.000000000 +0100 +++ new/Test-Class-0.52/t/test-libs/fail/MyFail.pm 2021-02-17 15:28:10.000000000 +0100 @@ -1,3 +1 @@ -#! /usr/bin/perl - -0; # we deliberately fail \ No newline at end of file +0; # we deliberately fail diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.50/t/test_deep.t new/Test-Class-0.52/t/test_deep.t --- old/Test-Class-0.50/t/test_deep.t 2014-11-18 16:29:57.000000000 +0100 +++ new/Test-Class-0.52/t/test_deep.t 2021-02-17 15:28:10.000000000 +0100 @@ -1,5 +1,3 @@ -#! /usr/bin/perl - use strict; use warnings; use Test::More tests => 1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.50/t/test_method.t new/Test-Class-0.52/t/test_method.t --- old/Test-Class-0.50/t/test_method.t 2014-11-18 16:29:57.000000000 +0100 +++ new/Test-Class-0.52/t/test_method.t 2021-02-17 15:28:10.000000000 +0100 @@ -1,5 +1,3 @@ -#! /usr/bin/perl - use strict; use warnings; use Test::More tests => 4;