The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
CONTRIBUTING 0100
Changes 012
LICENSE 11
MANIFEST 311
MANIFEST.SKIP 30
META.json 2253
META.yml 3443
Makefile.PL 5083
README 0411
README.PATCHING 420
cpanfile 060
dist.ini 322
lib/CPAN/Reporter/Smoker.pm 1968
perlcritic.rc 026
t/00-compile.t 590
t/00-report-prereqs.t 0204
t/CPAN/indices/README 39910
xt/author/00-compile.t 053
xt/author/critic.t 012
xt/author/pod-spell.t 040
xt/release/distmeta.t 32
xt/release/minimum-version.t 08
xt/release/pod-coverage.t 93
xt/release/pod-syntax.t 32
xt/release/portability.t 012
xt/release/test-version.t 616
26 files changed (This is a version diff) 6561252
@@ -0,0 +1,100 @@
+## 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 (e.g. Makefile.PL).
+
+Generally, **you do not need Dist::Zilla to contribute patches**.  You do need
+Dist::Zilla to create a tarball and/or install from the repository.  See below
+for guidance.
+
+### Getting dependencies
+
+See the included `cpanfile` file for a list of dependencies.  If you have
+App::cpanminus 1.6 or later installed, you can use `cpanm` to satisfy
+dependencies like this:
+
+    $ cpanm --installdeps .
+
+Otherwise, you can install Module::CPANfile 1.0002 or later and then satisfy
+dependencies with the regular `cpan` client and `cpanfile-dump`:
+
+    $ cpan `cpanfile-dump`
+
+### 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.  Depending on the
+distribution, some of my documentation may be written in a Pod dialect called
+WikiDoc. (See Pod::WikiDoc on CPAN.)
+
+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 from the repository
+
+If you want to install directly from the repository, you need to have
+Dist::Zilla installed (see below).  If this is a burden to you, I welcome
+patches against a CPAN tarball instead of the repository.
+
+### 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
+
+To install from the repository, use:
+
+    $ dzil install
+
+You can learn more about Dist::Zilla at http://dzil.org/
+
@@ -1,5 +1,17 @@
 Revision history for Perl module CPAN::Reporter::Smoker
 
+0.26      2014-03-14 15:52:43+01:00 Europe/Paris
+
+    [ADDED]
+
+    - New option 'skip_dev_versions' to work on minicpans (CHORNY)
+
+0.25      2013-11-06 10:06:15 America/New_York
+
+    - Add reloading history of modules smoked (CHORNY)
+
+    - Add support for custom filtering (CHORNY)
+
 0.24      2011-07-21 00:12:34 America/New_York
 
     - Fixes test failures with CPAN::Reporter 1.19_04
@@ -1,4 +1,4 @@
-This software is Copyright (c) 2011 by David Golden.
+This software is Copyright (c) 2014 by David Golden.
 
 This is free software, licensed under:
 
@@ -1,15 +1,18 @@
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.013.
+CONTRIBUTING
 Changes
 LICENSE
 MANIFEST
-MANIFEST.SKIP
 META.json
 META.yml
 Makefile.PL
-README.PATCHING
+README
 Todo
+cpanfile
 dist.ini
 lib/CPAN/Reporter/Smoker.pm
-t/00-compile.t
+perlcritic.rc
+t/00-report-prereqs.t
 t/00load.t
 t/CPAN/authors/01mailrc.txt.gz
 t/CPAN/authors/id/A/AN/ANDK/Bogus-OSUnsupported-0.01.tar.gz
@@ -40,7 +43,12 @@ t/smoke-list-array.t
 t/smoke-list-file.t
 t/smoke-restart.t
 t/smoke-reverse.t
+xt/author/00-compile.t
+xt/author/critic.t
+xt/author/pod-spell.t
 xt/release/distmeta.t
+xt/release/minimum-version.t
 xt/release/pod-coverage.t
 xt/release/pod-syntax.t
+xt/release/portability.t
 xt/release/test-version.t
@@ -1,3 +0,0 @@
-# scratch files from testing if left around
-^t/dot-cpan
-^t/dot-cpanreporter
@@ -4,7 +4,7 @@
       "David Golden <dagolden@cpan.org>"
    ],
    "dynamic_config" : 0,
-   "generated_by" : "Dist::Zilla version 4.200009, CPAN::Meta::Converter version 2.110930",
+   "generated_by" : "Dist::Zilla version 5.013, CPAN::Meta::Converter version 2.140640",
    "license" : [
       "apache_2_0"
    ],
@@ -27,63 +27,94 @@
    "prereqs" : {
       "configure" : {
          "requires" : {
-            "ExtUtils::MakeMaker" : "6.30"
+            "ExtUtils::MakeMaker" : "6.17"
+         }
+      },
+      "develop" : {
+         "requires" : {
+            "Dist::Zilla" : "5.013",
+            "Dist::Zilla::Plugin::Encoding" : "0",
+            "Dist::Zilla::Plugin::Prereqs" : "0",
+            "Dist::Zilla::Plugin::RemovePrereqs" : "0",
+            "Dist::Zilla::PluginBundle::DAGOLDEN" : "0.060",
+            "File::Spec" : "0",
+            "File::Temp" : "0",
+            "IO::Handle" : "0",
+            "IPC::Open3" : "0",
+            "Pod::Coverage::TrustPod" : "0",
+            "Test::CPAN::Meta" : "0",
+            "Test::More" : "0",
+            "Test::Pod" : "1.41",
+            "Test::Pod::Coverage" : "1.08"
          }
       },
       "runtime" : {
          "requires" : {
             "CPAN" : "1.93",
-            "CPAN::HandleConfig" : 0,
+            "CPAN::HandleConfig" : "0",
             "CPAN::Reporter::History" : "1.1702",
-            "CPAN::Tarzip" : 0,
-            "Carp" : 0,
+            "CPAN::Tarzip" : "0",
+            "Carp" : "0",
             "Compress::Zlib" : "1.2",
-            "Config" : 0,
-            "Exporter" : 0,
+            "Exporter" : "0",
             "ExtUtils::MakeMaker" : "6.46",
-            "Fcntl" : 0,
-            "File::Basename" : 0,
+            "Fcntl" : "0",
+            "File::Basename" : "0",
             "File::Spec" : "3.27",
             "File::Temp" : "0.20",
             "Module::Build" : "0.30",
             "Probe::Perl" : "0.01",
             "Term::Title" : "0.01",
             "Test::Reporter" : "1.58",
-            "perl" : "5.006"
+            "perl" : "5.006",
+            "strict" : "0",
+            "warnings" : "0"
          }
       },
       "test" : {
+         "recommends" : {
+            "CPAN::Meta" : "0",
+            "CPAN::Meta::Requirements" : "2.120900"
+         },
          "requires" : {
-            "CPAN::Checksums" : 0,
+            "CPAN::Checksums" : "0",
             "Cwd" : "3.27",
-            "File::Find" : 0,
-            "File::Path" : 0,
+            "ExtUtils::MakeMaker" : "6.46",
+            "File::Find" : "0",
+            "File::Path" : "0",
+            "File::Spec::Functions" : "0",
             "IO::CaptureOutput" : "1.06",
-            "IO::File" : 0,
+            "IO::File" : "0",
+            "List::Util" : "0",
             "Test::More" : "0.62",
-            "vars" : 0
+            "vars" : "0",
+            "version" : "0"
          }
       }
    },
    "provides" : {
       "CPAN::Reporter::Smoker" : {
          "file" : "lib/CPAN/Reporter/Smoker.pm",
-         "version" : "0.24"
+         "version" : "0.26"
       }
    },
    "release_status" : "stable",
    "resources" : {
       "bugtracker" : {
-         "mailto" : "bug-cpan-reporter-smoker at rt.cpan.org",
-         "web" : "http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Reporter-Smoker"
+         "web" : "https://github.com/cpan-testers/CPAN-Reporter-Smoker/issues"
       },
-      "homepage" : "http://github.com/dagolden/cpan-reporter-smoker",
+      "homepage" : "https://github.com/cpan-testers/CPAN-Reporter-Smoker",
       "repository" : {
          "type" : "git",
-         "url" : "http://github.com/dagolden/cpan-reporter-smoker",
-         "web" : "http://github.com/dagolden/cpan-reporter-smoker"
+         "url" : "https://github.com/cpan-testers/CPAN-Reporter-Smoker.git",
+         "web" : "https://github.com/cpan-testers/CPAN-Reporter-Smoker"
       }
    },
-   "version" : "0.24"
+   "version" : "0.26",
+   "x_authority" : "cpan:DAGOLDEN",
+   "x_contributors" : [
+      "Alexandr Ciornii <alexchorny@gmail.com>",
+      "Christian Walde <walde.christian@googlemail.com>"
+   ]
 }
 
@@ -3,22 +3,26 @@ abstract: 'Turnkey CPAN Testers smoking'
 author:
   - 'David Golden <dagolden@cpan.org>'
 build_requires:
