Dist-Zilla-Plugin-CheckExtraTests-0.029/000755 000765 000024 00000000000 12720704762 020237 5ustar00davidstaff000000 000000 Dist-Zilla-Plugin-CheckExtraTests-0.029/Changes000644 000765 000024 00000010423 12720704762 021532 0ustar00davidstaff000000 000000 Revision history for Dist-Zilla-Plugin-CheckExtraTests 0.029 2016-05-23 18:53:31-04:00 America/New_York [Fixed] - Fixed tmpdir removal with Dist::Zilla 6+ 0.028 2015-08-10 10:52:35-04:00 America/New_York [Fixed] - non-perl files in xt/* are not executed 0.027 2015-05-02 15:41:56-04:00 America/New_York [Documented] - Changed order of 'xt' commands in help text for clarity 0.026 2015-03-24 23:35:49-04:00 America/New_York [Fixed] - Fixed test corpuses (corpii?) to protect against META validation errors 0.025 2014-11-21 11:29:50-05:00 America/New_York [Changed] - Respects dzil verbose flag 0.024 2014-11-04 05:30:13-05:00 America/New_York [Added] - RunExtraTests now also runs miscellaneous xt/ tests 0.023 2014-10-30 16:25:03-04:00 America/New_York [Changed] - Removed unused Moose::Autobox 0.022 2014-07-14 17:36:05-04:00 America/New_York - [RunExtraTests] now accepts the --jobs flag passed to 'dzil test' and 'dzil release' 0.021 2014-03-25 14:34:02-04:00 America/New_York [Fixed] - specifies Path::Tiny prerequisite of 0.013 or better 0.020 2014-03-22 23:12:58-04:00 America/New_York [Fixed] - default jobs support was buggy in the last version 0.019 2014-03-22 22:48:04-04:00 America/New_York [Changed] - Added 'jobs' argument for 'dzil xtest' for parallel testing - passing new 'default_jobs' option (added to Dist::Zilla 5.014) through to test runner for parallel testing 0.018 2014-02-18 17:20:58-05:00 America/New_York [Fixed] - CheckExtraTest now force removes temp directory, the way Path::Class used to do. 0.017 2014-02-13 15:03:55-05:00 America/New_York [Changed] - Removed dependency on Path::Class in favor of Path::Tiny 0.016 2013-11-15 11:33:06 America/New_York [Changed] - the 'xtest' command now accepts the same options as 'test' does 0.015 2013-10-31 15:03:13 America/New_York - Shipping as a stable release 0.014 2013-10-23 19:52:43 America/New_York [Fixed] - [CheckExtraTest] tests in a .build directory instead of the build directory - the 'xtest' command now uses Dist::Zilla methods to build a temporary directory, which also sets the .build/latest symlink correctly 0.013 2013-10-17 17:26:26 America/New_York [Changed] - [RunExtraTests] now runs xt/author ahead of xt/smoke and xt/release (Karen Etheridge) 0.012 2013-10-15 23:15:02 America/New_York [Changed] - 'dzil xtest' arguments now match as regex patterns for more flexibility [Fixed] - use all builders to build, not just the first (Karen Etheridge) 0.011 2013-02-09 20:53:59 America/New_York - Doc fixes (ETHER) - Path::Tiny fix (ETHER) 0.010 2013-02-07 23:09:15 America/New_York - Bump Dist::Zilla prereq to something modernish 0.009 2013-02-06 16:15:30 America/New_York - Swap Path::Class for Path::Tiny and Path::Class::Rule for Path::Iterator::Rule 0.008 2013-01-25 15:23:15 America/New_York - lazy loading of some dependencies (DOLMEN) 0.007 2012-05-31 12:00:29 America/New_York - change RunExtraTests plugin to avoid rebuilding the dist when it's not necessary (e.g. MakeMaker already ran the normal tests) (thanks, Christopher J. Madsen) 0.006 2012-05-10 23:08:11 America/New_York - run tests on the built dist, so that things like XS will work - add RunExtraTests plugin, which runs the appropriate xt tests when "dzil test" is run (but only with the appropriate flags). 0.005 2012-05-03 17:30:08 America/New_York - add 'xt' as command alias for 'xtest' - 'dzil xtest' now takes optional arguments that are treated as xt test filenames to run. These will be found however deeply they are nested in xt. 0.004 2010-04-08 14:51:28 EST5EDT - manually set prereqs instead of using auto-detection to avoid a Dist::Zilla BUILD_REQUIRES bug 0.003 2010-04-07 14:02:34 EST5EDT - updated tests for Dist::Zilla 2.000+ - switched from File::chdir to File::pushd 0.002 2010-03-23 19:28:48 EST5EDT - fixed problem in release check 0.001 2010-03-22 01:10:12 EST5EDT - first draft Dist-Zilla-Plugin-CheckExtraTests-0.029/CONTRIBUTING.mkdn000644 000765 000024 00000005751 12720704762 023031 0ustar00davidstaff000000 000000 ## HOW TO CONTRIBUTE Thank you for considering contributing to this distribution. This file contains instructions that will help you work with the source code. The distribution is managed with Dist::Zilla. This means than many of the usual files you might expect are not in the repository, but are generated at release time, as is much of the documentation. Some generated files are kept in the repository as a convenience (e.g. Makefile.PL or cpanfile). Generally, **you do not need Dist::Zilla to contribute patches**. You do need Dist::Zilla to create a tarball. See below for guidance. ### Getting dependencies If you have App::cpanminus 1.6 or later installed, you can use `cpanm` to satisfy dependencies like this: $ cpanm --installdeps . Otherwise, look for either a `Makefile.PL` or `cpanfile` file for a list of dependencies to satisfy. ### Running tests You can run tests directly using the `prove` tool: $ prove -l $ prove -lv t/some_test_file.t For most of my distributions, `prove` is entirely sufficient for you to test any patches you have. I use `prove` for 99% of my testing during development. ### Code style and tidying Please try to match any existing coding style. If there is a `.perltidyrc` file, please install Perl::Tidy and use perltidy before submitting patches. If there is a `tidyall.ini` file, you can also install Code::TidyAll and run `tidyall` on a file or `tidyall -a` to tidy all files. ### Patching documentation Much of the documentation Pod is generated at release time. Some is generated boilerplate; other documentation is built from pseudo-POD directives in the source like C<=method> or C<=func>. If you would like to submit a documentation edit, please limit yourself to the documentation you see. If you see typos or documentation issues in the generated docs, please email or open a bug ticket instead of patching. ### Installing and using Dist::Zilla Dist::Zilla is a very powerful authoring tool, optimized for maintaining a large number of distributions with a high degree of automation, but it has a large dependency chain, a bit of a learning curve and requires a number of author-specific plugins. To install it from CPAN, I recommend one of the following approaches for the quickest installation: # using CPAN.pm, but bypassing non-functional pod tests $ cpan TAP::Harness::Restricted $ PERL_MM_USE_DEFAULT=1 HARNESS_CLASS=TAP::Harness::Restricted cpan Dist::Zilla # using cpanm, bypassing *all* tests $ cpanm -n Dist::Zilla In either case, it's probably going to take about 10 minutes. Go for a walk, go get a cup of your favorite beverage, take a bathroom break, or whatever. When you get back, Dist::Zilla should be ready for you. Then you need to install any plugins specific to this distribution: $ cpan `dzil authordeps` $ dzil authordeps | cpanm Once installed, here are some dzil commands you might try: $ dzil build $ dzil test $ dzil xtest You can learn more about Dist::Zilla at http://dzil.org/ Dist-Zilla-Plugin-CheckExtraTests-0.029/corpus/000755 000765 000024 00000000000 12720704762 021552 5ustar00davidstaff000000 000000 Dist-Zilla-Plugin-CheckExtraTests-0.029/cpanfile000644 000765 000024 00000003424 12720704762 021746 0ustar00davidstaff000000 000000 requires "App::Prove" => "3.00"; requires "Archive::Tar" => "0"; requires "Dist::Zilla" => "4.3"; requires "Dist::Zilla::App" => "0"; requires "Dist::Zilla::Role::BeforeRelease" => "0"; requires "Dist::Zilla::Role::TestRunner" => "0"; requires "File::pushd" => "0"; requires "Moose" => "2"; requires "Path::Iterator::Rule" => "0"; requires "Path::Tiny" => "0.013"; requires "namespace::autoclean" => "0.09"; requires "perl" => "5.006"; requires "strict" => "0"; requires "warnings" => "0"; on 'test' => sub { requires "Capture::Tiny" => "0"; requires "Dist::Zilla::App::Tester" => "0"; requires "ExtUtils::MakeMaker" => "0"; requires "File::Spec" => "0"; requires "Params::Util" => "0"; requires "Sub::Exporter" => "0"; requires "Test::More" => "0.88"; requires "Test::Requires" => "0"; requires "Try::Tiny" => "0"; requires "lib" => "0"; requires "perl" => "5.006"; }; on 'test' => sub { recommends "CPAN::Meta" => "2.120900"; }; on 'configure' => sub { requires "ExtUtils::MakeMaker" => "6.17"; requires "perl" => "5.006"; }; on 'configure' => sub { suggests "JSON::PP" => "2.27300"; }; on 'develop' => sub { requires "Dist::Zilla" => "5"; requires "Dist::Zilla::PluginBundle::DAGOLDEN" => "0.072"; requires "English" => "0"; requires "File::Spec" => "0"; requires "File::Temp" => "0"; requires "IO::Handle" => "0"; requires "IPC::Open3" => "0"; requires "Pod::Coverage::TrustPod" => "0"; requires "Pod::Wordlist" => "0"; requires "Software::License::Apache_2_0" => "0"; requires "Test::CPAN::Meta" => "0"; requires "Test::More" => "0"; requires "Test::Pod" => "1.41"; requires "Test::Pod::Coverage" => "1.08"; requires "Test::Spelling" => "0.12"; requires "Test::Version" => "1"; requires "blib" => "1.01"; requires "perl" => "5.006"; }; Dist-Zilla-Plugin-CheckExtraTests-0.029/dist.ini000644 000765 000024 00000000437 12720704762 021707 0ustar00davidstaff000000 000000 name = Dist-Zilla-Plugin-CheckExtraTests author = David Golden author = Jesse Luehrs license = Apache_2_0 copyright_holder = David Golden [@DAGOLDEN] :version = 0.072 stopwords = xt stopwords = prerelease Dist-Zilla-Plugin-CheckExtraTests-0.029/lib/000755 000765 000024 00000000000 12720704762 021005 5ustar00davidstaff000000 000000 Dist-Zilla-Plugin-CheckExtraTests-0.029/LICENSE000644 000765 000024 00000026354 12720704762 021256 0ustar00davidstaff000000 000000 This software is Copyright (c) 2016 by David Golden. This is free software, licensed under: The Apache License, Version 2.0, January 2004 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Dist-Zilla-Plugin-CheckExtraTests-0.029/Makefile.PL000644 000765 000024 00000004331 12720704762 022212 0ustar00davidstaff000000 000000 # This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v6.005. use strict; use warnings; use 5.006; use ExtUtils::MakeMaker 6.17; my %WriteMakefileArgs = ( "ABSTRACT" => "check xt tests before release", "AUTHOR" => "David Golden , Jesse Luehrs ", "CONFIGURE_REQUIRES" => { "ExtUtils::MakeMaker" => "6.17" }, "DISTNAME" => "Dist-Zilla-Plugin-CheckExtraTests", "LICENSE" => "apache", "MIN_PERL_VERSION" => "5.006", "NAME" => "Dist::Zilla::Plugin::CheckExtraTests", "PREREQ_PM" => { "App::Prove" => "3.00", "Archive::Tar" => 0, "Dist::Zilla" => "4.3", "Dist::Zilla::App" => 0, "Dist::Zilla::Role::BeforeRelease" => 0, "Dist::Zilla::Role::TestRunner" => 0, "File::pushd" => 0, "Moose" => 2, "Path::Iterator::Rule" => 0, "Path::Tiny" => "0.013", "namespace::autoclean" => "0.09", "strict" => 0, "warnings" => 0 }, "TEST_REQUIRES" => { "Capture::Tiny" => 0, "Dist::Zilla::App::Tester" => 0, "ExtUtils::MakeMaker" => 0, "File::Spec" => 0, "Params::Util" => 0, "Sub::Exporter" => 0, "Test::More" => "0.88", "Test::Requires" => 0, "Try::Tiny" => 0, "lib" => 0 }, "VERSION" => "0.029", "test" => { "TESTS" => "t/*.t" } ); my %FallbackPrereqs = ( "App::Prove" => "3.00", "Archive::Tar" => 0, "Capture::Tiny" => 0, "Dist::Zilla" => "4.3", "Dist::Zilla::App" => 0, "Dist::Zilla::App::Tester" => 0, "Dist::Zilla::Role::BeforeRelease" => 0, "Dist::Zilla::Role::TestRunner" => 0, "ExtUtils::MakeMaker" => 0, "File::Spec" => 0, "File::pushd" => 0, "Moose" => 2, "Params::Util" => 0, "Path::Iterator::Rule" => 0, "Path::Tiny" => "0.013", "Sub::Exporter" => 0, "Test::More" => "0.88", "Test::Requires" => 0, "Try::Tiny" => 0, "lib" => 0, "namespace::autoclean" => "0.09", "strict" => 0, "warnings" => 0 ); unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) { delete $WriteMakefileArgs{TEST_REQUIRES}; delete $WriteMakefileArgs{BUILD_REQUIRES}; $WriteMakefileArgs{PREREQ_PM} = \%FallbackPrereqs; } delete $WriteMakefileArgs{CONFIGURE_REQUIRES} unless eval { ExtUtils::MakeMaker->VERSION(6.52) }; WriteMakefile(%WriteMakefileArgs); Dist-Zilla-Plugin-CheckExtraTests-0.029/MANIFEST000644 000765 000024 00000001711 12720704762 021370 0ustar00davidstaff000000 000000 # This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.005. CONTRIBUTING.mkdn Changes LICENSE MANIFEST META.json META.yml Makefile.PL README corpus/DZ/Changes corpus/DZ/dist.ini corpus/DZ/foobar corpus/DZ/lib/Foo.pm corpus/RunXT/Changes corpus/RunXT/Makefile.PL corpus/RunXT/dist.ini corpus/RunXT/foobar corpus/RunXT/lib/Foo.pm corpus/RunXT/t/foo.t corpus/WithBlib/Changes corpus/WithBlib/Makefile.PL corpus/WithBlib/dist.ini corpus/WithBlib/foobar corpus/WithBlib/lib/Foo.pm cpanfile dist.ini lib/Dist/Zilla/App/Command/xtest.pm lib/Dist/Zilla/Plugin/CheckExtraTests.pm lib/Dist/Zilla/Plugin/RunExtraTests.pm perlcritic.rc t/00-report-prereqs.dd t/00-report-prereqs.t t/checkxt.t t/lib/Test/DZil.pm t/runxt.t t/withblib.t tidyall.ini xt/author/00-compile.t xt/author/critic.t xt/author/pod-coverage.t xt/author/pod-spell.t xt/author/pod-syntax.t xt/author/test-version.t xt/release/distmeta.t xt/release/minimum-version.t xt/release/portability.t Dist-Zilla-Plugin-CheckExtraTests-0.029/META.json000644 000765 000024 00000007656 12720704762 021676 0ustar00davidstaff000000 000000 { "abstract" : "check xt tests before release", "author" : [ "David Golden ", "Jesse Luehrs " ], "dynamic_config" : 0, "generated_by" : "Dist::Zilla version 6.005, CPAN::Meta::Converter version 2.150005", "license" : [ "apache_2_0" ], "meta-spec" : { "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", "version" : 2 }, "name" : "Dist-Zilla-Plugin-CheckExtraTests", "no_index" : { "directory" : [ "corpus", "examples", "t", "xt" ], "package" : [ "DB" ] }, "prereqs" : { "configure" : { "requires" : { "ExtUtils::MakeMaker" : "6.17", "perl" : "5.006" }, "suggests" : { "JSON::PP" : "2.27300" } }, "develop" : { "requires" : { "Dist::Zilla" : "5", "Dist::Zilla::PluginBundle::DAGOLDEN" : "0.072", "English" : "0", "File::Spec" : "0", "File::Temp" : "0", "IO::Handle" : "0", "IPC::Open3" : "0", "Pod::Coverage::TrustPod" : "0", "Pod::Wordlist" : "0", "Software::License::Apache_2_0" : "0", "Test::CPAN::Meta" : "0", "Test::More" : "0", "Test::Pod" : "1.41", "Test::Pod::Coverage" : "1.08", "Test::Spelling" : "0.12", "Test::Version" : "1", "blib" : "1.01", "perl" : "5.006" } }, "runtime" : { "requires" : { "App::Prove" : "3.00", "Archive::Tar" : "0", "Dist::Zilla" : "4.3", "Dist::Zilla::App" : "0", "Dist::Zilla::Role::BeforeRelease" : "0", "Dist::Zilla::Role::TestRunner" : "0", "File::pushd" : "0", "Moose" : "2", "Path::Iterator::Rule" : "0", "Path::Tiny" : "0.013", "namespace::autoclean" : "0.09", "perl" : "5.006", "strict" : "0", "warnings" : "0" } }, "test" : { "recommends" : { "CPAN::Meta" : "2.120900" }, "requires" : { "Capture::Tiny" : "0", "Dist::Zilla::App::Tester" : "0", "ExtUtils::MakeMaker" : "0", "File::Spec" : "0", "Params::Util" : "0", "Sub::Exporter" : "0", "Test::More" : "0.88", "Test::Requires" : "0", "Try::Tiny" : "0", "lib" : "0", "perl" : "5.006" } } }, "provides" : { "Dist::Zilla::App::Command::xtest" : { "file" : "lib/Dist/Zilla/App/Command/xtest.pm", "version" : "0.029" }, "Dist::Zilla::Plugin::CheckExtraTests" : { "file" : "lib/Dist/Zilla/Plugin/CheckExtraTests.pm", "version" : "0.029" }, "Dist::Zilla::Plugin::RunExtraTests" : { "file" : "lib/Dist/Zilla/Plugin/RunExtraTests.pm", "version" : "0.029" } }, "release_status" : "stable", "resources" : { "bugtracker" : { "web" : "https://github.com/dagolden/Dist-Zilla-Plugin-CheckExtraTests/issues" }, "homepage" : "https://github.com/dagolden/Dist-Zilla-Plugin-CheckExtraTests", "repository" : { "type" : "git", "url" : "https://github.com/dagolden/Dist-Zilla-Plugin-CheckExtraTests.git", "web" : "https://github.com/dagolden/Dist-Zilla-Plugin-CheckExtraTests" } }, "version" : "0.029", "x_authority" : "cpan:DAGOLDEN", "x_contributors" : [ "Christopher J. Madsen ", "David Golden ", "David H. Adler ", "Karen Etheridge ", "Kent Fredric ", "Olivier Mengu\u00e9 ", "Ricardo Signes " ] } Dist-Zilla-Plugin-CheckExtraTests-0.029/META.yml000644 000765 000024 00000003736 12720704762 021521 0ustar00davidstaff000000 000000 --- abstract: 'check xt tests before release' author: - 'David Golden ' - 'Jesse Luehrs ' build_requires: Capture::Tiny: '0' Dist::Zilla::App::Tester: '0' ExtUtils::MakeMaker: '0' File::Spec: '0' Params::Util: '0' Sub::Exporter: '0' Test::More: '0.88' Test::Requires: '0' Try::Tiny: '0' lib: '0' perl: '5.006' configure_requires: ExtUtils::MakeMaker: '6.17' perl: '5.006' dynamic_config: 0 generated_by: 'Dist::Zilla version 6.005, CPAN::Meta::Converter version 2.150005' license: apache meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html version: '1.4' name: Dist-Zilla-Plugin-CheckExtraTests no_index: directory: - corpus - examples - t - xt package: - DB provides: Dist::Zilla::App::Command::xtest: file: lib/Dist/Zilla/App/Command/xtest.pm version: '0.029' Dist::Zilla::Plugin::CheckExtraTests: file: lib/Dist/Zilla/Plugin/CheckExtraTests.pm version: '0.029' Dist::Zilla::Plugin::RunExtraTests: file: lib/Dist/Zilla/Plugin/RunExtraTests.pm version: '0.029' requires: App::Prove: '3.00' Archive::Tar: '0' Dist::Zilla: '4.3' Dist::Zilla::App: '0' Dist::Zilla::Role::BeforeRelease: '0' Dist::Zilla::Role::TestRunner: '0' File::pushd: '0' Moose: '2' Path::Iterator::Rule: '0' Path::Tiny: '0.013' namespace::autoclean: '0.09' perl: '5.006' strict: '0' warnings: '0' resources: bugtracker: https://github.com/dagolden/Dist-Zilla-Plugin-CheckExtraTests/issues homepage: https://github.com/dagolden/Dist-Zilla-Plugin-CheckExtraTests repository: https://github.com/dagolden/Dist-Zilla-Plugin-CheckExtraTests.git version: '0.029' x_authority: cpan:DAGOLDEN x_contributors: - 'Christopher J. Madsen ' - 'David Golden ' - 'David H. Adler ' - 'Karen Etheridge ' - 'Kent Fredric ' - 'Olivier Mengué ' - 'Ricardo Signes ' Dist-Zilla-Plugin-CheckExtraTests-0.029/perlcritic.rc000644 000765 000024 00000001166 12720704762 022731 0ustar00davidstaff000000 000000 severity = 5 verbose = 8 [Variables::ProhibitPunctuationVars] allow = $@ $! [TestingAndDebugging::ProhibitNoStrict] allow = refs [Variables::ProhibitEvilVariables] variables = $DB::single # Turn these off [-BuiltinFunctions::ProhibitStringyEval] [-ControlStructures::ProhibitPostfixControls] [-ControlStructures::ProhibitUnlessBlocks] [-Documentation::RequirePodSections] [-InputOutput::ProhibitInteractiveTest] [-References::ProhibitDoubleSigils] [-RegularExpressions::RequireExtendedFormatting] [-InputOutput::ProhibitTwoArgOpen] [-Modules::ProhibitEvilModules] # Turn this on [Lax::ProhibitStringyEval::ExceptForRequire] Dist-Zilla-Plugin-CheckExtraTests-0.029/README000644 000765 000024 00000003470 12720704762 021123 0ustar00davidstaff000000 000000 NAME Dist::Zilla::Plugin::CheckExtraTests - check xt tests before release VERSION version 0.029 SYNOPSIS In your dist.ini: [CheckExtraTests] DESCRIPTION Runs all xt tests before release. Dies if any fail. Sets RELEASE_TESTING and AUTHOR_TESTING. If you use Dist::Zilla::Plugin::TestRelease, you should consider using Dist::Zilla::Plugin::RunExtraTests instead, which enables xt tests to run as part of "[TestRelease]" and is thus a bit more efficient as the distribution is only built once for testing. ATTRIBUTES default_jobs This attribute is the default value that should be used as the "jobs" argument for prerelease tests. SEE ALSO * Dist::Zilla SUPPORT Bugs / Feature Requests Please report any bugs or feature requests through the issue tracker at . You will be notified automatically of any progress on your issue. Source Code This is open source software. The code repository is available for public review and contribution under the terms of the license. git clone https://github.com/dagolden/Dist-Zilla-Plugin-CheckExtraTests.git AUTHORS * David Golden * Jesse Luehrs CONTRIBUTORS * Christopher J. Madsen * David Golden * David H. Adler * Karen Etheridge * Kent Fredric * Olivier Mengué * Ricardo Signes COPYRIGHT AND LICENSE This software is Copyright (c) 2016 by David Golden. This is free software, licensed under: The Apache License, Version 2.0, January 2004 Dist-Zilla-Plugin-CheckExtraTests-0.029/t/000755 000765 000024 00000000000 12720704762 020502 5ustar00davidstaff000000 000000 Dist-Zilla-Plugin-CheckExtraTests-0.029/tidyall.ini000644 000765 000024 00000000240 12720704762 022376 0ustar00davidstaff000000 000000 ; Install Code::TidyAll ; run "tidyall -a" to tidy all files ; run "tidyall -g" to tidy only files modified from git [PerlTidy] select = {lib,t}/**/*.{pl,pm,t} Dist-Zilla-Plugin-CheckExtraTests-0.029/xt/000755 000765 000024 00000000000 12720704762 020672 5ustar00davidstaff000000 000000 Dist-Zilla-Plugin-CheckExtraTests-0.029/xt/author/000755 000765 000024 00000000000 12720704762 022174 5ustar00davidstaff000000 000000 Dist-Zilla-Plugin-CheckExtraTests-0.029/xt/release/000755 000765 000024 00000000000 12720704762 022312 5ustar00davidstaff000000 000000 Dist-Zilla-Plugin-CheckExtraTests-0.029/xt/release/distmeta.t000644 000765 000024 00000000172 12720704762 024311 0ustar00davidstaff000000 000000 #!perl # This file was automatically generated by Dist::Zilla::Plugin::MetaTests. use Test::CPAN::Meta; meta_yaml_ok(); Dist-Zilla-Plugin-CheckExtraTests-0.029/xt/release/minimum-version.t000644 000765 000024 00000000266 12720704762 025641 0ustar00davidstaff000000 000000 #!perl use Test::More; eval "use Test::MinimumVersion"; plan skip_all => "Test::MinimumVersion required for testing minimum versions" if $@; all_minimum_version_ok( qq{5.010} ); Dist-Zilla-Plugin-CheckExtraTests-0.029/xt/release/portability.t000644 000765 000024 00000000332 12720704762 025037 0ustar00davidstaff000000 000000 #!perl use strict; use warnings; use Test::More; eval 'use Test::Portability::Files'; plan skip_all => 'Test::Portability::Files required for testing portability' if $@; options(test_one_dot => 0); run_tests(); Dist-Zilla-Plugin-CheckExtraTests-0.029/xt/author/00-compile.t000644 000765 000024 00000002523 12720704762 024230 0ustar00davidstaff000000 000000 use 5.006; use strict; use warnings; # this test was generated with Dist::Zilla::Plugin::Test::Compile 2.054 use Test::More; plan tests => 4; my @module_files = ( 'Dist/Zilla/App/Command/xtest.pm', 'Dist/Zilla/Plugin/CheckExtraTests.pm', 'Dist/Zilla/Plugin/RunExtraTests.pm' ); # fake home for cpan-testers use File::Temp; local $ENV{HOME} = File::Temp::tempdir( CLEANUP => 1 ); my $inc_switch = -d 'blib' ? '-Mblib' : '-Ilib'; use File::Spec; use IPC::Open3; use IO::Handle; open my $stdin, '<', File::Spec->devnull or die "can't open devnull: $!"; my @warnings; for my $lib (@module_files) { # see L my $stderr = IO::Handle->new; my $pid = open3($stdin, '>&STDERR', $stderr, $^X, $inc_switch, '-e', "require q[$lib]"); binmode $stderr, ':crlf' if $^O eq 'MSWin32'; my @_warnings = <$stderr>; waitpid($pid, 0); is($?, 0, "$lib loaded ok"); shift @_warnings if @_warnings and $_warnings[0] =~ /^Using .*\bblib/ and not eval { require blib; blib->VERSION('1.01') }; if (@_warnings) { warn @_warnings; push @warnings, @_warnings; } } is(scalar(@warnings), 0, 'no warnings found') or diag 'got warnings: ', ( Test::More->can('explain') ? Test::More::explain(\@warnings) : join("\n", '', @warnings) ); Dist-Zilla-Plugin-CheckExtraTests-0.029/xt/author/critic.t000644 000765 000024 00000000435 12720704762 023640 0ustar00davidstaff000000 000000 #!perl use strict; use warnings; use Test::More; use English qw(-no_match_vars); eval "use Test::Perl::Critic"; plan skip_all => 'Test::Perl::Critic required to criticise code' if $@; Test::Perl::Critic->import( -profile => "perlcritic.rc" ) if -e "perlcritic.rc"; all_critic_ok(); Dist-Zilla-Plugin-CheckExtraTests-0.029/xt/author/pod-coverage.t000644 000765 000024 00000000334 12720704762 024734 0ustar00davidstaff000000 000000 #!perl # This file was automatically generated by Dist::Zilla::Plugin::PodCoverageTests. use Test::Pod::Coverage 1.08; use Pod::Coverage::TrustPod; all_pod_coverage_ok({ coverage_class => 'Pod::Coverage::TrustPod' }); Dist-Zilla-Plugin-CheckExtraTests-0.029/xt/author/pod-spell.t000644 000765 000024 00000000737 12720704762 024267 0ustar00davidstaff000000 000000 use strict; use warnings; use Test::More; # generated by Dist::Zilla::Plugin::Test::PodSpelling 2.007000 use Test::Spelling 0.12; use Pod::Wordlist; add_stopwords(); all_pod_files_spelling_ok( qw( bin lib ) ); __DATA__ xt prerelease David Golden dagolden Jesse Luehrs doy Christopher Madsen cjm xdg Adler dha Karen Etheridge ether Kent Fredric kentfredric Olivier Mengué dolmen Ricardo Signes rjbs lib Dist Zilla App Command xtest Plugin CheckExtraTests RunExtraTests Dist-Zilla-Plugin-CheckExtraTests-0.029/xt/author/pod-syntax.t000644 000765 000024 00000000252 12720704762 024466 0ustar00davidstaff000000 000000 #!perl # This file was automatically generated by Dist::Zilla::Plugin::PodSyntaxTests. use strict; use warnings; use Test::More; use Test::Pod 1.41; all_pod_files_ok(); Dist-Zilla-Plugin-CheckExtraTests-0.029/xt/author/test-version.t000644 000765 000024 00000000637 12720704762 025031 0ustar00davidstaff000000 000000 use strict; use warnings; use Test::More; # generated by Dist::Zilla::Plugin::Test::Version 1.09 use Test::Version; my @imports = qw( version_all_ok ); my $params = { is_strict => 0, has_version => 1, multiple => 0, }; push @imports, $params if version->parse( $Test::Version::VERSION ) >= version->parse('1.002'); Test::Version->import(@imports); version_all_ok; done_testing; Dist-Zilla-Plugin-CheckExtraTests-0.029/t/00-report-prereqs.dd000644 000765 000024 00000007033 12720704762 024225 0ustar00davidstaff000000 000000 do { my $x = { 'configure' => { 'requires' => { 'ExtUtils::MakeMaker' => '6.17', 'perl' => '5.006' }, 'suggests' => { 'JSON::PP' => '2.27300' } }, 'develop' => { 'requires' => { 'Dist::Zilla' => '5', 'Dist::Zilla::PluginBundle::DAGOLDEN' => '0.072', 'English' => '0', 'File::Spec' => '0', 'File::Temp' => '0', 'IO::Handle' => '0', 'IPC::Open3' => '0', 'Pod::Coverage::TrustPod' => '0', 'Pod::Wordlist' => '0', 'Software::License::Apache_2_0' => '0', 'Test::CPAN::Meta' => '0', 'Test::More' => '0', 'Test::Pod' => '1.41', 'Test::Pod::Coverage' => '1.08', 'Test::Spelling' => '0.12', 'Test::Version' => '1', 'blib' => '1.01', 'perl' => '5.006' } }, 'runtime' => { 'requires' => { 'App::Prove' => '3.00', 'Archive::Tar' => '0', 'Dist::Zilla' => '4.3', 'Dist::Zilla::App' => '0', 'Dist::Zilla::Role::BeforeRelease' => '0', 'Dist::Zilla::Role::TestRunner' => '0', 'File::pushd' => '0', 'Moose' => '2', 'Path::Iterator::Rule' => '0', 'Path::Tiny' => '0.013', 'namespace::autoclean' => '0.09', 'perl' => '5.006', 'strict' => '0', 'warnings' => '0' } }, 'test' => { 'recommends' => { 'CPAN::Meta' => '2.120900' }, 'requires' => { 'Capture::Tiny' => '0', 'Dist::Zilla::App::Tester' => '0', 'ExtUtils::MakeMaker' => '0', 'File::Spec' => '0', 'Params::Util' => '0', 'Sub::Exporter' => '0', 'Test::More' => '0.88', 'Test::Requires' => '0', 'Try::Tiny' => '0', 'lib' => '0', 'perl' => '5.006' } } }; $x; }Dist-Zilla-Plugin-CheckExtraTests-0.029/t/00-report-prereqs.t000644 000765 000024 00000012731 12720704762 024102 0ustar00davidstaff000000 000000 #!perl use strict; use warnings; # This test was generated by Dist::Zilla::Plugin::Test::ReportPrereqs 0.024 use Test::More tests => 1; use ExtUtils::MakeMaker; use File::Spec; # from $version::LAX my $lax_version_re = qr/(?: undef | (?: (?:[0-9]+) (?: \. | (?:\.[0-9]+) (?:_[0-9]+)? )? | (?:\.[0-9]+) (?:_[0-9]+)? ) | (?: v (?:[0-9]+) (?: (?:\.[0-9]+)+ (?:_[0-9]+)? )? | (?:[0-9]+)? (?:\.[0-9]+){2,} (?:_[0-9]+)? ) )/x; # hide optional CPAN::Meta modules from prereq scanner # and check if they are available my $cpan_meta = "CPAN::Meta"; my $cpan_meta_pre = "CPAN::Meta::Prereqs"; my $HAS_CPAN_META = eval "require $cpan_meta; $cpan_meta->VERSION('2.120900')" && eval "require $cpan_meta_pre"; ## no critic # Verify requirements? my $DO_VERIFY_PREREQS = 1; sub _max { my $max = shift; $max = ( $_ > $max ) ? $_ : $max for @_; return $max; } sub _merge_prereqs { my ($collector, $prereqs) = @_; # CPAN::Meta::Prereqs object if (ref $collector eq $cpan_meta_pre) { return $collector->with_merged_prereqs( CPAN::Meta::Prereqs->new( $prereqs ) ); } # Raw hashrefs for my $phase ( keys %$prereqs ) { for my $type ( keys %{ $prereqs->{$phase} } ) { for my $module ( keys %{ $prereqs->{$phase}{$type} } ) { $collector->{$phase}{$type}{$module} = $prereqs->{$phase}{$type}{$module}; } } } return $collector; } my @include = qw( ); my @exclude = qw( ); # Add static prereqs to the included modules list my $static_prereqs = do 't/00-report-prereqs.dd'; # Merge all prereqs (either with ::Prereqs or a hashref) my $full_prereqs = _merge_prereqs( ( $HAS_CPAN_META ? $cpan_meta_pre->new : {} ), $static_prereqs ); # Add dynamic prereqs to the included modules list (if we can) my ($source) = grep { -f } 'MYMETA.json', 'MYMETA.yml'; if ( $source && $HAS_CPAN_META ) { if ( my $meta = eval { CPAN::Meta->load_file($source) } ) { $full_prereqs = _merge_prereqs($full_prereqs, $meta->prereqs); } } else { $source = 'static metadata'; } my @full_reports; my @dep_errors; my $req_hash = $HAS_CPAN_META ? $full_prereqs->as_string_hash : $full_prereqs; # Add static includes into a fake section for my $mod (@include) { $req_hash->{other}{modules}{$mod} = 0; } for my $phase ( qw(configure build test runtime develop other) ) { next unless $req_hash->{$phase}; next if ($phase eq 'develop' and not $ENV{AUTHOR_TESTING}); for my $type ( qw(requires recommends suggests conflicts modules) ) { next unless $req_hash->{$phase}{$type}; my $title = ucfirst($phase).' '.ucfirst($type); my @reports = [qw/Module Want Have/]; for my $mod ( sort keys %{ $req_hash->{$phase}{$type} } ) { next if $mod eq 'perl'; next if grep { $_ eq $mod } @exclude; my $file = $mod; $file =~ s{::}{/}g; $file .= ".pm"; my ($prefix) = grep { -e File::Spec->catfile($_, $file) } @INC; my $want = $req_hash->{$phase}{$type}{$mod}; $want = "undef" unless defined $want; $want = "any" if !$want && $want == 0; my $req_string = $want eq 'any' ? 'any version required' : "version '$want' required"; if ($prefix) { my $have = MM->parse_version( File::Spec->catfile($prefix, $file) ); $have = "undef" unless defined $have; push @reports, [$mod, $want, $have]; if ( $DO_VERIFY_PREREQS && $HAS_CPAN_META && $type eq 'requires' ) { if ( $have !~ /\A$lax_version_re\z/ ) { push @dep_errors, "$mod version '$have' cannot be parsed ($req_string)"; } elsif ( ! $full_prereqs->requirements_for( $phase, $type )->accepts_module( $mod => $have ) ) { push @dep_errors, "$mod version '$have' is not in required range '$want'"; } } } else { push @reports, [$mod, $want, "missing"]; if ( $DO_VERIFY_PREREQS && $type eq 'requires' ) { push @dep_errors, "$mod is not installed ($req_string)"; } } } if ( @reports ) { push @full_reports, "=== $title ===\n\n"; my $ml = _max( map { length $_->[0] } @reports ); my $wl = _max( map { length $_->[1] } @reports ); my $hl = _max( map { length $_->[2] } @reports ); if ($type eq 'modules') { splice @reports, 1, 0, ["-" x $ml, "", "-" x $hl]; push @full_reports, map { sprintf(" %*s %*s\n", -$ml, $_->[0], $hl, $_->[2]) } @reports; } else { splice @reports, 1, 0, ["-" x $ml, "-" x $wl, "-" x $hl]; push @full_reports, map { sprintf(" %*s %*s %*s\n", -$ml, $_->[0], $wl, $_->[1], $hl, $_->[2]) } @reports; } push @full_reports, "\n"; } } } if ( @full_reports ) { diag "\nVersions for all modules listed in $source (including optional ones):\n\n", @full_reports; } if ( @dep_errors ) { diag join("\n", "\n*** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING ***\n", "The following REQUIRED prerequisites were not satisfied:\n", @dep_errors, "\n" ); } pass; # vim: ts=4 sts=4 sw=4 et: Dist-Zilla-Plugin-CheckExtraTests-0.029/t/checkxt.t000644 000765 000024 00000002750 12720704762 022324 0ustar00davidstaff000000 000000 #!perl use strict; use warnings; use lib 't/lib'; use Capture::Tiny qw/capture/; use Dist::Zilla::App::Tester; use Test::DZil; use Test::Requires { 'Dist::Zilla::Tester' => 4.300017 }; use Test::More 0.88; use Try::Tiny; ## XT FILE GUTS my $xt_fail = << 'HERE'; use Test::More tests => 1; fail("doomed to fail"); HERE my $xt_pass = << 'HERE'; use Test::More tests => 1; pass("destined to succeed"); HERE ## Tests start here { my $tzil; try { $tzil = Dist::Zilla::Tester->from_config( { dist_root => 'corpus/DZ' }, { add_files => { 'source/xt/checkme.t' => $xt_fail, }, }, ); ok( $tzil, "created test dist that will fail xt tests" ); capture { $tzil->release }; } catch { my $err = $_; like( $err, qr/Fatal errors in xt/i, "CheckExtraTests caught xt test failure", ); ok( !grep( {/fake release happen/i} @{ $tzil->log_messages } ), "FakeRelease did not happen", ); } } { my $tzil = Dist::Zilla::Tester->from_config( { dist_root => 'corpus/DZ' }, { add_files => { 'source/xt/checkme.t' => $xt_pass, }, }, ); ok( $tzil, "created test dist that will pass xt tests" ); capture { $tzil->release }; ok( !grep( {/Fatal errors in xt/i} @{ $tzil->log_messages } ), "No xt errors logged", ); ok( grep( {/fake release happen/i} @{ $tzil->log_messages } ), "FakeRelease executed", ); } done_testing; Dist-Zilla-Plugin-CheckExtraTests-0.029/t/lib/000755 000765 000024 00000000000 12720704762 021250 5ustar00davidstaff000000 000000 Dist-Zilla-Plugin-CheckExtraTests-0.029/t/runxt.t000644 000765 000024 00000005626 12720704762 022060 0ustar00davidstaff000000 000000 #!perl use strict; use warnings; use lib 't/lib'; use Capture::Tiny qw/capture/; use Test::More 0.88; use Try::Tiny; use Test::Requires { 'Dist::Zilla::Tester' => 4.300017 }; ## XT FILE GUTS my $xt_fail = << 'HERE'; use Test::More tests => 1; fail("doomed to fail"); HERE local $ENV{RELEASE_TESTING}; local $ENV{AUTHOR_TESTING}; local $ENV{AUTOMATED_TESTING}; { my $tzil = Dist::Zilla::Tester->from_config( { dist_root => 'corpus/RunXT' }, { add_files => { 'source/xt/author/checkme.t' => $xt_fail, }, }, ); ok( $tzil, "created test dist" ); $tzil->chrome->logger->set_debug(1); try { capture { $tzil->test }; } catch { my $err = $_; fail( $err ); diag 'got log messages: ', explain $tzil->log_messages; }; ok( grep( {/all's well/i} @{ $tzil->log_messages } ), "xt tests aren't run without explicitly asking for them", ); } { my $tzil = Dist::Zilla::Tester->from_config( { dist_root => 'corpus/RunXT' }, { add_files => { 'source/xt/author/checkme.t' => $xt_fail, }, }, ); ok( $tzil, "created test dist" ); $tzil->chrome->logger->set_debug(1); local $ENV{AUTHOR_TESTING} = 1; try { capture { $tzil->test }; } catch { my $err = $_; like( $err, qr/Fatal errors in xt/i, "RunExtraTests caught xt test failure in author test", ); } } { my $tzil = Dist::Zilla::Tester->from_config( { dist_root => 'corpus/RunXT' }, ); ok( $tzil, "created test dist" ); $tzil->chrome->logger->set_debug(1); local $ENV{AUTHOR_TESTING} = 1; try { capture { $tzil->test }; } catch { my $err = $_; fail( $err ); diag 'got log messages: ', explain $tzil->log_messages; }; ok( grep( {/all's well/i} @{ $tzil->log_messages } ), "handles nonexistent test dirs", ); } { my $tzil = Dist::Zilla::Tester->from_config( { dist_root => 'corpus/RunXT' }, { add_files => { 'source/xt/bleh' => 'this is not a runnable test!', }, }, ); ok( $tzil, "created test dist" ); $tzil->chrome->logger->set_debug(1); local $ENV{AUTHOR_TESTING} = 1; try { capture { $tzil->test }; } catch { my $err = $_; fail( $err ); diag 'got log messages: ', explain $tzil->log_messages; }; ok( grep( {/all's well/i} @{ $tzil->log_messages } ), "handles non-perl files in xt/", ); } { my $tzil = Dist::Zilla::Tester->from_config( { dist_root => 'corpus/RunXT' }, { add_files => { 'source/xt/checkme.t' => $xt_fail, }, }, ); ok( $tzil, "created test dist" ); $tzil->chrome->logger->set_debug(1); try { capture { $tzil->test }; } catch { my $err = $_; like( $err, qr/Fatal errors in xt/i, "RunExtraTests caught xt test failure in root directory", ); } } done_testing; Dist-Zilla-Plugin-CheckExtraTests-0.029/t/withblib.t000644 000765 000024 00000001543 12720704762 022476 0ustar00davidstaff000000 000000 #!perl use strict; use warnings; use lib 't/lib'; use Capture::Tiny qw/capture/; use Dist::Zilla::App::Tester; use Test::DZil; use Test::Requires { 'Dist::Zilla::Tester' => 4.300017 }; use Test::More 0.88; use Try::Tiny; ## XT FILE GUTS my $xt_file = << 'HERE'; use Test::More tests => 1; use Foo; is(Foo::foo(), 456); HERE ## Tests start here { my $tzil = Dist::Zilla::Tester->from_config( { dist_root => 'corpus/WithBlib' }, { add_files => { 'source/xt/checkme.t' => $xt_file, }, }, ); ok( $tzil, "created test dist that depends on the 'make' step" ); capture { $tzil->release }; ok( !grep( {/Fatal errors in xt/i} @{ $tzil->log_messages } ), "No xt errors logged", ); ok( grep( {/fake release happen/i} @{ $tzil->log_messages } ), "FakeRelease executed", ); } done_testing; Dist-Zilla-Plugin-CheckExtraTests-0.029/t/lib/Test/000755 000765 000024 00000000000 12720704762 022167 5ustar00davidstaff000000 000000 Dist-Zilla-Plugin-CheckExtraTests-0.029/t/lib/Test/DZil.pm000644 000765 000024 00000004000 12720704762 023361 0ustar00davidstaff000000 000000 use strict; use warnings; package Test::DZil; use Params::Util qw(_HASH0); use Sub::Exporter -setup => { exports => [ dist_ini => \'_dist_ini', simple_ini => \'_simple_ini', ], groups => [ default => [qw(dist_ini simple_ini)] ], }; sub _build_ini_builder { my ($starting_core) = @_; $starting_core ||= {}; sub { my (@arg) = @_; my $new_core = _HASH0( $arg[0] ) ? shift(@arg) : {}; my $core_config = { %$starting_core, %$new_core }; my $config = ''; for my $key ( keys %$core_config ) { my @values = ref $core_config->{$key} ? @{ $core_config->{$key} } : $core_config->{$key}; $config .= "$key = $_\n" for grep { defined } @values; } $config .= "\n" if length $config; for my $line (@arg) { my @plugin = ref $line ? @$line : ( $line, {} ); my $moniker = shift @plugin; my $name = _HASH0( $plugin[0] ) ? undef : shift @plugin; my $payload = shift(@plugin) || {}; die "TOO MANY ARGS TO PLUGIN GAHLGHALAGH" if @plugin; $config .= '[' . $moniker; $config .= ' / ' . $name if defined $name; $config .= "]\n"; for my $key ( keys %$payload ) { my @values = ref $payload->{$key} ? @{ $payload->{$key} } : $payload->{$key}; $config .= "$key = $_\n" for @values; } $config .= "\n"; } return $config; } } sub _dist_ini { _build_ini_builder; } sub _simple_ini { _build_ini_builder( { name => 'DZT-Sample', abstract => 'Sample DZ Dist', version => '0.001', author => 'E. Xavier Ample ', license => 'Perl_5', copyright_holder => 'E. Xavier Ample', } ); } 1; Dist-Zilla-Plugin-CheckExtraTests-0.029/lib/Dist/000755 000765 000024 00000000000 12720704762 021710 5ustar00davidstaff000000 000000 Dist-Zilla-Plugin-CheckExtraTests-0.029/lib/Dist/Zilla/000755 000765 000024 00000000000 12720704762 022763 5ustar00davidstaff000000 000000 Dist-Zilla-Plugin-CheckExtraTests-0.029/lib/Dist/Zilla/App/000755 000765 000024 00000000000 12720704762 023503 5ustar00davidstaff000000 000000 Dist-Zilla-Plugin-CheckExtraTests-0.029/lib/Dist/Zilla/Plugin/000755 000765 000024 00000000000 12720704762 024221 5ustar00davidstaff000000 000000 Dist-Zilla-Plugin-CheckExtraTests-0.029/lib/Dist/Zilla/Plugin/CheckExtraTests.pm000644 000765 000024 00000010473 12720704762 027630 0ustar00davidstaff000000 000000 use strict; use warnings; package Dist::Zilla::Plugin::CheckExtraTests; # ABSTRACT: check xt tests before release our $VERSION = '0.029'; # Dependencies use Dist::Zilla 4.3 (); use Moose 2; use namespace::autoclean 0.09; # extends, roles, attributes, etc. with 'Dist::Zilla::Role::BeforeRelease'; #pod =attr default_jobs #pod #pod This attribute is the default value that should be used as the C argument #pod for prerelease tests. #pod #pod =cut has default_jobs => ( is => 'ro', isa => 'Int', # non-negative default => 1, ); # methods sub before_release { my ( $self, $tgz ) = @_; $tgz = $tgz->absolute; { require Path::Tiny; Path::Tiny->VERSION(0.013) } my $build_root = Path::Tiny::path( $self->zilla->root )->child('.build'); $build_root->mkpath unless -d $build_root; my $tmpdir = Path::Tiny->tempdir( DIR => $build_root ); $self->log("Extracting $tgz to $tmpdir"); require Archive::Tar; my @files = do { my $wd = File::pushd::pushd($tmpdir); Archive::Tar->extract_archive("$tgz"); }; $self->log_fatal( [ "Failed to extract archive: %s", Archive::Tar->error ] ) unless @files; # Run tests on the extracted tarball: my $target = $tmpdir->child( $self->zilla->dist_basename ); local $ENV{RELEASE_TESTING} = 1; local $ENV{AUTHOR_TESTING} = 1; { # chdir in require File::pushd; my $wd = File::pushd::pushd($target); # make my @builders = @{ $self->zilla->plugins_with( -BuildRunner ) }; die "no BuildRunner plugins specified" unless @builders; $_->build for @builders; my $jobs = $self->default_jobs; my @v = $self->zilla->logger->get_debug ? ('-v') : (); require App::Prove; App::Prove->VERSION('3.00'); my $app = App::Prove->new; $app->process_args( '-j', $jobs, @v, qw/-r -b xt/ ); $app->run or $self->log_fatal("Fatal errors in xt tests"); } $self->log("all's well; removing $tmpdir"); $tmpdir->remove_tree( { safe => 0 } ); return; } __PACKAGE__->meta->make_immutable; 1; __END__ =pod =encoding UTF-8 =head1 NAME Dist::Zilla::Plugin::CheckExtraTests - check xt tests before release =head1 VERSION version 0.029 =head1 SYNOPSIS In your dist.ini: [CheckExtraTests] =head1 DESCRIPTION Runs all xt tests before release. Dies if any fail. Sets RELEASE_TESTING and AUTHOR_TESTING. If you use L, you should consider using L instead, which enables xt tests to run as part of C<[TestRelease]> and is thus a bit more efficient as the distribution is only built once for testing. =head1 ATTRIBUTES =head2 default_jobs This attribute is the default value that should be used as the C argument for prerelease tests. =for Pod::Coverage::TrustPod before_release =head1 SEE ALSO =over 4 =item * L =back =for :stopwords cpan testmatrix url annocpan anno bugtracker rt cpants kwalitee diff irc mailto metadata placeholders metacpan =head1 SUPPORT =head2 Bugs / Feature Requests Please report any bugs or feature requests through the issue tracker at L. You will be notified automatically of any progress on your issue. =head2 Source Code This is open source software. The code repository is available for public review and contribution under the terms of the license. L git clone https://github.com/dagolden/Dist-Zilla-Plugin-CheckExtraTests.git =head1 AUTHORS =over 4 =item * David Golden =item * Jesse Luehrs =back =head1 CONTRIBUTORS =for stopwords Christopher J. Madsen David Golden H. Adler Karen Etheridge Kent Fredric Olivier Mengué Ricardo Signes =over 4 =item * Christopher J. Madsen =item * David Golden =item * David H. Adler =item * Karen Etheridge =item * Kent Fredric =item * Olivier Mengué =item * Ricardo Signes =back =head1 COPYRIGHT AND LICENSE This software is Copyright (c) 2016 by David Golden. This is free software, licensed under: The Apache License, Version 2.0, January 2004 =cut Dist-Zilla-Plugin-CheckExtraTests-0.029/lib/Dist/Zilla/Plugin/RunExtraTests.pm000644 000765 000024 00000005650 12720704762 027360 0ustar00davidstaff000000 000000 use strict; use warnings; package Dist::Zilla::Plugin::RunExtraTests; # ABSTRACT: support running xt tests via dzil test our $VERSION = '0.029'; # Dependencies use Dist::Zilla 4.3 (); use Moose 2; use namespace::autoclean 0.09; # extends, roles, attributes, etc. with 'Dist::Zilla::Role::TestRunner'; # methods sub test { my ($self, $target, $arg) = @_; my %dirs; @dirs{ grep { -d } glob('xt/*') } = (); delete $dirs{'xt/author'} unless $ENV{AUTHOR_TESTING}; delete $dirs{'xt/smoke'} unless $ENV{AUTOMATED_TESTING}; delete $dirs{'xt/release'} unless $ENV{RELEASE_TESTING}; my @dirs = sort keys %dirs; my @files = grep { -f } glob('xt/*'); return unless @dirs or @files; # If the dist hasn't been built yet, then build it: unless ( -d 'blib' ) { my @builders = @{ $self->zilla->plugins_with( -BuildRunner ) }; die "no BuildRunner plugins specified" unless @builders; $_->build for @builders; die "no blib; failed to build properly?" unless -d 'blib'; } my $jobs = $arg && exists $arg->{jobs} ? $arg->{jobs} : $self->can('default_jobs') ? $self->default_jobs : 1; my @v = $self->zilla->logger->get_debug ? ('-v') : (); require App::Prove; App::Prove->VERSION('3.00'); my $app = App::Prove->new; $self->log_debug([ 'running prove with args: %s', join(' ', '-j', $jobs, @v, qw/-b xt/) ]); $app->process_args( '-j', $jobs, @v, qw/-b xt/); $self->log_debug([ 'running prove with args: %s', join(' ', '-j', $jobs, @v, qw/-r -b/, @dirs) ]); $app->process_args( '-j', $jobs, @v, qw/-r -b/, @dirs ); $app->run or $self->log_fatal("Fatal errors in xt tests"); return; } __PACKAGE__->meta->make_immutable; 1; __END__ =pod =encoding UTF-8 =head1 NAME Dist::Zilla::Plugin::RunExtraTests - support running xt tests via dzil test =head1 VERSION version 0.029 =head1 SYNOPSIS In your dist.ini: [RunExtraTests] =head1 DESCRIPTION Runs F tests when the test phase is run (e.g. C, C etc). F, F, and F will be tested based on the values of the appropriate environment variables (C, C, and C), which are set by C. Additionally, all other F files and directories will always be run. If C is listed after one of the normal test-running plugins (e.g. C or C), then the dist will not be rebuilt between running the normal tests and the extra tests. =for Pod::Coverage::TrustPod test =head1 SEE ALSO =over 4 =item * L =back =head1 AUTHORS =over 4 =item * David Golden =item * Jesse Luehrs =back =head1 COPYRIGHT AND LICENSE This software is Copyright (c) 2016 by David Golden. This is free software, licensed under: The Apache License, Version 2.0, January 2004 =cut Dist-Zilla-Plugin-CheckExtraTests-0.029/lib/Dist/Zilla/App/Command/000755 000765 000024 00000000000 12720704762 025061 5ustar00davidstaff000000 000000 Dist-Zilla-Plugin-CheckExtraTests-0.029/lib/Dist/Zilla/App/Command/xtest.pm000644 000765 000024 00000014600 12720704762 026567 0ustar00davidstaff000000 000000 use strict; use warnings; package Dist::Zilla::App::Command::xtest; # ABSTRACT: run xt tests for your dist our $VERSION = '0.029'; use Dist::Zilla::App -command; use Path::Tiny; #pod =head1 SYNOPSIS #pod #pod Run xt tests for your distribution: #pod #pod dzil xtest [ --no-author] [ --no-release ] [ --no-automated ] [ --all ] #pod #pod This runs with AUTHOR_TESTING and RELEASE_TESTING environment variables turned #pod on, so it's like doing this: #pod #pod export AUTHOR_TESTING=1 #pod export RELEASE_TESTING=1 #pod dzil build #pod rsync -avp My-Project-Version/ .build/ #pod cd .build; #pod perl Makefile.PL #pod make #pod prove -l -r xt #pod #pod Except for the fact it's built directly in a subdir of .build (like #pod F<.build/ASDF123>). #pod #pod A build that fails tests will be left behind for analysis, and F will #pod exit a non-zero value. If the tests are successful, the build directory will #pod be removed and F will exit with status 0. #pod #pod You can also use 'xt' as an alias for 'xtest': #pod #pod dzil xt #pod #pod If you provide one or more filenames on the command line, only #pod those tests will be run (however deeply they are nested). #pod #pod dzil xtest pod-spell.t #pod #pod Arguments are turned into regexp patterns, so you can #pod do any sort of partial match you want: #pod #pod dzil xtest author/ # just the author tests #pod dzil xtest spell # a test with 'spell' in the path #pod #pod There is no need to add anything to F -- installation of this module #pod is sufficient to make the command available. #pod #pod =cut sub opt_spec { [ 'author!' => 'enables the AUTHOR_TESTING env variable (default behavior)', { default => 1 } ], [ 'release!' => 'enables the RELEASE_TESTING env variable (default behavior)', { default => 1 } ], [ 'automated' => 'enables the AUTOMATED_TESTING env variable', { default => 0 } ], [ 'all' => 'enables the RELEASE_TESTING, AUTOMATED_TESTING and AUTHOR_TESTING env variables', { default => 0 } ], [ 'jobs|j=i' => 'number of parallel test jobs to run', { default => 1 } ]; } #pod =head1 OPTIONS #pod #pod =head2 --no-author #pod #pod This will run the test suite without setting AUTHOR_TESTING #pod #pod =head2 --no-release #pod #pod This will run the test suite without setting RELEASE_TESTING #pod #pod =head2 --automated #pod #pod This will run the test suite with AUTOMATED_TESTING=1 #pod #pod =head2 --all #pod #pod Equivalent to --release --automated --author #pod #pod =cut sub abstract { 'run xt tests for your dist' } sub command_names { my ($self) = @_; return ( $self->SUPER::command_names, 'xt' ); } sub execute { my ( $self, $opt, $arg ) = @_; require App::Prove; require File::pushd; local $ENV{AUTHOR_TESTING} = 1 if $opt->author or $opt->all; local $ENV{RELEASE_TESTING} = 1 if $opt->release or $opt->all; local $ENV{AUTOMATED_TESTING} = 1 if $opt->automated or $opt->all; my ( $target, $latest ) = $self->zilla->ensure_built_in_tmpdir; my $error; { my $wd = File::pushd::pushd($target); my @builders = @{ $self->zilla->plugins_with( -BuildRunner ) }; die "no BuildRunner plugins specified" unless @builders; $_->build for @builders; my @v = $self->zilla->logger->get_debug ? ('-v') : (); my $app = App::Prove->new; if ( ref $arg eq 'ARRAY' && @$arg ) { require Path::Iterator::Rule; my $pcr = Path::Iterator::Rule->new->file->and( sub { my $path = $_; return grep { $path =~ /$_/ } @$arg; } ); my @t = map { "$_" } $pcr->all('xt'); if (@t) { $app->process_args( '-j', $opt->jobs, @v, qw/-r -b/, @t ); $error = "Failed xt tests" unless $app->run; } else { $self->log("no xt files found matching: @$arg"); } } else { $app->process_args( '-j', $opt->jobs, @v, qw/-r -b xt/ ); $error = "Failed xt tests" unless $app->run; } } if ($error) { $self->log($error); $self->log("left failed dist in place at $target"); exit 1; } else { $self->log("all's well; removing $target"); path($target)->remove_tree( { safe => 0 } ); $latest->remove if $latest; } } 1; __END__ =pod =encoding UTF-8 =head1 NAME Dist::Zilla::App::Command::xtest - run xt tests for your dist =head1 VERSION version 0.029 =head1 SYNOPSIS Run xt tests for your distribution: dzil xtest [ --no-author] [ --no-release ] [ --no-automated ] [ --all ] This runs with AUTHOR_TESTING and RELEASE_TESTING environment variables turned on, so it's like doing this: export AUTHOR_TESTING=1 export RELEASE_TESTING=1 dzil build rsync -avp My-Project-Version/ .build/ cd .build; perl Makefile.PL make prove -l -r xt Except for the fact it's built directly in a subdir of .build (like F<.build/ASDF123>). A build that fails tests will be left behind for analysis, and F will exit a non-zero value. If the tests are successful, the build directory will be removed and F will exit with status 0. You can also use 'xt' as an alias for 'xtest': dzil xt If you provide one or more filenames on the command line, only those tests will be run (however deeply they are nested). dzil xtest pod-spell.t Arguments are turned into regexp patterns, so you can do any sort of partial match you want: dzil xtest author/ # just the author tests dzil xtest spell # a test with 'spell' in the path There is no need to add anything to F -- installation of this module is sufficient to make the command available. =head1 OPTIONS =head2 --no-author This will run the test suite without setting AUTHOR_TESTING =head2 --no-release This will run the test suite without setting RELEASE_TESTING =head2 --automated This will run the test suite with AUTOMATED_TESTING=1 =head2 --all Equivalent to --release --automated --author =head1 AUTHORS =over 4 =item * David Golden =item * Jesse Luehrs =back =head1 COPYRIGHT AND LICENSE This software is Copyright (c) 2016 by David Golden. This is free software, licensed under: The Apache License, Version 2.0, January 2004 =cut Dist-Zilla-Plugin-CheckExtraTests-0.029/corpus/DZ/000755 000765 000024 00000000000 12720704762 022067 5ustar00davidstaff000000 000000 Dist-Zilla-Plugin-CheckExtraTests-0.029/corpus/RunXT/000755 000765 000024 00000000000 12720704762 022572 5ustar00davidstaff000000 000000 Dist-Zilla-Plugin-CheckExtraTests-0.029/corpus/WithBlib/000755 000765 000024 00000000000 12720704762 023256 5ustar00davidstaff000000 000000 Dist-Zilla-Plugin-CheckExtraTests-0.029/corpus/WithBlib/Changes000644 000765 000024 00000000073 12720704762 024551 0ustar00davidstaff000000 000000 Changes 1.23 2009-11-16 19:15:45 CET - foo - bar - baz Dist-Zilla-Plugin-CheckExtraTests-0.029/corpus/WithBlib/dist.ini000644 000765 000024 00000000315 12720704762 024721 0ustar00davidstaff000000 000000 name = Foo version = 1.23 author = foobar license = Perl_5 abstract = Test Library copyright_holder = foobar copyright_year = 2009 [GatherDir] [MakeMaker::Runner] [CheckExtraTests] [FakeRelease] Dist-Zilla-Plugin-CheckExtraTests-0.029/corpus/WithBlib/foobar000644 000765 000024 00000000041 12720704762 024444 0ustar00davidstaff000000 000000 this file is meant for testing...Dist-Zilla-Plugin-CheckExtraTests-0.029/corpus/WithBlib/lib/000755 000765 000024 00000000000 12720704762 024024 5ustar00davidstaff000000 000000 Dist-Zilla-Plugin-CheckExtraTests-0.029/corpus/WithBlib/Makefile.PL000644 000765 000024 00000002214 12720704762 025227 0ustar00davidstaff000000 000000 use strict; use warnings; use ExtUtils::MakeMaker 6.30; { my $contents = do { open my $fh, '<', 'lib/Foo.pm' || die "Couldn't open lib/Foo.pm: $!"; local $/; <$fh>; }; $contents =~ s/123/456/; open my $fh, '>', 'lib/Foo.pm' || die "Couldn't open lib/Foo.pm: $!"; print $fh $contents; } my %WriteMakefileArgs = ( "ABSTRACT" => "Test Library", "AUTHOR" => "foobar", "BUILD_REQUIRES" => {}, "CONFIGURE_REQUIRES" => { "ExtUtils::MakeMaker" => "6.30" }, "DISTNAME" => "Foo", "EXE_FILES" => [], "LICENSE" => "perl", "NAME" => "Foo", "PREREQ_PM" => {}, "VERSION" => "1.23", "test" => { "TESTS" => "" } ); unless ( eval { ExtUtils::MakeMaker->VERSION(6.56) } ) { my $br = delete $WriteMakefileArgs{BUILD_REQUIRES}; my $pp = $WriteMakefileArgs{PREREQ_PM}; for my $mod ( keys %$br ) { if ( exists $pp->{$mod} ) { $pp->{$mod} = $br->{$mod} if $br->{$mod} > $pp->{$mod}; } else { $pp->{$mod} = $br->{$mod}; } } } delete $WriteMakefileArgs{CONFIGURE_REQUIRES} unless eval { ExtUtils::MakeMaker->VERSION(6.52) }; WriteMakefile(%WriteMakefileArgs); Dist-Zilla-Plugin-CheckExtraTests-0.029/corpus/WithBlib/lib/Foo.pm000644 000765 000024 00000000177 12720704762 025112 0ustar00davidstaff000000 000000 package Foo; use strict; use warnings; # ABSTRACT: Foo this thing sub foo { 123 } 1; =head1 DESCRIPTION Foo the foo. =cut Dist-Zilla-Plugin-CheckExtraTests-0.029/corpus/RunXT/Changes000644 000765 000024 00000000073 12720704762 024065 0ustar00davidstaff000000 000000 Changes 1.23 2009-11-16 19:15:45 CET - foo - bar - baz Dist-Zilla-Plugin-CheckExtraTests-0.029/corpus/RunXT/dist.ini000644 000765 000024 00000000335 12720704762 024237 0ustar00davidstaff000000 000000 name = Foo version = 1.23 author = foobar license = Perl_5 abstract = Test Library copyright_holder = foobar copyright_year = 2009 [GatherDir] [MakeMaker::Runner] [CheckExtraTests] [RunExtraTests] [FakeRelease] Dist-Zilla-Plugin-CheckExtraTests-0.029/corpus/RunXT/foobar000644 000765 000024 00000000041 12720704762 023760 0ustar00davidstaff000000 000000 this file is meant for testing...Dist-Zilla-Plugin-CheckExtraTests-0.029/corpus/RunXT/lib/000755 000765 000024 00000000000 12720704762 023340 5ustar00davidstaff000000 000000 Dist-Zilla-Plugin-CheckExtraTests-0.029/corpus/RunXT/Makefile.PL000644 000765 000024 00000002214 12720704762 024543 0ustar00davidstaff000000 000000 use strict; use warnings; use ExtUtils::MakeMaker 6.30; { my $contents = do { open my $fh, '<', 'lib/Foo.pm' || die "Couldn't open lib/Foo.pm: $!"; local $/; <$fh>; }; $contents =~ s/123/456/; open my $fh, '>', 'lib/Foo.pm' || die "Couldn't open lib/Foo.pm: $!"; print $fh $contents; } my %WriteMakefileArgs = ( "ABSTRACT" => "Test Library", "AUTHOR" => "foobar", "BUILD_REQUIRES" => {}, "CONFIGURE_REQUIRES" => { "ExtUtils::MakeMaker" => "6.30" }, "DISTNAME" => "Foo", "EXE_FILES" => [], "LICENSE" => "perl", "NAME" => "Foo", "PREREQ_PM" => {}, "VERSION" => "1.23", "test" => { "TESTS" => "" } ); unless ( eval { ExtUtils::MakeMaker->VERSION(6.56) } ) { my $br = delete $WriteMakefileArgs{BUILD_REQUIRES}; my $pp = $WriteMakefileArgs{PREREQ_PM}; for my $mod ( keys %$br ) { if ( exists $pp->{$mod} ) { $pp->{$mod} = $br->{$mod} if $br->{$mod} > $pp->{$mod}; } else { $pp->{$mod} = $br->{$mod}; } } } delete $WriteMakefileArgs{CONFIGURE_REQUIRES} unless eval { ExtUtils::MakeMaker->VERSION(6.52) }; WriteMakefile(%WriteMakefileArgs); Dist-Zilla-Plugin-CheckExtraTests-0.029/corpus/RunXT/t/000755 000765 000024 00000000000 12720704762 023035 5ustar00davidstaff000000 000000 Dist-Zilla-Plugin-CheckExtraTests-0.029/corpus/RunXT/t/foo.t000644 000765 000024 00000000137 12720704762 024006 0ustar00davidstaff000000 000000 #!/usr/bin/env perl use strict; use warnings; use Test::More; pass("success"); done_testing; Dist-Zilla-Plugin-CheckExtraTests-0.029/corpus/RunXT/lib/Foo.pm000644 000765 000024 00000000177 12720704762 024426 0ustar00davidstaff000000 000000 package Foo; use strict; use warnings; # ABSTRACT: Foo this thing sub foo { 123 } 1; =head1 DESCRIPTION Foo the foo. =cut Dist-Zilla-Plugin-CheckExtraTests-0.029/corpus/DZ/Changes000644 000765 000024 00000000073 12720704762 023362 0ustar00davidstaff000000 000000 Changes 1.23 2009-11-16 19:15:45 CET - foo - bar - baz Dist-Zilla-Plugin-CheckExtraTests-0.029/corpus/DZ/dist.ini000644 000765 000024 00000000305 12720704762 023531 0ustar00davidstaff000000 000000 name = Foo version = 1.23 author = foobar license = Perl_5 abstract = Test Library copyright_holder = foobar copyright_year = 2009 [GatherDir] [MakeMaker] [CheckExtraTests] [FakeRelease] Dist-Zilla-Plugin-CheckExtraTests-0.029/corpus/DZ/foobar000644 000765 000024 00000000041 12720704762 023255 0ustar00davidstaff000000 000000 this file is meant for testing...Dist-Zilla-Plugin-CheckExtraTests-0.029/corpus/DZ/lib/000755 000765 000024 00000000000 12720704762 022635 5ustar00davidstaff000000 000000 Dist-Zilla-Plugin-CheckExtraTests-0.029/corpus/DZ/lib/Foo.pm000644 000765 000024 00000000156 12720704762 023720 0ustar00davidstaff000000 000000 package Foo; use strict; use warnings; # ABSTRACT: Foo this thing 1; =head1 DESCRIPTION Foo the foo. =cut