Hello community, here is the log from the commit of package perl-Test-Class for openSUSE:Factory checked in at 2014-09-17 21:24:50 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Test-Class (Old) and /work/SRC/openSUSE:Factory/.perl-Test-Class.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Test-Class" Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Test-Class/perl-Test-Class.changes 2013-12-22 19:37:22.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.perl-Test-Class.new/perl-Test-Class.changes 2014-09-17 21:25:08.000000000 +0200 @@ -1,0 +2,20 @@ +Mon Sep 15 12:52:34 UTC 2014 - [email protected] + +- updated to 0.46 + - fix new teardown tests for MSWin32 + + 0.45 [2014-07-05] + - bump minimum required version of Test::More (RT#96951) + + 0.44 [2014-07-04] + - run teardown method even if test method dies, as in version 0.37 and + earlier + + 0.43 [2014-06-25] + - specify test prereqs as test_requires rather than build_requires + + 0.42 or the "how did I get stuck with co-maint?" release [2014-05-07] + - properly handle thrown exceptions that stringify to the empty string + before or after chomping (Karen Etheridge, PR#11) + +------------------------------------------------------------------- Old: ---- Test-Class-0.41.tar.gz New: ---- Test-Class-0.46.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Test-Class.spec ++++++ --- /var/tmp/diff_new_pack.Q9zt4U/_old 2014-09-17 21:25:09.000000000 +0200 +++ /var/tmp/diff_new_pack.Q9zt4U/_new 2014-09-17 21:25:09.000000000 +0200 @@ -1,7 +1,7 @@ # # spec file for package perl-Test-Class # -# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,36 +17,27 @@ Name: perl-Test-Class -Version: 0.41 +Version: 0.46 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/ -Source: http://www.cpan.org/authors/id/R/RJ/RJBS/%{cpan_name}-%{version}.tar.gz +Source: http://www.cpan.org/authors/id/E/ET/ETHER/%{cpan_name}-%{version}.tar.gz BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: perl BuildRequires: perl-macros BuildRequires: perl(MRO::Compat) >= 0.11 -BuildRequires: perl(Module::Build) >= 0.4200 +BuildRequires: perl(Module::Build) >= 0.4004 BuildRequires: perl(Test::Builder) >= 0.78 BuildRequires: perl(Test::Exception) >= 0.25 BuildRequires: perl(Test::More) >= 0.78 -BuildRequires: perl(Test::Simple) >= 0.78 -#BuildRequires: perl(Base::Test) -#BuildRequires: perl(Foo) -#BuildRequires: perl(SomeClassThatDefinesNew) -#BuildRequires: perl(Test::Class) -#BuildRequires: perl(Test::Class::Load) -#BuildRequires: perl(TestClassLoadSubclass) -#BuildRequires: perl(Test::Class::MethodInfo) -#BuildRequires: perl(Tests::Foo) +BuildRequires: perl(Test::Simple) >= 1.001002 Requires: perl(MRO::Compat) >= 0.11 Requires: perl(Test::Builder) >= 0.78 -Requires: perl(Test::More) >= 0.78 -Requires: perl(Test::Simple) >= 0.78 +Requires: perl(Test::Simple) >= 1.001002 %{perl_requires} %description @@ -80,6 +71,6 @@ %files -f %{name}.files %defattr(-,root,root,755) -%doc Changes LICENSE README xt +%doc Changes README xt %changelog ++++++ Test-Class-0.41.tar.gz -> Test-Class-0.46.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.41/Build.PL new/Test-Class-0.46/Build.PL --- old/Test-Class-0.41/Build.PL 2013-11-30 15:38:49.000000000 +0100 +++ new/Test-Class-0.46/Build.PL 2014-07-07 02:19:23.000000000 +0200 @@ -1,4 +1,4 @@ -use Module::Build; +use Module::Build 0.4004; # test_requires use strict; use warnings; @@ -11,19 +11,32 @@ my $build = Module::Build->new( module_name => 'Test::Class', license => 'perl', + configure_requires => { + 'Module::Build' => '0.4004', + }, requires => { 'perl' => '5.008001', 'Attribute::Handlers' => '0.77', 'MRO::Compat' => '0.11', 'Storable' => '2.04', - 'Test::Simple' => '0.78', + 'Test::Simple' => '1.001002', 'Test::Builder' => $tb_v, 'Test::Builder::Tester' => '1.02', - 'Test::More' => '0.78', + 'Carp' => '0', + 'File::Find' => '0', + 'File::Spec' => '0', + 'constant' => '0', + 'strict' => '0', + 'warnings' => '0', }, - build_requires => { + test_requires => { 'Test::Exception' => '0.25', 'IO::File' => '1.09', + 'Test::More' => '0.78', + 'Fcntl' => '0', + 'Test' => '0', + 'base' => '0', + 'overload' => '0', }, meta_merge => { resources => { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.41/Changes new/Test-Class-0.46/Changes --- old/Test-Class-0.41/Changes 2013-11-30 15:38:49.000000000 +0100 +++ new/Test-Class-0.46/Changes 2014-07-07 02:19:23.000000000 +0200 @@ -1,5 +1,22 @@ Changes for Perl extension Test-Class +0.46 [2014-07-06] + - fix new teardown tests for MSWin32 + +0.45 [2014-07-05] + - bump minimum required version of Test::More (RT#96951) + +0.44 [2014-07-04] + - run teardown method even if test method dies, as in version 0.37 and + earlier + +0.43 [2014-06-25] + - specify test prereqs as test_requires rather than build_requires + +0.42 or the "how did I get stuck with co-maint?" release [2014-05-07] + - properly handle thrown exceptions that stringify to the empty string + before or after chomping (Karen Etheridge, PR#11) + 0.41 or the "0.99 was a bad year" release [2013-11-30] - require a newer Test::Builder if 0.99 is installed RT#90699 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.41/LICENSE new/Test-Class-0.46/LICENSE --- old/Test-Class-0.41/LICENSE 2013-11-30 15:38:49.000000000 +0100 +++ new/Test-Class-0.46/LICENSE 1970-01-01 01:00:00.000000000 +0100 @@ -1,378 +0,0 @@ - -Terms of Perl itself - -a) the GNU General Public License as published by the Free - Software Foundation; either version 1, or (at your option) any - later version, or -b) the "Artistic License" - ----------------------------------------------------------------------------- - -The General Public License (GPL) -Version 2, June 1991 - -Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave, -Cambridge, MA 02139, USA. Everyone is permitted to copy and distribute -verbatim copies of this license document, but changing it is not allowed. - -Preamble - -The licenses for most software are designed to take away your freedom to share -and change it. By contrast, the GNU General Public License is intended to -guarantee your freedom to share and change free software--to make sure the -software is free for all its users. This General Public License applies to most of -the Free Software Foundation's software and to any other program whose -authors commit to using it. (Some other Free Software Foundation software is -covered by the GNU Library General Public License instead.) You can apply it to -your programs, too. - -When we speak of free software, we are referring to freedom, not price. Our -General Public Licenses are designed to make sure that you have the freedom -to distribute copies of free software (and charge for this service if you wish), that -you receive source code or can get it if you want it, that you can change the -software or use pieces of it in new free programs; and that you know you can do -these things. - -To protect your rights, we need to make restrictions that forbid anyone to deny -you these rights or to ask you to surrender the rights. These restrictions -translate to certain responsibilities for you if you distribute copies of the -software, or if you modify it. - -For example, if you distribute copies of such a program, whether gratis or for a -fee, you must give the recipients all the rights that you have. You must make -sure that they, too, receive or can get the source code. And you must show -them these terms so they know their rights. - -We protect your rights with two steps: (1) copyright the software, and (2) offer -you this license which gives you legal permission to copy, distribute and/or -modify the software. - -Also, for each author's protection and ours, we want to make certain that -everyone understands that there is no warranty for this free software. If the -software is modified by someone else and passed on, we want its recipients to -know that what they have is not the original, so that any problems introduced by -others will not reflect on the original authors' reputations. - -Finally, any free program is threatened constantly by software patents. We wish -to avoid the danger that redistributors of a free program will individually obtain -patent licenses, in effect making the program proprietary. To prevent this, we -have made it clear that any patent must be licensed for everyone's free use or -not licensed at all. - -The precise terms and conditions for copying, distribution and modification -follow. - -GNU GENERAL PUBLIC LICENSE -TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND -MODIFICATION - -0. This License applies to any program or other work which contains a notice -placed by the copyright holder saying it may be distributed under the terms of -this General Public License. The "Program", below, refers to any such program -or work, and a "work based on the Program" means either the Program or any -derivative work under copyright law: that is to say, a work containing the -Program or a portion of it, either verbatim or with modifications and/or translated -into another language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not covered by -this License; they are outside its scope. The act of running the Program is not -restricted, and the output from the Program is covered only if its contents -constitute a work based on the Program (independent of having been made by -running the Program). Whether that is true depends on what the Program does. - -1. You may copy and distribute verbatim copies of the Program's source code as -you receive it, in any medium, provided that you conspicuously and appropriately -publish on each copy an appropriate copyright notice and disclaimer of warranty; -keep intact all the notices that refer to this License and to the absence of any -warranty; and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and you may at -your option offer warranty protection in exchange for a fee. - -2. You may modify your copy or copies of the Program or any portion of it, thus -forming a work based on the Program, and copy and distribute such -modifications or work under the terms of Section 1 above, provided that you also -meet all of these conditions: - -a) You must cause the modified files to carry prominent notices stating that you -changed the files and the date of any change. - -b) You must cause any work that you distribute or publish, that in whole or in -part contains or is derived from the Program or any part thereof, to be licensed -as a whole at no charge to all third parties under the terms of this License. - -c) If the modified program normally reads commands interactively when run, you -must cause it, when started running for such interactive use in the most ordinary -way, to print or display an announcement including an appropriate copyright -notice and a notice that there is no warranty (or else, saying that you provide a -warranty) and that users may redistribute the program under these conditions, -and telling the user how to view a copy of this License. (Exception: if the -Program itself is interactive but does not normally print such an announcement, -your work based on the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If identifiable -sections of that work are not derived from the Program, and can be reasonably -considered independent and separate works in themselves, then this License, -and its terms, do not apply to those sections when you distribute them as -separate works. But when you distribute the same sections as part of a whole -which is a work based on the Program, the distribution of the whole must be on -the terms of this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest your rights to -work written entirely by you; rather, the intent is to exercise the right to control -the distribution of derivative or collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program with the -Program (or with a work based on the Program) on a volume of a storage or -distribution medium does not bring the other work under the scope of this -License. - -3. You may copy and distribute the Program (or a work based on it, under -Section 2) in object code or executable form under the terms of Sections 1 and 2 -above provided that you also do one of the following: - -a) Accompany it with the complete corresponding machine-readable source -code, which must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange; or, - -b) Accompany it with a written offer, valid for at least three years, to give any -third party, for a charge no more than your cost of physically performing source -distribution, a complete machine-readable copy of the corresponding source -code, to be distributed under the terms of Sections 1 and 2 above on a medium -customarily used for software interchange; or, - -c) Accompany it with the information you received as to the offer to distribute -corresponding source code. (This alternative is allowed only for noncommercial -distribution and only if you received the program in object code or executable -form with such an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for making -modifications to it. For an executable work, complete source code means all the -source code for all modules it contains, plus any associated interface definition -files, plus the scripts used to control compilation and installation of the -executable. However, as a special exception, the source code distributed need -not include anything that is normally distributed (in either source or binary form) -with the major components (compiler, kernel, and so on) of the operating system -on which the executable runs, unless that component itself accompanies the -executable. - -If distribution of executable or object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the source -code from the same place counts as distribution of the source code, even though -third parties are not compelled to copy the source along with the object code. - -4. You may not copy, modify, sublicense, or distribute the Program except as -expressly provided under this License. Any attempt otherwise to copy, modify, -sublicense or distribute the Program is void, and will automatically terminate -your rights under this License. However, parties who have received copies, or -rights, from you under this License will not have their licenses terminated so long -as such parties remain in full compliance. - -5. You are not required to accept this License, since you have not signed it. -However, nothing else grants you permission to modify or distribute the Program -or its derivative works. These actions are prohibited by law if you do not accept -this License. Therefore, by modifying or distributing the Program (or any work -based on the Program), you indicate your acceptance of this License to do so, -and all its terms and conditions for copying, distributing or modifying the -Program or works based on it. - -6. Each time you redistribute the Program (or any work based on the Program), -the recipient automatically receives a license from the original licensor to copy, -distribute or modify the Program subject to these terms and conditions. You -may not impose any further restrictions on the recipients' exercise of the rights -granted herein. You are not responsible for enforcing compliance by third parties -to this License. - -7. If, as a consequence of a court judgment or allegation of patent infringement -or for any other reason (not limited to patent issues), conditions are imposed on -you (whether by court order, agreement or otherwise) that contradict the -conditions of this License, they do not excuse you from the conditions of this -License. If you cannot distribute so as to satisfy simultaneously your obligations -under this License and any other pertinent obligations, then as a consequence -you may not distribute the Program at all. For example, if a patent license would -not permit royalty-free redistribution of the Program by all those who receive -copies directly or indirectly through you, then the only way you could satisfy -both it and this License would be to refrain entirely from distribution of the -Program. - -If any portion of this section is held invalid or unenforceable under any particular -circumstance, the balance of the section is intended to apply and the section as -a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any patents or other -property right claims or to contest validity of any such claims; this section has -the sole purpose of protecting the integrity of the free software distribution -system, which is implemented by public license practices. Many people have -made generous contributions to the wide range of software distributed through -that system in reliance on consistent application of that system; it is up to the -author/donor to decide if he or she is willing to distribute software through any -other system and a licensee cannot impose that choice. - -This section is intended to make thoroughly clear what is believed to be a -consequence of the rest of this License. - -8. If the distribution and/or use of the Program is restricted in certain countries -either by patents or by copyrighted interfaces, the original copyright holder who -places the Program under this License may add an explicit geographical -distribution limitation excluding those countries, so that distribution is permitted -only in or among countries not thus excluded. In such case, this License -incorporates the limitation as if written in the body of this License. - -9. The Free Software Foundation may publish revised and/or new versions of the -General Public License from time to time. Such new versions will be similar in -spirit to the present version, but may differ in detail to address new problems or -concerns. - -Each version is given a distinguishing version number. If the Program specifies a -version number of this License which applies to it and "any later version", you -have the option of following the terms and conditions either of that version or of -any later version published by the Free Software Foundation. If the Program does -not specify a version number of this License, you may choose any version ever -published by the Free Software Foundation. - -10. If you wish to incorporate parts of the Program into other free programs -whose distribution conditions are different, write to the author to ask for -permission. For software which is copyrighted by the Free Software Foundation, -write to the Free Software Foundation; we sometimes make exceptions for this. -Our decision will be guided by the two goals of preserving the free status of all -derivatives of our free software and of promoting the sharing and reuse of -software generally. - -NO WARRANTY - -11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS -NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE -COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM -"AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR -IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE -ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, -YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR -CORRECTION. - -12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED -TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY -WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS -PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM -(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY -OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS -BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -END OF TERMS AND CONDITIONS - - ----------------------------------------------------------------------------- - -The Artistic License - -Preamble - -The intent of this document is to state the conditions under which a Package -may be copied, such that the Copyright Holder maintains some semblance of -artistic control over the development of the package, while giving the users of the -package the right to use and distribute the Package in a more-or-less customary -fashion, plus the right to make reasonable modifications. - -Definitions: - -- "Package" refers to the collection of files distributed by the Copyright - Holder, and derivatives of that collection of files created through textual - modification. -- "Standard Version" refers to such a Package if it has not been modified, - or has been modified in accordance with the wishes of the Copyright - Holder. -- "Copyright Holder" is whoever is named in the copyright or copyrights for - the package. -- "You" is you, if you're thinking about copying or distributing this Package. -- "Reasonable copying fee" is whatever you can justify on the basis of - media cost, duplication charges, time of people involved, and so on. (You - will not be required to justify it to the Copyright Holder, but only to the - computing community at large as a market that must bear the fee.) -- "Freely Available" means that no fee is charged for the item itself, though - there may be fees involved in handling the item. It also means that - recipients of the item may redistribute it under the same conditions they - received it. - -1. You may make and give away verbatim copies of the source form of the -Standard Version of this Package without restriction, provided that you duplicate -all of the original copyright notices and associated disclaimers. - -2. You may apply bug fixes, portability fixes and other modifications derived from -the Public Domain or from the Copyright Holder. A Package modified in such a -way shall still be considered the Standard Version. - -3. You may otherwise modify your copy of this Package in any way, provided -that you insert a prominent notice in each changed file stating how and when -you changed that file, and provided that you do at least ONE of the following: - - a) place your modifications in the Public Domain or otherwise - make them Freely Available, such as by posting said modifications - to Usenet or an equivalent medium, or placing the modifications on - a major archive site such as ftp.uu.net, or by allowing the - Copyright Holder to include your modifications in the Standard - Version of the Package. - - b) use the modified Package only within your corporation or - organization. - - c) rename any non-standard executables so the names do not - conflict with standard executables, which must also be provided, - and provide a separate manual page for each non-standard - executable that clearly documents how it differs from the Standard - Version. - - d) make other distribution arrangements with the Copyright Holder. - -4. You may distribute the programs of this Package in object code or executable -form, provided that you do at least ONE of the following: - - a) distribute a Standard Version of the executables and library - files, together with instructions (in the manual page or equivalent) - on where to get the Standard Version. - - b) accompany the distribution with the machine-readable source of - the Package with your modifications. - - c) accompany any non-standard executables with their - corresponding Standard Version executables, giving the - non-standard executables non-standard names, and clearly - documenting the differences in manual pages (or equivalent), - together with instructions on where to get the Standard Version. - - d) make other distribution arrangements with the Copyright Holder. - -5. You may charge a reasonable copying fee for any distribution of this Package. -You may charge any fee you choose for support of this Package. You may not -charge a fee for this Package itself. However, you may distribute this Package in -aggregate with other (possibly commercial) programs as part of a larger -(possibly commercial) software distribution provided that you do not advertise -this Package as a product of your own. - -6. The scripts and library files supplied as input to or produced as output from -the programs of this Package do not automatically fall under the copyright of this -Package, but belong to whomever generated them, and may be sold -commercially, and may be aggregated with this Package. - -7. C or perl subroutines supplied by you and linked into this Package shall not -be considered part of this Package. - -8. The name of the Copyright Holder may not be used to endorse or promote -products derived from this software without specific prior written permission. - -9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR -IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED -WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR -PURPOSE. - -The End - - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.41/MANIFEST new/Test-Class-0.46/MANIFEST --- old/Test-Class-0.41/MANIFEST 2013-11-30 15:38:49.000000000 +0100 +++ new/Test-Class-0.46/MANIFEST 2014-07-07 02:19:23.000000000 +0200 @@ -3,8 +3,11 @@ lib/Test/Class.pm lib/Test/Class/Load.pm lib/Test/Class/MethodInfo.pm -LICENSE +Makefile.PL MANIFEST This list of files +META.json +META.yml +README t/00-load.t t/20-load-classes.t t/21-load-subclassed.t @@ -38,6 +41,8 @@ t/run_all_tests.t t/runtests.t t/runtests_die.t +t/runtests_die_empty.t +t/runtests_die_nearlyempty.t t/runtests_extra.t t/runtests_noplan.t t/runtests_of.t @@ -53,6 +58,7 @@ t/spaces.t t/startup.t t/startup_that_dies.t +t/teardown-when-test-dies.t t/test-libs/fail/MyFail.pm t/test-libs/lib1/Tests/Foo.pm t/test-libs/lib1/Tests/Foo/Bar.pm @@ -76,7 +82,3 @@ xt/pmv.t xt/pod.t xt/spelling.t -Makefile.PL -README -META.yml -META.json diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.41/META.json new/Test-Class-0.46/META.json --- old/Test-Class-0.41/META.json 2013-11-30 15:38:49.000000000 +0100 +++ new/Test-Class-0.46/META.json 2014-07-07 02:19:23.000000000 +0200 @@ -4,7 +4,7 @@ "Adrian Howard <[email protected]>, Curtis \"Ovid\" Poe, <ovid at cpan.org>, Mark Morgan <[email protected]>." ], "dynamic_config" : 1, - "generated_by" : "Module::Build version 0.4203", + "generated_by" : "Module::Build version 0.4205", "license" : [ "perl_5" ], @@ -14,42 +14,52 @@ }, "name" : "Test-Class", "prereqs" : { - "build" : { - "requires" : { - "IO::File" : "1.09", - "Test::Exception" : "0.25" - } - }, "configure" : { "requires" : { - "Module::Build" : "0.42" + "Module::Build" : "0.4004" } }, "runtime" : { "requires" : { "Attribute::Handlers" : "0.77", + "Carp" : "0", + "File::Find" : "0", + "File::Spec" : "0", "MRO::Compat" : "0.11", "Storable" : "2.04", "Test::Builder" : "0.78", "Test::Builder::Tester" : "1.02", + "Test::Simple" : "1.001002", + "constant" : "0", + "perl" : "5.008001", + "strict" : "0", + "warnings" : "0" + } + }, + "test" : { + "requires" : { + "Fcntl" : "0", + "IO::File" : "1.09", + "Test" : "0", + "Test::Exception" : "0.25", "Test::More" : "0.78", - "Test::Simple" : "0.78", - "perl" : "5.008001" + "base" : "0", + "overload" : "0" } } }, "provides" : { "Test::Class" : { "file" : "lib/Test/Class.pm", - "version" : "0.41" + "version" : "0.46" }, "Test::Class::Load" : { "file" : "lib/Test/Class/Load.pm", - "version" : "0.41" + "version" : "0.46" }, "Test::Class::MethodInfo" : { "file" : "lib/Test/Class/MethodInfo.pm", - "version" : "0.41" + "version" : "0.46" } }, "release_status" : "stable", @@ -61,5 +71,5 @@ "url" : "http://github.com/adrianh/test-class/" } }, - "version" : "0.41" + "version" : "0.46" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.41/META.yml new/Test-Class-0.46/META.yml --- old/Test-Class-0.41/META.yml 2013-11-30 15:38:49.000000000 +0100 +++ new/Test-Class-0.46/META.yml 2014-07-07 02:19:23.000000000 +0200 @@ -1,39 +1,49 @@ --- abstract: 'Easily create test classes in an xUnit/JUnit style' author: - - "Adrian Howard <[email protected]>, Curtis \"Ovid\" Poe, <ovid at cpan.org>, Mark Morgan <[email protected]>." + - 'Adrian Howard <[email protected]>, Curtis "Ovid" Poe, <ovid at cpan.org>, Mark Morgan <[email protected]>.' build_requires: - IO::File: 1.09 - Test::Exception: 0.25 + Fcntl: '0' + IO::File: '1.09' + Test: '0' + Test::Exception: '0.25' + Test::More: '0.78' + base: '0' + overload: '0' configure_requires: - Module::Build: 0.42 + Module::Build: '0.4004' dynamic_config: 1 -generated_by: 'Module::Build version 0.4203, CPAN::Meta::Converter version 2.132830' +generated_by: 'Module::Build version 0.4205, CPAN::Meta::Converter version 2.141520' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html - version: 1.4 + version: '1.4' name: Test-Class provides: Test::Class: file: lib/Test/Class.pm - version: 0.41 + version: '0.46' Test::Class::Load: file: lib/Test/Class/Load.pm - version: 0.41 + version: '0.46' Test::Class::MethodInfo: file: lib/Test/Class/MethodInfo.pm - version: 0.41 + version: '0.46' requires: - Attribute::Handlers: 0.77 - MRO::Compat: 0.11 - Storable: 2.04 - Test::Builder: 0.78 - Test::Builder::Tester: 1.02 - Test::More: 0.78 - Test::Simple: 0.78 - perl: 5.008001 + Attribute::Handlers: '0.77' + Carp: '0' + File::Find: '0' + File::Spec: '0' + MRO::Compat: '0.11' + Storable: '2.04' + Test::Builder: '0.78' + Test::Builder::Tester: '1.02' + Test::Simple: '1.001002' + constant: '0' + perl: '5.008001' + strict: '0' + warnings: '0' resources: license: http://dev.perl.org/licenses/ repository: http://github.com/adrianh/test-class/ -version: 0.41 +version: '0.46' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.41/Makefile.PL new/Test-Class-0.46/Makefile.PL --- old/Test-Class-0.41/Makefile.PL 2013-11-30 15:38:49.000000000 +0100 +++ new/Test-Class-0.46/Makefile.PL 2014-07-07 02:19:23.000000000 +0200 @@ -1,4 +1,4 @@ -# Note: this file was auto-generated by Module::Build::Compat version 0.4203 +# Note: this file was auto-generated by Module::Build::Compat version 0.4205 require 5.008001; use ExtUtils::MakeMaker; WriteMakefile @@ -7,14 +7,17 @@ 'VERSION_FROM' => 'lib/Test/Class.pm', 'PREREQ_PM' => { 'Attribute::Handlers' => '0.77', - 'IO::File' => '1.09', + 'Carp' => '0', + 'File::Find' => '0', + 'File::Spec' => '0', 'MRO::Compat' => '0.11', 'Storable' => '2.04', 'Test::Builder' => '0.78', 'Test::Builder::Tester' => '1.02', - 'Test::Exception' => '0.25', - 'Test::More' => '0.78', - 'Test::Simple' => '0.78' + 'Test::Simple' => '1.001002', + 'constant' => '0', + 'strict' => '0', + 'warnings' => '0' }, 'INSTALLDIRS' => 'site', 'EXE_FILES' => [], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.41/lib/Test/Class/Load.pm new/Test-Class-0.46/lib/Test/Class/Load.pm --- old/Test-Class-0.41/lib/Test/Class/Load.pm 2013-11-30 15:38:49.000000000 +0100 +++ new/Test-Class-0.46/lib/Test/Class/Load.pm 2014-07-07 02:19:23.000000000 +0200 @@ -7,7 +7,7 @@ use File::Find; use File::Spec; -our $VERSION = '0.41'; +our $VERSION = '0.46'; # Override to get your own filter sub is_test_class { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.41/lib/Test/Class/MethodInfo.pm new/Test-Class-0.46/lib/Test/Class/MethodInfo.pm --- old/Test-Class-0.41/lib/Test/Class/MethodInfo.pm 2013-11-30 15:38:49.000000000 +0100 +++ new/Test-Class-0.46/lib/Test/Class/MethodInfo.pm 2014-07-07 02:19:23.000000000 +0200 @@ -4,7 +4,7 @@ package Test::Class::MethodInfo; use Carp; -our $VERSION = '0.41'; +our $VERSION = '0.46'; sub new { my ( $class, %param ) = @_; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.41/lib/Test/Class.pm new/Test-Class-0.46/lib/Test/Class.pm --- old/Test-Class-0.41/lib/Test/Class.pm 2013-11-30 15:38:49.000000000 +0100 +++ new/Test-Class-0.46/lib/Test/Class.pm 2014-07-07 02:19:23.000000000 +0200 @@ -11,7 +11,7 @@ use Test::Builder; use Test::Class::MethodInfo; -our $VERSION = '0.41'; +our $VERSION = '0.46'; my $Check_block_has_run; { @@ -60,7 +60,7 @@ my ( $self, $class ) = @_; my $test_info = _test_info($self) or die "Test::Class internals seem confused. Did you override " - . "new() in a sub-class or via multiple inheritence?\n"; + . "new() in a sub-class or via multiple inheritance?\n"; return values %{ $test_info->{$class} }; }; @@ -252,6 +252,7 @@ $message .= " (for test method '$Current_method')" if defined $Current_method && $method ne $Current_method; _show_header($self, @$tests); + chomp $exception; $Builder->ok(0, "$message died ($exception)"); _threw_exception( $self, $method => 1 ); }; @@ -289,19 +290,18 @@ $skip_reason = eval {$self->$method}; $skip_reason = $method unless $skip_reason; my $exception = $@; - chomp($exception) if $exception; my $num_done = $Builder->current_test - $num_start; my $num_expected = _total_num_tests($self, $method); $num_expected = $num_done if $num_expected eq NO_PLAN; if ($num_done == $num_expected) { _exception_failure($self, $method, $exception, $tests) - unless $exception eq ''; + if $exception; } elsif ($num_done > $num_expected) { my $class = ref $self; $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 ne '') { + if ($exception) { _exception_failure($self, $method, $exception, $tests); $skip_reason = "$method died"; $exception = ''; @@ -391,6 +391,7 @@ _show_header($t, @tests) unless _has_no_tests($t, $method); $all_passed = 0 unless _run_method($t, $method, \@tests); if ( _threw_exception( $t, $method ) ) { + next if ($method eq $test); my $num_to_skip = _total_num_tests($t, @methods_to_run); $Builder->skip( "$method died" ) for ( 1 .. $num_to_skip ); last; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.41/t/runtests_die_empty.t new/Test-Class-0.46/t/runtests_die_empty.t --- old/Test-Class-0.41/t/runtests_die_empty.t 1970-01-01 01:00:00.000000000 +0100 +++ new/Test-Class-0.46/t/runtests_die_empty.t 2014-07-07 02:19:23.000000000 +0200 @@ -0,0 +1,41 @@ +#! /usr/bin/perl -T + +use strict; +use warnings; + +package Object; +use overload + bool => sub { 1 }, # there is an exception here even if it stringifies as empty! + '""' => 'as_string', + fallback => 1; +sub new { + my ($class, %args) = @_; + bless { %args }, $class; +} +sub as_string { + return defined $_[0]->{message} + ? $_[0]->{message} + : ''; +} + +package Foo; +use Test::More; +use base qw(Test::Class); + +sub die_empty : Test(1) { + die Object->new(); + fail 'we should never get here'; +} + +package main; +use Test::Builder::Tester tests => 1; +$ENV{TEST_VERBOSE}=0; + +my $filename = sub { return (caller)[1] }->(); + +test_out( "not ok 1 - die_empty died ()"); +test_err( "# Failed test 'die_empty died ()'" ); +test_err( "# at $filename line 40."); +test_err( "# (in Foo->die_empty)" ); +Foo->runtests; +test_test("we can handle an exception that stringifies to the empty string"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.41/t/runtests_die_nearlyempty.t new/Test-Class-0.46/t/runtests_die_nearlyempty.t --- old/Test-Class-0.41/t/runtests_die_nearlyempty.t 1970-01-01 01:00:00.000000000 +0100 +++ new/Test-Class-0.46/t/runtests_die_nearlyempty.t 2014-07-07 02:19:23.000000000 +0200 @@ -0,0 +1,37 @@ +#! /usr/bin/perl -T + +use strict; +use warnings; + +package Foo; +use Test::More; +use base qw(Test::Class); + +sub die_one_cr : Test(1) { + die "\n"; + fail 'we should never get here'; +} + +sub die_two_cr : Test(1) { + die "\n\n"; + fail 'we should never get here'; +} + +package main; +use Test::Builder::Tester tests => 1; +$ENV{TEST_VERBOSE}=0; + +my $filename = sub { return (caller)[1] }->(); + +test_out( "not ok 1 - die_one_cr died ()"); +test_err( "# Failed test 'die_one_cr died ()'" ); +test_err( "# at $filename line 36."); +test_err( "# (in Foo->die_one_cr)" ); +test_out( "not ok 2 - die_two_cr died ("); +test_out( "# )"); +test_err( "# Failed test 'die_two_cr died (" ); +test_err( "# )'"); +test_err( "# at $filename line 36."); +test_err( "# (in Foo->die_two_cr)" ); +Foo->runtests; +test_test("early die with nearly-empty messages handled"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.41/t/teardown-when-test-dies.t new/Test-Class-0.46/t/teardown-when-test-dies.t --- old/Test-Class-0.41/t/teardown-when-test-dies.t 1970-01-01 01:00:00.000000000 +0100 +++ new/Test-Class-0.46/t/teardown-when-test-dies.t 2014-07-07 02:19:23.000000000 +0200 @@ -0,0 +1,29 @@ +#! /usr/bin/perl + +use strict; +use warnings; + +my $line; +{ + package TeardownWhenTestDies; + use base qw(Test::Class); + use Test::More; + + sub setup_that_runs : Test( setup => 1 ) { ok(1, "setup works"); } + + sub my_test_method : Tests { + BEGIN { $line = __LINE__ } die "oops!"; + } + + sub teardown_that_runs : Test( teardown => 1 ) { + ok(1, 'teardown is run'); + } +} + +use Test::Builder::Tester tests => 1; + +test_out("ok 1 - setup works\nnot ok 2 - my_test_method died (oops! at ${\ __FILE__ } line $line.)\nok 3 - teardown is run"); +test_fail( +2 ); +test_err( "# (in TeardownWhenTestDies->my_test_method)" ); +Test::Class->runtests; +test_test("exception in method, but teardown is still run"); -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