-  CPAN::Checksums: 0
-  Cwd: 3.27
-  File::Find: 0
-  File::Path: 0
-  IO::CaptureOutput: 1.06
-  IO::File: 0
-  Test::More: 0.62
-  vars: 0
+  CPAN::Checksums: '0'
+  Cwd: '3.27'
+  ExtUtils::MakeMaker: '6.46'
+  File::Find: '0'
+  File::Path: '0'
+  File::Spec::Functions: '0'
+  IO::CaptureOutput: '1.06'
+  IO::File: '0'
+  List::Util: '0'
+  Test::More: '0.62'
+  vars: '0'
+  version: '0'
 configure_requires:
-  ExtUtils::MakeMaker: 6.30
+  ExtUtils::MakeMaker: '6.17'
 dynamic_config: 0
-generated_by: 'Dist::Zilla version 4.200009, CPAN::Meta::Converter version 2.110930'
+generated_by: 'Dist::Zilla version 5.013, CPAN::Meta::Converter version 2.140640'
 license: apache
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
-  version: 1.4
+  version: '1.4'
 name: CPAN-Reporter-Smoker
 no_index:
   directory:
@@ -31,28 +35,33 @@ no_index:
 provides:
   CPAN::Reporter::Smoker:
     file: lib/CPAN/Reporter/Smoker.pm
-    version: 0.24
+    version: '0.26'
 requires:
-  CPAN: 1.93
-  CPAN::HandleConfig: 0
-  CPAN::Reporter::History: 1.1702
-  CPAN::Tarzip: 0
-  Carp: 0
-  Compress::Zlib: 1.2
-  Config: 0
-  Exporter: 0
-  ExtUtils::MakeMaker: 6.46
-  Fcntl: 0
-  File::Basename: 0
-  File::Spec: 3.27
-  File::Temp: 0.20
-  Module::Build: 0.30
-  Probe::Perl: 0.01
-  Term::Title: 0.01
-  Test::Reporter: 1.58
-  perl: 5.006
+  CPAN: '1.93'
+  CPAN::HandleConfig: '0'
+  CPAN::Reporter::History: '1.1702'
+  CPAN::Tarzip: '0'
+  Carp: '0'
+  Compress::Zlib: '1.2'
+  Exporter: '0'
+  ExtUtils::MakeMaker: '6.46'
+  Fcntl: '0'
+  File::Basename: '0'
+  File::Spec: '3.27'
+  File::Temp: '0.20'
+  Module::Build: '0.30'
+  Probe::Perl: '0.01'
+  Term::Title: '0.01'
+  Test::Reporter: '1.58'
+  perl: '5.006'
+  strict: '0'
+  warnings: '0'
 resources:
-  bugtracker: http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Reporter-Smoker
-  homepage: http://github.com/dagolden/cpan-reporter-smoker
-  repository: http://github.com/dagolden/cpan-reporter-smoker
-version: 0.24
+  bugtracker: https://github.com/cpan-testers/CPAN-Reporter-Smoker/issues
+  homepage: https://github.com/cpan-testers/CPAN-Reporter-Smoker
+  repository: https://github.com/cpan-testers/CPAN-Reporter-Smoker.git
+version: '0.26'
+x_authority: cpan:DAGOLDEN
+x_contributors:
+  - 'Alexandr Ciornii <alexchorny@gmail.com>'
+  - 'Christian Walde <walde.christian@googlemail.com>'
@@ -1,70 +1,103 @@
 
+# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.013.
 use strict;
 use warnings;
 
 use 5.006;
 
-use ExtUtils::MakeMaker 6.30;
+use ExtUtils::MakeMaker 6.17;
 
 
 
 my %WriteMakefileArgs = (
-  'ABSTRACT' => 'Turnkey CPAN Testers smoking',
-  'AUTHOR' => 'David Golden <dagolden@cpan.org>',
-  'BUILD_REQUIRES' => {
-    'CPAN::Checksums' => '0',
-    'Cwd' => '3.27',
-    'File::Find' => '0',
-    'File::Path' => '0',
-    'IO::CaptureOutput' => '1.06',
-    'IO::File' => '0',
-    'Test::More' => '0.62',
-    'vars' => '0'
+  "ABSTRACT" => "Turnkey CPAN Testers smoking",
+  "AUTHOR" => "David Golden <dagolden\@cpan.org>",
+  "BUILD_REQUIRES" => {},
+  "CONFIGURE_REQUIRES" => {
+    "ExtUtils::MakeMaker" => "6.17"
   },
-  'CONFIGURE_REQUIRES' => {
-    'ExtUtils::MakeMaker' => '6.30'
+  "DISTNAME" => "CPAN-Reporter-Smoker",
+  "EXE_FILES" => [],
+  "LICENSE" => "apache",
+  "NAME" => "CPAN::Reporter::Smoker",
+  "PREREQ_PM" => {
+    "CPAN" => "1.93",
+    "CPAN::HandleConfig" => 0,
+    "CPAN::Reporter::History" => "1.1702",
+    "CPAN::Tarzip" => 0,
+    "Carp" => 0,
+    "Compress::Zlib" => "1.2",
+    "Exporter" => 0,
+    "ExtUtils::MakeMaker" => "6.46",
+    "Fcntl" => 0,
+    "File::Basename" => 0,
+    "File::Spec" => "3.27",
+    "File::Temp" => "0.20",
+    "Module::Build" => "0.30",
+    "Probe::Perl" => "0.01",
+    "Term::Title" => "0.01",
+    "Test::Reporter" => "1.58",
+    "strict" => 0,
+    "warnings" => 0
   },
-  'DISTNAME' => 'CPAN-Reporter-Smoker',
-  'EXE_FILES' => [],
-  'LICENSE' => 'apache',
-  'NAME' => 'CPAN::Reporter::Smoker',
-  'PREREQ_PM' => {
-    'CPAN' => '1.93',
-    'CPAN::HandleConfig' => '0',
-    'CPAN::Reporter::History' => '1.1702',
-    'CPAN::Tarzip' => '0',
-    'Carp' => '0',
-    'Compress::Zlib' => '1.2',
-    'Config' => '0',
-    'Exporter' => '0',
-    'ExtUtils::MakeMaker' => '6.46',
-    'Fcntl' => '0',
-    'File::Basename' => '0',
-    'File::Spec' => '3.27',
-    'File::Temp' => '0.20',
-    'Module::Build' => '0.30',
-    'Probe::Perl' => '0.01',
-    'Term::Title' => '0.01',
-    'Test::Reporter' => '1.58'
+  "TEST_REQUIRES" => {
+    "CPAN::Checksums" => 0,
+    "Cwd" => "3.27",
+    "ExtUtils::MakeMaker" => "6.46",
+    "File::Find" => 0,
+    "File::Path" => 0,
+    "File::Spec::Functions" => 0,
+    "IO::CaptureOutput" => "1.06",
+    "IO::File" => 0,
+    "List::Util" => 0,
+    "Test::More" => "0.62",
+    "vars" => 0,
+    "version" => 0
   },
-  'VERSION' => '0.24',
-  'test' => {
-    'TESTS' => 't/*.t'
+  "VERSION" => "0.26",
+  "test" => {
+    "TESTS" => "t/*.t"
   }
 );
 
 
-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};
-    }
-  }
+my %FallbackPrereqs = (
+  "CPAN" => "1.93",
+  "CPAN::Checksums" => 0,
+  "CPAN::HandleConfig" => 0,
+  "CPAN::Reporter::History" => "1.1702",
+  "CPAN::Tarzip" => 0,
+  "Carp" => 0,
+  "Compress::Zlib" => "1.2",
+  "Cwd" => "3.27",
+  "Exporter" => 0,
+  "ExtUtils::MakeMaker" => "6.46",
+  "Fcntl" => 0,
+  "File::Basename" => 0,
+  "File::Find" => 0,
+  "File::Path" => 0,
+  "File::Spec" => "3.27",
+  "File::Spec::Functions" => 0,
+  "File::Temp" => "0.20",
+  "IO::CaptureOutput" => "1.06",
+  "IO::File" => 0,
+  "List::Util" => 0,
+  "Module::Build" => "0.30",
+  "Probe::Perl" => "0.01",
+  "Term::Title" => "0.01",
+  "Test::More" => "0.62",
+  "Test::Reporter" => "1.58",
+  "strict" => 0,
+  "vars" => 0,
+  "version" => 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}
@@ -0,0 +1,411 @@
+NAME
+    CPAN::Reporter::Smoker - Turnkey CPAN Testers smoking
+
+VERSION
+    version 0.26
+
+SYNOPSIS
+         $ perl -MCPAN::Reporter::Smoker -e start
+
+DESCRIPTION
+    Rudimentary smoke tester for CPAN Testers, built upon CPAN::Reporter.
+    Use at your own risk. It requires a recent version of CPAN::Reporter to
+    run.
+
+    Currently, CPAN::Reporter::Smoker requires zero independent
+    configuration; instead it uses configuration settings from CPAN.pm and
+    CPAN::Reporter.
+
+    Once started, it retrieves a list of distributions from the configured
+    CPAN mirror and begins testing them in reverse order of upload. It will
+    skip any distribution which has already had a report sent by
+    CPAN::Reporter.
+
+    Features (or bugs, depending on your point of view):
+
+    *   No configuration needed
+
+    *   Tests each distribution as a separate CPAN process -- each
+        distribution has prerequisites like build_requires satisfied from
+        scratch
+
+    *   Automatically checks for new distributions every twelve hours or as
+        otherwise specified
+
+    *   Continues until interrupted with CTRL-C
+
+    *   Checks CPAN.pm "distroprefs" to see if distributions should be
+        skipped (before handing off to CPAN)
+
+    Current limitations:
+
+    *   Does not attempt to retest distributions that had reports discarded
+        because of prerequisites that could not be satisfied
+
+  WARNING -- smoke testing is risky
+    Smoke testing will download and run programs that other people have
+    uploaded to CPAN. These programs could do anything to your system,
+    including deleting everything on it. Do not run CPAN::Reporter::Smoker
+    unless you are prepared to take these risks.
+
+USAGE
+  "start()"
+    Starts smoke testing using defaults already in CPAN::Config and
+    CPAN::Reporter's .cpanreporter directory. Runs until all distributions
+    are tested or the process is halted with CTRL-C or otherwise killed.
+
+    "start()" supports several optional arguments:
+
+    *   "clean_cache_after" -- number of distributions that will be tested
+        before checking to see if the CPAN build cache needs to be cleaned
+        up (not including any prerequisites tested). Must be a positive
+        integer. Defaults to 100
+
+    *   "list" -- if provided, this list of distributions will be tested
+        instead of all of CPAN. May be a reference to an array of
+        distribution names or may be a filename containing one distribution
+        name per line. Distribution names must be of the form
+        'AUTHOR/Dist-Name-0.00.tar.gz'
+
+    *   "restart_delay" -- number of seconds that must elapse before
+        restarting smoke testing. This will reload indices to search for new
+        distributions and restart testing from the most recent distribution.
+        Must be a positive integer; Defaults to 43200 seconds (12 hours)
+
+    *   "skip_dev_versions" -- if true, unindexed distributions will not be
+        tested. Valid values are 0 or 1. Defaults to 0.
+
+    *   "set_term_title" -- toggle for whether the terminal titlebar will be
+        updated with the distribution being smoke tested and the starting
+        time of the test. Helps determine if a test is hung and which
+        distribution might be responsible. Valid values are 0 or 1. Defaults
+        to 1
+
+    *   "status_file" -- during testing, the name of the distribution under
+        test and a timestamp are written to this file. The file is removed
+        after the test is complete. This helps identify a problem
+        distribution if testing hangs or crashes the computer. If the
+        argument includes a path, all directories to the file must exist.
+        Defaults to "smoker-status-$$.txt" in File::Spec->tmpdir.
+
+    *   "install" -- toggle for whether the distribution should be installed
+        after successful testing. Can be useful to avoid prerequisite
+        re-building and growing PERL5LIB for the cost of disk space used for
+        installed modules. Valid values are 0 or 1. Defaults to 0
+
+    *   "reverse" -- toggle the order in which releases are tested. When set
+        to 1, testing starts from the older release not the most recent one
+        (or the last distribution if --list is provided). Valid values are 0
+        or 1. Defaults to 0
+
+    *   "force_trust" -- toggle whether to override CPAN's
+        "trust_test_report_history" option. When set to 1,
+        "trust_test_report_history" is set to 1. When set to 0,
+        "trust_test_report_history" is left alone and whatever the user has
+        configured for their CPAN client is used. Valid values are 0 or 1.
+        Defaults to 0
+
+    *   "reload_history_period" -- after this period in seconds, history of
+        modules smoked will be reloaded when possible. Default value 1800
+        seconds (30 minutes).
+
+HINTS
+  Selection of distributions to test
+    Only the most recently uploaded developer and normal releases will be
+    tested, and only if the developer release is newer than the regular
+    release indexed by PAUSE.
+
+    For example, if Foo-Bar-0.01, Foo-Bar-0.02, Foo-Bar-0.03_01 and
+    Foo-Bar-0.03_02 are on CPAN, only Foo-Bar-0.02 and Foo-Bar-0.03_02 will
+    be tested, and in reverse order of when they were uploaded. Once
+    Foo-Bar-0.04 is released and indexed, Foo-Bar-0.03_02 will not longer be
+    tested.
+
+    To avoid testing script or other tarballs, developer distributions
+    included must have a base distribution name that resembles a
+    distribution tarball already indexed by PAUSE. If the first upload of
+    distribution to PAUSE is a developer release -- Baz-Bam-0.00_01.tar.gz
+    -- it will not be tested as there is no indexed Baz-Bam appearing in
+    CPAN's 02packages.details.txt file.
+
+    Unauthorized tarballs are treated like developer releases and will be
+    tested if they resemble an indexed distribution and are newer than the
+    indexed tarball.
+
+    Perl, parrot, kurila, Pugs and similar distributions will not be tested.
+    The skip list is based on CPAN::Mini and matches as follows:
+
+         qr{(?:
+               /(?:emb|syb|bio)?perl-\d
+             | /(?:parrot|ponie|kurila|Perl6-Pugs)-\d
+             | /perl-?5\.004
+             | /perl_mlb\.zip
+         )}xi,
+
+    Bundles and mod_perl distributions will also not be tested, though
+    mod_perl is likely to be requested as a dependency by many modules. See
+    the next section for how to tell CPAN.pm not to test certain
+    dependencies.
+
+  Skipping additional distributions
+    If certain distributions hang, crash or otherwise cause trouble, you can
+    use CPAN's "distroprefs" system to disable them. If a distribution is
+    disabled, it won't be built or tested. If a distribution's dependency is
+    disabled, a failing test is just discarded.
+
+    The first step is configuring a directory for distroprefs files:
+
+         $ cpan
+         cpan> o conf init prefs_dir
+         cpan> o conf commit
+
+    Next, ensure that either the YAML or YAML::Syck module is installed.
+    (YAML::Syck is faster). Then create a file in the "prefs_dir" directory
+    to hold the list of distributions to disable, e.g. call it
+    "disabled.yml"
+
+    In that file, you can add blocks of YAML code to disable distributions.
+    The match criteria "distribution" is a regex that matches against the
+    canonical name of a distribution, e.g. "AUTHOR/Foo-Bar-3.14.tar.gz".
+
+    Here is a sample file to show you some syntax (don't actually use these,
+    though):
+
+         ---
+         comment: "Tests take too long"
+         match:
+             distribution: "^DAGOLDEN/CPAN-Reporter-\d"
+         disabled: 1
+         ---
+         comment: "Skip Win32 distributions"
+         match:
+             distribution: "/Win32"
+         disabled: 1
+         ---
+         comment: "Skip distributions by Andy Lester"
+         match:
+             distribution: "^PETDANCE"
+         disabled: 1
+
+    Please note that disabling distributions like this will also disable
+    them for normal, non-smoke usage of CPAN.pm.
+
+    One distribution that I would recommend either installing up front or
+    else disabling with distroprefs is mod_perl, as it is a common
+    requirement for many Apache:: modules but does not (easily) build and
+    test under automation.
+
+         ---
+         comment: "Don't build mod_perl if required by some other module"
+         match:
+             distribution: "/mod_perl-\d"
+         disabled: 1
+
+    Distroprefs are more powerful than this -- they can be used to automate
+    responses to prompts in distributions, set environment variables,
+    specify additional dependencies and so on. Read the docs for CPAN.pm for
+    more and look in the "distroprefs" directory in the CPAN distribution
+    tarball for examples.
+
+  Using a local CPAN::Mini mirror
+    Because distributions must be retrieved from a CPAN mirror, the smoker
+    may cause heavy network load and will repetitively download common build
+    prerequisites.
+
+    An alternative is to use CPAN::Mini to create a local CPAN mirror and to
+    point CPAN's "urllist" to the local mirror.
+
+         $ cpan
+         cpan> o conf urllist unshift file:///path/to/minicpan
+         cpan> o conf commit
+
+    However, CPAN::Reporter::Smoker needs the "find-ls.gz" file, which
+    CPAN::Mini does not mirror by default. Add it to a .minicpanrc file in
+    your home directory to include it in your local CPAN mirror.
+
+         also_mirror: indices/find-ls.gz
+
+    Note that CPAN::Mini does not mirror developer versions. Therefore, a
+    live, network CPAN Mirror will be needed in the urllist to retrieve
+    these.
+
+    Note that CPAN requires the LWP module to be installed to use a local
+    CPAN mirror.
+
+    Alternatively, you might experiment with the alpha-quality release of
+    CPAN::Mini::Devel, which subclasses CPAN::Mini to retrieve developer
+    distributions (and find-ls.gz) using the same logic as
+    CPAN::Reporter::Smoker.
+
+  Timing out hanging tests
+    CPAN::Reporter (since 1.08) supports a 'command_timeout' configuration
+    option. Set this option in the CPAN::Reporter configuration file to time
+    out tests that hang up or get stuck at a prompt. Set it to a high-value
+    to avoid timing out a lengthy tests that are still running -- 1000 or
+    more seconds is probably enough.
+
+    Warning -- on Win32, terminating processes via the command_timeout is
+    equivalent to SIGKILL and could cause system instability or later
+    deadlocks
+
+    This option is still considered experimental.
+
+  Avoiding repetitive prerequisite testing
+    Because CPAN::Reporter::Smoker satisfies all requirements from scratch,
+    common dependencies (e.g. Class::Accessor) will be unpacked, built and
+    tested repeatedly.
+
+    As of version 1.92_56, CPAN supports the "trust_test_report_history"
+    config option. When set, CPAN will check the last test report for a
+    distribution. If one is found, the results of that test are used instead
+    of running tests again.
+
+         $ cpan
+         cpan> o conf init trust_test_report_history
+         cpan> o conf commit
+
+  Avoiding repetitive prerequisite builds (EXPERIMENTAL)
+    CPAN has a "build_dir_reuse" config option. When set (and if a YAML
+    module is installed and configured), CPAN will attempt to make build
+    directories persistent. This has the potential to save substantial time
+    and space during smoke testing. CPAN::Reporter::Smoker will recognize if
+    this option is set and make adjustments to the test process to keep
+    PERL5LIB from growing uncontrollably as the number of persistent
+    directories increases.
+
+    NOTE: Support for "build_dir_reuse" is highly experimental. Wait for at
+    least CPAN version 1.92_62 before trying this option.
+
+         $ cpan
+         cpan> o conf init build_dir_reuse
+         cpan> o conf commit
+
+  Stopping early if a prerequisite fails
+    Normally, CPAN.pm continues testing a distribution even if a
+    prerequisite fails to build or fails testing. Some distributions may
+    pass their tests even without a listed prerequisite, but most just fail
+    (and CPAN::Reporter discards failures if prerequisites are not met).
+
+    As of version 1.92_57, CPAN supports the "halt_on_failure" config
+    option. When set, a prerequisite failure stops further processing.
+
+         $ cpan
+         cpan> o conf init halt_on_failure
+         cpan> o conf commit
+
+    However, a disadvantage of halting early is that no DISCARD grade is
+    recorded in the history. The next time CPAN::Reporter::Smoker runs, the
+    distribution will be tested again from scratch. It may be better to let
+    all prerequisites finish so the distribution can fail its test and be
+    flagged with DISCARD so it will be skipped in the future.
+
+  CPAN cache bloat
+    CPAN will use a lot of scratch space to download, build and test
+    modules. Use CPAN's built-in cache management configuration to let it
+    purge the cache periodically if you don't want to do this manually. When
+    configured, the cache will be purged on start and after a certain number
+    of distributions have been tested as determined by the
+    "clean_cache_after" option for the "start()" function.
+
+         $ cpan
+         cpan> o conf init build_cache scan_cache
+         cpan> o conf commit
+
+  CPAN verbosity
+    Recent versions of CPAN are verbose by default, but include some lesser
+    known configuration settings to minimize this for untarring
+    distributions and for loading support modules. Setting the verbosity for
+    these to 'none' will minimize some of the clutter to the screen as
+    distributions are tested.
+
+         $ cpan
+         cpan> o conf init /verbosity/
+         cpan> o conf commit
+
+  Saving reports to files instead of sending directly
+    In some cases, such as when smoke testing using a development or
+    prerelease toolchain module like Test-Harness, it may be preferable to
+    save reports to files in a directory for review prior to submitting
+    them. To do this, manually set the "transport" option in your
+    CPAN::Reporter config file to use the Test::Reporter::Transport::File
+    transport.
+
+         transport=File /path/to/directory
+
+    After review, send saved reports using Test::Reporter:
+
+         Test::Reporter->new()->read($filename)->send()
+
+ENVIRONMENT
+    Automatically sets the following environment variables to true values
+    while running:
+
+    *   "AUTOMATED_TESTING" -- signal that tests are being run by an
+        automated smoke testing program (i.e. don't expect interactivity)
+
+    *   "PERL_MM_USE_DEFAULT" -- accept ExtUtils::MakeMaker prompt()
+        defaults
+
+    *   "PERL_EXTUTILS_AUTOINSTALL" -- set to '--defaultdeps' for default
+        dependencies
+
+    The following environment variables, if set, will modify the behavior of
+    CPAN::Reporter::Smoker. Generally, they are only required during the
+    testing of CPAN::Reporter::Smoker
+
+    *   "PERL_CR_SMOKER_RUNONCE" -- if true, "start()" will exit after all
+        distributions are tested instead of sleeping for the "restart_delay"
+        and then continuing
+
+    *   "PERL_CR_SMOKER_SHORTCUT" -- if true, "start()" will process
+        arguments (if any) but will return before starting smoke testing;
+        used for testing argument handling by "start()"
+
+BUGS
+    Please report any bugs or feature using the CPAN Request Tracker. Bugs
+    can be submitted through the web interface at
+    <http://rt.cpan.org/Dist/Display.html?Queue=CPAN-Reporter-Smoker>
+
+    When submitting a bug or request, please include a test-file or a patch
+    to an existing test-file that illustrates the bug or desired feature.
+
+SEE ALSO
+    *   CPAN
+
+    *   CPAN::Reporter
+
+    *   CPAN::Testers
+
+    *   CPAN::Mini
+
+    *   CPAN::Mini::Devel
+
+SUPPORT
+  Bugs / Feature Requests
+    Please report any bugs or feature requests through the issue tracker at
+    <https://github.com/cpan-testers/CPAN-Reporter-Smoker/issues>. 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.
+
+    <https://github.com/cpan-testers/CPAN-Reporter-Smoker>
+
+      git clone https://github.com/cpan-testers/CPAN-Reporter-Smoker.git
+
+AUTHOR
+    David Golden <dagolden@cpan.org>
+
+CONTRIBUTORS
+    *   Alexandr Ciornii <alexchorny@gmail.com>
+
+    *   Christian Walde <walde.christian@googlemail.com>
+
+COPYRIGHT AND LICENSE
+    This software is Copyright (c) 2014 by David Golden.
+
+    This is free software, licensed under:
+
+      The Apache License, Version 2.0, January 2004
+
@@ -1,42 +0,0 @@
-README.PATCHING
-
-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 (e.g. Makefile.PL).
-
-However, you can run tests directly using the 'prove' tool:
-
-  $ prove -l
-  $ prove -lv t/some_test_file.t
-
-For most distributions, 'prove' is entirely sufficent for you to test any
-patches you have.
-
-Likewise, much of the documentation Pod is generated at release time.
-Depending on the distribution, some documentation may be written in a Pod
-dialect called WikiDoc. (See Pod::WikiDoc on CPAN.) 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.
-
-Dist::Zilla is a very powerful authoring tool, but requires a number of
-author-specific plugins.  If you would like to use it for contributing,
-install it from CPAN, then run one of the following commands, depending on
-your CPAN client:
-
-  $ 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/
-
@@ -0,0 +1,60 @@
+requires "CPAN" => "1.93";
+requires "CPAN::HandleConfig" => "0";
+requires "CPAN::Reporter::History" => "1.1702";
+requires "CPAN::Tarzip" => "0";
+requires "Carp" => "0";
+requires "Compress::Zlib" => "1.2";
+requires "Exporter" => "0";
+requires "ExtUtils::MakeMaker" => "6.46";
+requires "Fcntl" => "0";
+requires "File::Basename" => "0";
+requires "File::Spec" => "3.27";
+requires "File::Temp" => "0.20";
+requires "Module::Build" => "0.30";
+requires "Probe::Perl" => "0.01";
+requires "Term::Title" => "0.01";
+requires "Test::Reporter" => "1.58";
+requires "perl" => "5.006";
+requires "strict" => "0";
+requires "warnings" => "0";
+
+on 'test' => sub {
+  requires "CPAN::Checksums" => "0";
+  requires "Cwd" => "3.27";
+  requires "ExtUtils::MakeMaker" => "6.46";
+  requires "File::Find" => "0";
+  requires "File::Path" => "0";
+  requires "File::Spec::Functions" => "0";
+  requires "IO::CaptureOutput" => "1.06";
+  requires "IO::File" => "0";
+  requires "List::Util" => "0";
+  requires "Test::More" => "0.62";
+  requires "vars" => "0";
+  requires "version" => "0";
+};
+
+on 'test' => sub {
+  recommends "CPAN::Meta" => "0";
+  recommends "CPAN::Meta::Requirements" => "2.120900";
+};
+
+on 'configure' => sub {
+  requires "ExtUtils::MakeMaker" => "6.17";
+};
+
+on 'develop' => sub {
+  requires "Dist::Zilla" => "5.013";
+  requires "Dist::Zilla::Plugin::Encoding" => "0";
+  requires "Dist::Zilla::Plugin::Prereqs" => "0";
+  requires "Dist::Zilla::Plugin::RemovePrereqs" => "0";
+  requires "Dist::Zilla::PluginBundle::DAGOLDEN" => "0.060";
+  requires "File::Spec" => "0";
+  requires "File::Temp" => "0";
+  requires "IO::Handle" => "0";
+  requires "IPC::Open3" => "0";
+  requires "Pod::Coverage::TrustPod" => "0";
+  requires "Test::CPAN::Meta" => "0";
+  requires "Test::More" => "0";
+  requires "Test::Pod" => "1.41";
+  requires "Test::Pod::Coverage" => "1.08";
+};
@@ -3,9 +3,23 @@ author            = David Golden <dagolden@cpan.org>
 license           = Apache_2_0
 copyright_holder  = David Golden
 
-[@Filter]
-bundle = @DAGOLDEN
-remove = PortabilityTests
+[@DAGOLDEN]
+:version = 0.060
+stopwords = unindexed
+stopwords = Bam
+stopwords = Baz
+stopwords = CTRL
+stopwords = Distroprefs
+stopwords = SIGKILL
+stopwords = cpanreporter
+stopwords = defaultdeps
+stopwords = distroprefs
+stopwords = kurila
+stopwords = minicpanrc
+stopwords = prerelease
+stopwords = titlebar
+stopwords = untarring
+stopwords = urllist
 
 [Prereqs]
 ExtUtils::MakeMaker = 6.46
@@ -15,3 +29,8 @@ Test::Reporter      = 1.58
 [RemovePrereqs]
 remove = YAML
 
+[Encoding]
+encoding = bytes
+match    = ^t/CPAN/authors
+match    = ^t/CPAN/indices
+match    = ^t/CPAN/modules
@@ -2,7 +2,7 @@ use 5.006;
 use strict;
 use warnings;
 package CPAN::Reporter::Smoker;
-our $VERSION = '0.24'; # VERSION
+our $VERSION = '0.26'; # VERSION
 
 use Carp;
 use Config;
@@ -67,6 +67,18 @@ my %spec = (
     default => 0,
     is_valid => sub { /^[01]$/ },
   },
+  'reload_history_period' => {
+    default => 30*60,
+    is_valid => sub { /^\d+$/ },
+  },
+  filter => {
+    default => undef,
+    is_valid => sub { !defined $_ || ref $_ eq 'SUB' }
+  },
+  skip_dev_versions => {
+    default => 0,
+    is_valid => sub { /^[01]$/ },
+  },
 );
 
 sub start {
@@ -113,6 +125,7 @@ sub start {
 
   # global cache of distros smoked to speed skips on restart
   my %seen = map { $_->{dist} => 1 } CPAN::Reporter::History::have_tested();
+  my $history_loaded_at = time;
 
   SCAN_LOOP:
   while ( 1 ) {
@@ -140,7 +153,7 @@ sub start {
       CPAN::Index->reload;
       $CPAN::Frontend->mywarn( "Smoker: scanning and sorting index\n");
 
-      $dists = _parse_module_index( $package, $find_ls );
+      $dists = _parse_module_index( $package, $find_ls, $args{skip_dev_versions} );
 
       $CPAN::Frontend->mywarn( "Smoker: found " . scalar @$dists . " distributions on CPAN\n");
     }
@@ -179,6 +192,11 @@ sub start {
           "Smoker: already tested $base [$count]\n");
         next DIST;
       }
+      elsif ( $args{filter} and $args{filter}->($dist) ) {
+        $CPAN::Frontend->mywarn(
+          "Smoker: dist skipped $base [$count]\n");
+        next DIST;
+      }
       elsif ( CPAN::Distribution->new(%{$dist})->prefs->{disabled} ) {
         $CPAN::Frontend->mywarn(
           "Smoker: dist disabled $base [$count]\n");
@@ -215,6 +233,12 @@ sub start {
         _clean_cache();
         $dists_tested = 0;
       }
+      if (time - $history_loaded_at > $args{reload_history_period}) { #_reload_history
+        %seen = map { $_->{dist} => 1 } CPAN::Reporter::History::have_tested();
+        $history_loaded_at = time;
+        $CPAN::Frontend->mywarn( "List of distros smoked updated\n");
+      }
+
       next SCAN_LOOP if time - $loop_start_time > $args{restart_delay};
     }
     last SCAN_LOOP if $ENV{PERL_CR_SMOKER_RUNONCE};
@@ -361,7 +385,7 @@ sub _base_name {
 #--------------------------------------------------------------------------#-
 
 sub _parse_module_index {
-    my ( $packages, $file_ls ) = @_;
+    my ( $packages, $file_ls, $skip_dev_versions ) = @_;
 
     # first walk the packages list
     # and build an index
@@ -450,6 +474,8 @@ sub _parse_module_index {
             # skip unless there's a matching base from the packages file
             next unless $latest{$base_name};
 
+            next if $skip_dev_versions;
+
             # keep only the latest
             $latest_dev{$base_name} ||= { datetime => 0 };
             if ( $stat{datetime} > $latest_dev{$base_name}{datetime} ) {
@@ -485,17 +511,19 @@ sub _parse_module_index {
 
 # ABSTRACT: Turnkey CPAN Testers smoking
 
-
+__END__
 
 =pod
 
+=encoding UTF-8
+
 =head1 NAME
 
 CPAN::Reporter::Smoker - Turnkey CPAN Testers smoking
 
 =head1 VERSION
 
-version 0.24
+version 0.26
 
 =head1 SYNOPSIS
 
@@ -595,6 +623,11 @@ integer; Defaults to 43200 seconds (12 hours)
 
 =item *
 
+C<<< skip_dev_versions >>> -- if true, unindexed distributions will not be tested.
+Valid values are 0 or 1. Defaults to 0.
+
+=item *
+
 C<<< set_term_title >>> -- toggle for whether the terminal titlebar will be
 updated with the distribution being smoke tested and the starting time
 of the test. Helps determine if a test is hung and which distribution
@@ -630,6 +663,12 @@ is set to 1.  When set to 0, C<<< trust_test_report_history >>> is left alone an
 whatever the user has configured for their CPAN client is used.
 Valid values are 0 or 1. Defaults to 0
 
+=item *
+
+C<<< reload_history_period >>> -- after this period in seconds, history of modules
+smoked will be reloaded when possible.
+Default value 1800 seconds (30 minutes).
+
 =back
 
 =head1 HINTS
@@ -731,7 +770,7 @@ examples.
 =head2 Using a local CPAN::Mini mirror
 
 Because distributions must be retrieved from a CPAN mirror, the smoker may
-cause heavy network load and will reptitively download common build
+cause heavy network load and will repetitively download common build
 prerequisites.
 
 An alternative is to use L<CPAN::Mini> to create a local CPAN mirror and to
@@ -804,7 +843,7 @@ CPAN version 1.92_62 before trying this option.
 
 =head2 Stopping early if a prerequisite fails
 
-Normally, CPAN.pm continues testing a distribution even if a prequisite fails
+Normally, CPAN.pm continues testing a distribution even if a prerequisite fails
 to build or fails testing.  Some distributions may pass their tests even
 without a listed prerequisite, but most just fail (and CPAN::Reporter discards
 failures if prerequisites are not met).
@@ -849,7 +888,7 @@ minimize some of the clutter to the screen as distributions are tested.
 =head2 Saving reports to files instead of sending directly
 
 In some cases, such as when smoke testing using a development or prerelease
-toolchain module like Test-Harness, it may be prefereable to save reports to
+toolchain module like Test-Harness, it may be preferable to save reports to
 files in a directory for review prior to submitting them.  To do this,
 manually set the C<<< transport >>> option in your CPAN::Reporter config file to use
 the L<Test::Reporter::Transport::File> transport.
@@ -938,39 +977,49 @@ L<CPAN::Mini::Devel>
 
 =back
 
-=for :stopwords cpan testmatrix url annocpan anno bugtracker rt cpants kwalitee diff irc mailto metadata placeholders
+=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 by email to C<bug-cpan-reporter-smoker at rt.cpan.org>, or through
-the web interface at L<http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Reporter-Smoker>. You will be automatically notified of any
-progress on the request by the system.
+Please report any bugs or feature requests through the issue tracker
+at L<https://github.com/cpan-testers/CPAN-Reporter-Smoker/issues>.
+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<http://github.com/dagolden/cpan-reporter-smoker>
+L<https://github.com/cpan-testers/CPAN-Reporter-Smoker>
 
-  git clone http://github.com/dagolden/cpan-reporter-smoker
+  git clone https://github.com/cpan-testers/CPAN-Reporter-Smoker.git
 
 =head1 AUTHOR
 
 David Golden <dagolden@cpan.org>
 
+=head1 CONTRIBUTORS
+
+=over 4
+
+=item *
+
+Alexandr Ciornii <alexchorny@gmail.com>
+
+=item *
+
+Christian Walde <walde.christian@googlemail.com>
+
+=back
+
 =head1 COPYRIGHT AND LICENSE
 
-This software is Copyright (c) 2011 by David Golden.
+This software is Copyright (c) 2014 by David Golden.
 
 This is free software, licensed under:
 
   The Apache License, Version 2.0, January 2004
 
 =cut
-
-
-__END__
-
@@ -0,0 +1,26 @@
+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]
+
@@ -1,59 +0,0 @@
-#!perl
-
-use strict;
-use warnings;
-
-use Test::More;
-
-
-
-use File::Find;
-use File::Temp qw{ tempdir };
-
-my @modules;
-find(
-  sub {
-    return if $File::Find::name !~ /\.pm\z/;
-    my $found = $File::Find::name;
-    $found =~ s{^lib/}{};
-    $found =~ s{[/\\]}{::}g;
-    $found =~ s/\.pm$//;
-    # nothing to skip
-    push @modules, $found;
-  },
-  'lib',
-);
-
-my @scripts;
-if ( -d 'bin' ) {
-    find(
-      sub {
-        return unless -f;
-        my $found = $File::Find::name;
-        # nothing to skip
-        push @scripts, $found;
-      },
-      'bin',
-    );
-}
-
-my $plan = scalar(@modules) + scalar(@scripts);
-$plan ? (plan tests => $plan) : (plan skip_all => "no tests to run");
-
-{
-    # fake home for cpan-testers
-     local $ENV{HOME} = tempdir( CLEANUP => 1 );
-
-    like( qx{ $^X -Ilib -e "require $_; print '$_ ok'" }, qr/^\s*$_ ok/s, "$_ loaded ok" )
-        for sort @modules;
-
-    SKIP: {
-        eval "use Test::Script 1.05; 1;";
-        skip "Test::Script needed to test script compilation", scalar(@scripts) if $@;
-        foreach my $file ( @scripts ) {
-            my $script = $file;
-            $script =~ s!.*/!!;
-            script_compiles( $file, "$script script compiles" );
-        }
-    }
-}
@@ -0,0 +1,204 @@
+#!perl
+
+use strict;
+use warnings;
+
+# This test was generated by Dist::Zilla::Plugin::Test::ReportPrereqs 0.013
+
+use Test::More tests => 1;
+
+use ExtUtils::MakeMaker;
+use File::Spec::Functions;
+use List::Util qw/max/;
+use version;
+
+# hide optional CPAN::Meta modules from prereq scanner
+# and check if they are available
+my $cpan_meta = "CPAN::Meta";
+my $cpan_meta_req = "CPAN::Meta::Requirements";
+my $HAS_CPAN_META = eval "require $cpan_meta"; ## no critic
+my $HAS_CPAN_META_REQ = eval "require $cpan_meta_req; $cpan_meta_req->VERSION('2.120900')";
+
+# Verify requirements?
+my $DO_VERIFY_PREREQS = 1;
+
+sub _merge_requires {
+    my ($collector, $prereqs) = @_;
+    for my $phase ( qw/configure build test runtime develop/ ) {
+        next unless exists $prereqs->{$phase};
+        if ( my $req = $prereqs->{$phase}{'requires'} ) {
+            my $cmr = CPAN::Meta::Requirements->from_string_hash( $req );
+            $collector->add_requirements( $cmr );
+        }
+    }
+}
+
+my %include = map {; $_ => 1 } qw(
+
+);
+
+my %exclude = map {; $_ => 1 } qw(
+
+);
+
+# Add static prereqs to the included modules list
+my $static_prereqs = do { my $x = {
+       'configure' => {
+                        'requires' => {
+                                        'ExtUtils::MakeMaker' => '6.17'
+                                      }
+                      },
+       'develop' => {
+                      'requires' => {
+                                      'Dist::Zilla' => '5.013',
+                                      'Dist::Zilla::Plugin::Encoding' => '0',
+                                      'Dist::Zilla::Plugin::Prereqs' => '0',
+                                      'Dist::Zilla::Plugin::RemovePrereqs' => '0',
+                                      'Dist::Zilla::PluginBundle::DAGOLDEN' => '0.060',
+                                      'File::Spec' => '0',
+                                      'File::Temp' => '0',
+                                      'IO::Handle' => '0',
+                                      'IPC::Open3' => '0',
+                                      'Pod::Coverage::TrustPod' => '0',
+                                      'Test::CPAN::Meta' => '0',
+                                      'Test::More' => '0',
+                                      'Test::Pod' => '1.41',
+                                      'Test::Pod::Coverage' => '1.08'
+                                    }
+                    },
+       'runtime' => {
+                      'requires' => {
+                                      'CPAN' => '1.93',
+                                      'CPAN::HandleConfig' => '0',
+                                      'CPAN::Reporter::History' => '1.1702',
+                                      'CPAN::Tarzip' => '0',
+                                      'Carp' => '0',
+                                      'Compress::Zlib' => '1.2',
+                                      'Exporter' => '0',
+                                      'ExtUtils::MakeMaker' => '6.46',
+                                      'Fcntl' => '0',
+                                      'File::Basename' => '0',
+                                      'File::Spec' => '3.27',
+                                      'File::Temp' => '0.20',
+                                      'Module::Build' => '0.30',
+                                      'Probe::Perl' => '0.01',
+                                      'Term::Title' => '0.01',
+                                      'Test::Reporter' => '1.58',
+                                      'perl' => '5.006',
+                                      'strict' => '0',
+                                      'warnings' => '0'
+                                    }
+                    },
+       'test' => {
+                   'recommends' => {
+                                     'CPAN::Meta' => '0',
+                                     'CPAN::Meta::Requirements' => '2.120900'
+                                   },
+                   'requires' => {
+                                   'CPAN::Checksums' => '0',
+                                   'Cwd' => '3.27',
+                                   'ExtUtils::MakeMaker' => '6.46',
+                                   'File::Find' => '0',
+                                   'File::Path' => '0',
+                                   'File::Spec::Functions' => '0',
+                                   'IO::CaptureOutput' => '1.06',
+                                   'IO::File' => '0',
+                                   'List::Util' => '0',
+                                   'Test::More' => '0.62',
+                                   'vars' => '0',
+                                   'version' => '0'
+                                 }
+                 }
+     };
+  $x;
+ };
+
+delete $static_prereqs->{develop} if not $ENV{AUTHOR_TESTING};
+$include{$_} = 1 for map { keys %$_ } map { values %$_ } values %$static_prereqs;
+
+# Merge requirements for major phases (if we can)
+my $all_requires;
+if ( $DO_VERIFY_PREREQS && $HAS_CPAN_META_REQ ) {
+    $all_requires = $cpan_meta_req->new;
+    _merge_requires($all_requires, $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) } ) {
+    my $dynamic_prereqs = $meta->prereqs;
+    delete $dynamic_prereqs->{develop} if not $ENV{AUTHOR_TESTING};
+    $include{$_} = 1 for map { keys %$_ } map { values %$_ } values %$dynamic_prereqs;
+
+    if ( $DO_VERIFY_PREREQS && $HAS_CPAN_META_REQ ) {
+        _merge_requires($all_requires, $dynamic_prereqs);
+    }
+  }
+}
+else {
+  $source = 'static metadata';
+}
+
+my @modules = sort grep { ! $exclude{$_} } keys %include;
+my @reports = [qw/Version Module/];
+my @dep_errors;
+my $req_hash = defined($all_requires) ? $all_requires->as_string_hash : {};
+
+for my $mod ( @modules ) {
+  next if $mod eq 'perl';
+  my $file = $mod;
+  $file =~ s{::}{/}g;
+  $file .= ".pm";
+  my ($prefix) = grep { -e catfile($_, $file) } @INC;
+  if ( $prefix ) {
+    my $ver = MM->parse_version( catfile($prefix, $file) );
+    $ver = "undef" unless defined $ver; # Newer MM should do this anyway
+    push @reports, [$ver, $mod];
+
+    if ( $DO_VERIFY_PREREQS && $all_requires ) {
+      my $req = $req_hash->{$mod};
+      if ( defined $req && length $req ) {
+        if ( ! defined eval { version->parse($ver) } ) {
+          push @dep_errors, "$mod version '$ver' cannot be parsed (version '$req' required)";
+        }
+        elsif ( ! $all_requires->accepts_module( $mod => $ver ) ) {
+          push @dep_errors, "$mod version '$ver' is not in required range '$req'";
+        }
+      }
+    }
+
+  }
+  else {
+    push @reports, ["missing", $mod];
+
+    if ( $DO_VERIFY_PREREQS && $all_requires ) {
+      my $req = $req_hash->{$mod};
+      if ( defined $req && length $req ) {
+        push @dep_errors, "$mod is not installed (version '$req' required)";
+      }
+    }
+  }
+}
+
+if ( @reports ) {
+  my $vl = max map { length $_->[0] } @reports;
+  my $ml = max map { length $_->[1] } @reports;
+  splice @reports, 1, 0, ["-" x $vl, "-" x $ml];
+  diag "\nVersions for all modules listed in $source (including optional ones):\n",
+    map {sprintf("  %*s %*s\n",$vl,$_->[0],-$ml,$_->[1])} @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:
@@ -1,402 +1,13 @@
-NAME
-    CPAN::Reporter::Smoker - Turnkey CPAN Testers smoking
+#--------------------------------------------------------------------------#
+README for find-ls
+#--------------------------------------------------------------------------#
 
-VERSION
-    version 0.24
+- generated from 'find . -ls > find-ls'
+    - any leading ./ stripped
+    - dates converted to YYYYMMDD.dddddd timestamp if needed
 
-SYNOPSIS
-         $ perl -MCPAN::Reporter::Smoker -e start
-
-DESCRIPTION
-    Rudimentary smoke tester for CPAN Testers, built upon CPAN::Reporter.
-    Use at your own risk. It requires a recent version of CPAN::Reporter to
-    run.
-
-    Currently, CPAN::Reporter::Smoker requires zero independent
-    configuration; instead it uses configuration settings from CPAN.pm and
-    CPAN::Reporter.
-
-    Once started, it retrieves a list of distributions from the configured
-    CPAN mirror and begins testing them in reverse order of upload. It will
-    skip any distribution which has already had a report sent by
-    CPAN::Reporter.
-
-    Features (or bugs, depending on your point of view):
-
-    *   No configuration needed
-
-    *   Tests each distribution as a separate CPAN process -- each
-        distribution has prerequisites like build_requires satisfied from
-        scratch
-
-    *   Automatically checks for new distributions every twelve hours or as
-        otherwise specified
-
-    *   Continues until interrupted with CTRL-C
-
-    *   Checks CPAN.pm "distroprefs" to see if distributions should be
-        skipped (before handing off to CPAN)
-
-    Current limitations:
-
-    *   Does not attempt to retest distributions that had reports discarded
-        because of prerequisites that could not be satisfied
-
-  WARNING -- smoke testing is risky
-    Smoke testing will download and run programs that other people have
-    uploaded to CPAN. These programs could do anything to your system,
-    including deleting everything on it. Do not run CPAN::Reporter::Smoker
-    unless you are prepared to take these risks.
-
-USAGE
-  "start()"
-    Starts smoke testing using defaults already in CPAN::Config and
-    CPAN::Reporter's .cpanreporter directory. Runs until all distributions
-    are tested or the process is halted with CTRL-C or otherwise killed.
-
-    "start()" supports several optional arguments:
-
-    *   "clean_cache_after" -- number of distributions that will be tested
-        before checking to see if the CPAN build cache needs to be cleaned
-        up (not including any prerequisites tested). Must be a positive
-        integer. Defaults to 100
-
-    *   "list" -- if provided, this list of distributions will be tested
-        instead of all of CPAN. May be a reference to an array of
-        distribution names or may be a filename containing one distribution
-        name per line. Distribution names must be of the form
-        'AUTHOR/Dist-Name-0.00.tar.gz'
-
-    *   "restart_delay" -- number of seconds that must elapse before
-        restarting smoke testing. This will reload indices to search for new
-        distributions and restart testing from the most recent distribution.
-        Must be a positive integer; Defaults to 43200 seconds (12 hours)
-
-    *   "set_term_title" -- toggle for whether the terminal titlebar will be
-        updated with the distribution being smoke tested and the starting
-        time of the test. Helps determine if a test is hung and which
-        distribution might be responsible. Valid values are 0 or 1. Defaults
-        to 1
-
-    *   "status_file" -- during testing, the name of the distribution under
-        test and a timestamp are written to this file. The file is removed
-        after the test is complete. This helps identify a problem
-        distribution if testing hangs or crashes the computer. If the
-        argument includes a path, all directories to the file must exist.
-        Defaults to "smoker-status-$$.txt" in File::Spec->tmpdir.
-
-    *   "install" -- toggle for whether the distribution should be installed
-        after successful testing. Can be useful to avoid prerequisite
-        re-building and growing PERL5LIB for the cost of disk space used for
-        installed modules. Valid values are 0 or 1. Defaults to 0
-
-    *   "reverse" -- toggle the order in which releases are tested. When set
-        to 1, testing starts from the older release not the most recent one
-        (or the last distribution if --list is provided). Valid values are 0
-        or 1. Defaults to 0
-
-    *   "force_trust" -- toggle whether to override CPAN's
-        "trust_test_report_history" option. When set to 1,
-        "trust_test_report_history" is set to 1. When set to 0,
-        "trust_test_report_history" is left alone and whatever the user has
-        configured for their CPAN client is used. Valid values are 0 or 1.
-        Defaults to 0
-
-HINTS
-  Selection of distributions to test
-    Only the most recently uploaded developer and normal releases will be
-    tested, and only if the developer release is newer than the regular
-    release indexed by PAUSE.
-
-    For example, if Foo-Bar-0.01, Foo-Bar-0.02, Foo-Bar-0.03_01 and
-    Foo-Bar-0.03_02 are on CPAN, only Foo-Bar-0.02 and Foo-Bar-0.03_02 will
-    be tested, and in reverse order of when they were uploaded. Once
-    Foo-Bar-0.04 is released and indexed, Foo-Bar-0.03_02 will not longer be
-    tested.
-
-    To avoid testing script or other tarballs, developer distributions
-    included must have a base distribution name that resembles a
-    distribution tarball already indexed by PAUSE. If the first upload of
-    distribution to PAUSE is a developer release -- Baz-Bam-0.00_01.tar.gz
-    -- it will not be tested as there is no indexed Baz-Bam appearing in
-    CPAN's 02packages.details.txt file.
-
-    Unauthorized tarballs are treated like developer releases and will be
-    tested if they resemble an indexed distribution and are newer than the
-    indexed tarball.
-
-    Perl, parrot, kurila, Pugs and similar distributions will not be tested.
-    The skip list is based on CPAN::Mini and matches as follows:
-
-         qr{(?:
-               /(?:emb|syb|bio)?perl-\d
-             | /(?:parrot|ponie|kurila|Perl6-Pugs)-\d
-             | /perl-?5\.004
-             | /perl_mlb\.zip
-         )}xi,
-
-    Bundles and mod_perl distributions will also not be tested, though
-    mod_perl is likely to be requested as a dependency by many modules. See
-    the next section for how to tell CPAN.pm not to test certain
-    dependencies.
-
-  Skipping additional distributions
-    If certain distributions hang, crash or otherwise cause trouble, you can
-    use CPAN's "distroprefs" system to disable them. If a distribution is
-    disabled, it won't be built or tested. If a distribution's dependency is
-    disabled, a failing test is just discarded.
-
-    The first step is configuring a directory for distroprefs files:
-
-         $ cpan
-         cpan> o conf init prefs_dir
-         cpan> o conf commit
-
-    Next, ensure that either the YAML or YAML::Syck module is installed.
-    (YAML::Syck is faster). Then create a file in the "prefs_dir" directory
-    to hold the list of distributions to disable, e.g. call it
-    "disabled.yml"
-
-    In that file, you can add blocks of YAML code to disable distributions.
-    The match criteria "distribution" is a regex that matches against the
-    canonical name of a distribution, e.g. "AUTHOR/Foo-Bar-3.14.tar.gz".
-
-    Here is a sample file to show you some syntax (don't actually use these,
-    though):
-
-         ---
-         comment: "Tests take too long"
-         match:
-             distribution: "^DAGOLDEN/CPAN-Reporter-\d"
-         disabled: 1
-         ---
-         comment: "Skip Win32 distributions"
-         match:
-             distribution: "/Win32"
-         disabled: 1
-         ---
-         comment: "Skip distributions by Andy Lester"
-         match:
-             distribution: "^PETDANCE"
-         disabled: 1
-
-    Please note that disabling distributions like this will also disable
-    them for normal, non-smoke usage of CPAN.pm.
-
-    One distribution that I would recommend either installing up front or
-    else disabling with distroprefs is mod_perl, as it is a common
-    requirement for many Apache:: modules but does not (easily) build and
-    test under automation.
-
-         ---
-         comment: "Don't build mod_perl if required by some other module"
-         match:
-             distribution: "/mod_perl-\d"
-         disabled: 1
-
-    Distroprefs are more powerful than this -- they can be used to automate
-    responses to prompts in distributions, set environment variables,
-    specify additional dependencies and so on. Read the docs for CPAN.pm for
-    more and look in the "distroprefs" directory in the CPAN distribution
-    tarball for examples.
-
-  Using a local CPAN::Mini mirror
-    Because distributions must be retrieved from a CPAN mirror, the smoker
-    may cause heavy network load and will reptitively download common build
-    prerequisites.
-
-    An alternative is to use CPAN::Mini to create a local CPAN mirror and to
-    point CPAN's "urllist" to the local mirror.
-
-         $ cpan
-         cpan> o conf urllist unshift file:///path/to/minicpan
-         cpan> o conf commit
-
-    However, CPAN::Reporter::Smoker needs the "find-ls.gz" file, which
-    CPAN::Mini does not mirror by default. Add it to a .minicpanrc file in
-    your home directory to include it in your local CPAN mirror.
-
-         also_mirror: indices/find-ls.gz
-
-    Note that CPAN::Mini does not mirror developer versions. Therefore, a
-    live, network CPAN Mirror will be needed in the urllist to retrieve
-    these.
-
-    Note that CPAN requires the LWP module to be installed to use a local
-    CPAN mirror.
-
-    Alternatively, you might experiment with the alpha-quality release of
-    CPAN::Mini::Devel, which subclasses CPAN::Mini to retrieve developer
-    distributions (and find-ls.gz) using the same logic as
-    CPAN::Reporter::Smoker.
-
-  Timing out hanging tests
-    CPAN::Reporter (since 1.08) supports a 'command_timeout' configuration
-    option. Set this option in the CPAN::Reporter configuration file to time
-    out tests that hang up or get stuck at a prompt. Set it to a high-value
-    to avoid timing out a lengthy tests that are still running -- 1000 or
-    more seconds is probably enough.
-
-    Warning -- on Win32, terminating processes via the command_timeout is
-    equivalent to SIGKILL and could cause system instability or later
-    deadlocks
-
-    This option is still considered experimental.
-
-  Avoiding repetitive prerequisite testing
-    Because CPAN::Reporter::Smoker satisfies all requirements from scratch,
-    common dependencies (e.g. Class::Accessor) will be unpacked, built and
-    tested repeatedly.
-
-    As of version 1.92_56, CPAN supports the "trust_test_report_history"
-    config option. When set, CPAN will check the last test report for a
-    distribution. If one is found, the results of that test are used instead
-    of running tests again.
-
-         $ cpan
-         cpan> o conf init trust_test_report_history
-         cpan> o conf commit
-
-  Avoiding repetitive prerequisite builds (EXPERIMENTAL)
-    CPAN has a "build_dir_reuse" config option. When set (and if a YAML
-    module is installed and configured), CPAN will attempt to make build
-    directories persistent. This has the potential to save substantial time
-    and space during smoke testing. CPAN::Reporter::Smoker will recognize if
-    this option is set and make adjustments to the test process to keep
-    PERL5LIB from growing uncontrollably as the number of persistent
-    directories increases.
-
-    NOTE: Support for "build_dir_reuse" is highly experimental. Wait for at
-    least CPAN version 1.92_62 before trying this option.
-
-         $ cpan
-         cpan> o conf init build_dir_reuse
-         cpan> o conf commit
-
-  Stopping early if a prerequisite fails
-    Normally, CPAN.pm continues testing a distribution even if a prequisite
-    fails to build or fails testing. Some distributions may pass their tests
-    even without a listed prerequisite, but most just fail (and
-    CPAN::Reporter discards failures if prerequisites are not met).
-
-    As of version 1.92_57, CPAN supports the "halt_on_failure" config
-    option. When set, a prerequisite failure stops further processing.
-
-         $ cpan
-         cpan> o conf init halt_on_failure
-         cpan> o conf commit
-
-    However, a disadvantage of halting early is that no DISCARD grade is
-    recorded in the history. The next time CPAN::Reporter::Smoker runs, the
-    distribution will be tested again from scratch. It may be better to let
-    all prerequisites finish so the distribution can fail its test and be
-    flagged with DISCARD so it will be skipped in the future.
-
-  CPAN cache bloat
-    CPAN will use a lot of scratch space to download, build and test
-    modules. Use CPAN's built-in cache management configuration to let it
-    purge the cache periodically if you don't want to do this manually. When
-    configured, the cache will be purged on start and after a certain number
-    of distributions have been tested as determined by the
-    "clean_cache_after" option for the "start()" function.
-
-         $ cpan
-         cpan> o conf init build_cache scan_cache
-         cpan> o conf commit
-
-  CPAN verbosity
-    Recent versions of CPAN are verbose by default, but include some lesser
-    known configuration settings to minimize this for untarring
-    distributions and for loading support modules. Setting the verbosity for
-    these to 'none' will minimize some of the clutter to the screen as
-    distributions are tested.
-
-         $ cpan
-         cpan> o conf init /verbosity/
-         cpan> o conf commit
-
-  Saving reports to files instead of sending directly
-    In some cases, such as when smoke testing using a development or
-    prerelease toolchain module like Test-Harness, it may be prefereable to
-    save reports to files in a directory for review prior to submitting
-    them. To do this, manually set the "transport" option in your
-    CPAN::Reporter config file to use the Test::Reporter::Transport::File
-    transport.
-
-         transport=File /path/to/directory
-
-    After review, send saved reports using Test::Reporter:
-
-         Test::Reporter->new()->read($filename)->send()
-
-ENVIRONMENT
-    Automatically sets the following environment variables to true values
-    while running:
-
-    *   "AUTOMATED_TESTING" -- signal that tests are being run by an
-        automated smoke testing program (i.e. don't expect interactivity)
-
-    *   "PERL_MM_USE_DEFAULT" -- accept ExtUtils::MakeMaker prompt()
-        defaults
-
-    *   "PERL_EXTUTILS_AUTOINSTALL" -- set to '--defaultdeps' for default
-        dependencies
-
-    The following environment variables, if set, will modify the behavior of
-    CPAN::Reporter::Smoker. Generally, they are only required during the
-    testing of CPAN::Reporter::Smoker
-
-    *   "PERL_CR_SMOKER_RUNONCE" -- if true, "start()" will exit after all
-        distributions are tested instead of sleeping for the "restart_delay"
-        and then continuing
-
-    *   "PERL_CR_SMOKER_SHORTCUT" -- if true, "start()" will process
-        arguments (if any) but will return before starting smoke testing;
-        used for testing argument handling by "start()"
-
-BUGS
-    Please report any bugs or feature using the CPAN Request Tracker. Bugs
-    can be submitted through the web interface at
-    <http://rt.cpan.org/Dist/Display.html?Queue=CPAN-Reporter-Smoker>
-
-    When submitting a bug or request, please include a test-file or a patch
-    to an existing test-file that illustrates the bug or desired feature.
-
-SEE ALSO
-    *   CPAN
-
-    *   CPAN::Reporter
-
-    *   CPAN::Testers
-
-    *   CPAN::Mini
-
-    *   CPAN::Mini::Devel
-
-SUPPORT
-  Bugs / Feature Requests
-    Please report any bugs or feature requests by email to
-    "bug-cpan-reporter-smoker at rt.cpan.org", or through the web interface
-    at
-    <http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Reporter-Smoker>.
-    You will be automatically notified of any progress on the request by the
-    system.
-
-  Source Code
-    This is open source software. The code repository is available for
-    public review and contribution under the terms of the license.
-
-    <http://github.com/dagolden/cpan-reporter-smoker>
-
-      git clone http://github.com/dagolden/cpan-reporter-smoker
-
-AUTHOR
-    David Golden <dagolden@cpan.org>
-
-COPYRIGHT AND LICENSE
-    This software is Copyright (c) 2011 by David Golden.
-
-    This is free software, licensed under:
-
-      The Apache License, Version 2.0, January 2004
+- timestamps for modules adjusted so that alphabetically earlier 
+  Author/DistName-version strings have a later timestamp (as they will
+  be tested first)
 
+- resulting file to be compresses with gzip 
@@ -0,0 +1,53 @@
+use 5.006;
+use strict;
+use warnings;
+
+# this test was generated with Dist::Zilla::Plugin::Test::Compile 2.039
+
+use Test::More  tests => 1 + ($ENV{AUTHOR_TESTING} ? 1 : 0);
+
+
+
+my @module_files = (
+    'CPAN/Reporter/Smoker.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<perlfaq8/How can I capture STDERR from an external command?>
+    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");
+
+    if (@_warnings)
+    {
+        warn @_warnings;
+        push @warnings, @_warnings;
+    }
+}
+
+
+
+is(scalar(@warnings), 0, 'no warnings found') if $ENV{AUTHOR_TESTING};
+
+
@@ -0,0 +1,12 @@
+#!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();
@@ -0,0 +1,40 @@
+use strict;
+use warnings;
+use Test::More;
+
+# generated by Dist::Zilla::Plugin::Test::PodSpelling 2.006007
+use Test::Spelling 0.12;
+use Pod::Wordlist;
+
+
+add_stopwords(<DATA>);
+all_pod_files_spelling_ok( qw( bin lib  ) );
+__DATA__
+unindexed
+Bam
+Baz
+CTRL
+Distroprefs
+SIGKILL
+cpanreporter
+defaultdeps
+distroprefs
+kurila
+minicpanrc
+prerelease
+titlebar
+untarring
+urllist
+David
+Golden
+dagolden
+Alexandr
+Ciornii
+alexchorny
+Christian
+Walde
+walde
+lib
+CPAN
+Reporter
+Smoker
@@ -1,7 +1,6 @@
 #!perl
+# This file was automatically generated by Dist::Zilla::Plugin::MetaTests.
 
-use Test::More;
+use Test::CPAN::Meta;
 
-eval "use Test::CPAN::Meta";
-plan skip_all => "Test::CPAN::Meta required for testing META.yml" if $@;
 meta_yaml_ok();
@@ -0,0 +1,8 @@
+#!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} );
@@ -1,13 +1,7 @@
 #!perl
+# This file was automatically generated by Dist::Zilla::Plugin::PodCoverageTests.
 
-use Test::More;
-
-eval "use Test::Pod::Coverage 1.08";
-plan skip_all => "Test::Pod::Coverage 1.08 required for testing POD coverage"
-  if $@;
-
-eval "use Pod::Coverage::TrustPod";
-plan skip_all => "Pod::Coverage::TrustPod required for testing POD coverage"
-  if $@;
+use Test::Pod::Coverage 1.08;
+use Pod::Coverage::TrustPod;
 
 all_pod_coverage_ok({ coverage_class => 'Pod::Coverage::TrustPod' });
@@ -1,7 +1,6 @@
 #!perl
+# This file was automatically generated by Dist::Zilla::Plugin::PodSyntaxTests.
 use Test::More;
-
-eval "use Test::Pod 1.41";
-plan skip_all => "Test::Pod 1.41 required for testing POD" if $@;
+use Test::Pod 1.41;
 
 all_pod_files_ok();
@@ -0,0 +1,12 @@
+#!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();
@@ -1,12 +1,22 @@
-#!/usr/bin/perl
-use 5.006;
 use strict;
 use warnings;
 use Test::More;
 
-eval "use Test::Version 0.04";
-plan skip_all => "Test::Version 0.04 required for testing versions"
-    if $@;
+# generated by Dist::Zilla::Plugin::Test::Version 0.002004
+BEGIN { eval "use Test::Version; 1;" or die $@; }
 
-version_all_ok();
+my @imports = ( 'version_all_ok' );
+
+my $params = {
+    is_strict   => 0,
+    has_version => 1,
+};
+
+push @imports, $params
+    if version->parse( $Test::Version::VERSION ) >= version->parse('1.002');
+
+
+Test::Version->import(@imports);
+
+version_all_ok;
 done_testing;