In perl.git, the branch blead has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/1195d90a5747942a65c309d1691cb3e85790e09e?hp=93309f6b79580ff87f973d8f99f1b23d197749d7>

- Log -----------------------------------------------------------------
commit 1195d90a5747942a65c309d1691cb3e85790e09e
Author: Chris 'BinGOs' Williams <ch...@bingosnet.co.uk>
Date:   Thu Oct 5 13:35:08 2017 +0100

    Update Test-Simple to CPAN version 1.302098
    
      [DELTA]
    
    1.302098  2017-10-03 06:13:49-07:00 America/Los_Angeles
    
        - Add docs for test2_stdout and test2_stderr
        - Fix 5.6 support

M       Porting/Maintainers.pl
M       Porting/cmpVERSION.pl
M       cpan/Test-Simple/lib/Test/Builder.pm
M       cpan/Test-Simple/lib/Test/Builder/Formatter.pm
M       cpan/Test-Simple/lib/Test/Builder/IO/Scalar.pm
M       cpan/Test-Simple/lib/Test/Builder/Module.pm
M       cpan/Test-Simple/lib/Test/Builder/Tester.pm
M       cpan/Test-Simple/lib/Test/Builder/Tester/Color.pm
M       cpan/Test-Simple/lib/Test/Builder/TodoDiag.pm
M       cpan/Test-Simple/lib/Test/More.pm
M       cpan/Test-Simple/lib/Test/Simple.pm
M       cpan/Test-Simple/lib/Test/Tester.pm
M       cpan/Test-Simple/lib/Test/Tester/Capture.pm
M       cpan/Test-Simple/lib/Test/Tester/CaptureRunner.pm
M       cpan/Test-Simple/lib/Test/Tester/Delegate.pm
M       cpan/Test-Simple/lib/Test/use/ok.pm
M       cpan/Test-Simple/lib/Test2.pm
M       cpan/Test-Simple/lib/Test2/API.pm
M       cpan/Test-Simple/lib/Test2/API/Breakage.pm
M       cpan/Test-Simple/lib/Test2/API/Context.pm
M       cpan/Test-Simple/lib/Test2/API/Instance.pm
M       cpan/Test-Simple/lib/Test2/API/Stack.pm
M       cpan/Test-Simple/lib/Test2/Event.pm
M       cpan/Test-Simple/lib/Test2/Event/Bail.pm
M       cpan/Test-Simple/lib/Test2/Event/Diag.pm
M       cpan/Test-Simple/lib/Test2/Event/Encoding.pm
M       cpan/Test-Simple/lib/Test2/Event/Exception.pm
M       cpan/Test-Simple/lib/Test2/Event/Fail.pm
M       cpan/Test-Simple/lib/Test2/Event/Generic.pm
M       cpan/Test-Simple/lib/Test2/Event/Note.pm
M       cpan/Test-Simple/lib/Test2/Event/Ok.pm
M       cpan/Test-Simple/lib/Test2/Event/Pass.pm
M       cpan/Test-Simple/lib/Test2/Event/Plan.pm
M       cpan/Test-Simple/lib/Test2/Event/Skip.pm
M       cpan/Test-Simple/lib/Test2/Event/Subtest.pm
M       cpan/Test-Simple/lib/Test2/Event/TAP/Version.pm
M       cpan/Test-Simple/lib/Test2/Event/Waiting.pm
M       cpan/Test-Simple/lib/Test2/EventFacet.pm
M       cpan/Test-Simple/lib/Test2/EventFacet/About.pm
M       cpan/Test-Simple/lib/Test2/EventFacet/Amnesty.pm
M       cpan/Test-Simple/lib/Test2/EventFacet/Assert.pm
M       cpan/Test-Simple/lib/Test2/EventFacet/Control.pm
M       cpan/Test-Simple/lib/Test2/EventFacet/Error.pm
M       cpan/Test-Simple/lib/Test2/EventFacet/Info.pm
M       cpan/Test-Simple/lib/Test2/EventFacet/Meta.pm
M       cpan/Test-Simple/lib/Test2/EventFacet/Parent.pm
M       cpan/Test-Simple/lib/Test2/EventFacet/Plan.pm
M       cpan/Test-Simple/lib/Test2/EventFacet/Trace.pm
M       cpan/Test-Simple/lib/Test2/Formatter.pm
M       cpan/Test-Simple/lib/Test2/Formatter/TAP.pm
M       cpan/Test-Simple/lib/Test2/Hub.pm
M       cpan/Test-Simple/lib/Test2/Hub/Interceptor.pm
M       cpan/Test-Simple/lib/Test2/Hub/Interceptor/Terminator.pm
M       cpan/Test-Simple/lib/Test2/Hub/Subtest.pm
M       cpan/Test-Simple/lib/Test2/IPC.pm
M       cpan/Test-Simple/lib/Test2/IPC/Driver.pm
M       cpan/Test-Simple/lib/Test2/IPC/Driver/Files.pm
M       cpan/Test-Simple/lib/Test2/Tools/Tiny.pm
M       cpan/Test-Simple/lib/Test2/Util.pm
M       cpan/Test-Simple/lib/Test2/Util/ExternalMeta.pm
M       cpan/Test-Simple/lib/Test2/Util/Facets2Legacy.pm
M       cpan/Test-Simple/lib/Test2/Util/Trace.pm
M       cpan/Test-Simple/lib/ok.pm
M       cpan/Test-Simple/t/Test2/modules/Util.t

commit 62e112f35767e13ea6edf52391064ba4290d5400
Author: Chris 'BinGOs' Williams <ch...@bingosnet.co.uk>
Date:   Thu Oct 5 13:32:45 2017 +0100

    Update Digest-SHA to CPAN version 5.98
    
      [DELTA]
    
    5.98  Wed Oct  4 00:40:02 MST 2017
      - removed "portable" mode from shasum and addfile
        -- rarely used, mostly in outdated systems
        -- potentially confusing features (e.g. \r\r\n -> \n)
        -- Universal Newlines mode (-U) a much cleaner approach
          -- mimics Universal Newlines in Python
      - shasum now uses Digest::SHA explicitly
        -- no longer loads Digest::SHA::PurePerl as an option
          -- hence no need for -R switch
        -- Digest::SHA::PurePerl has its own shasum: shasumpp

M       Porting/Maintainers.pl
M       cpan/Digest-SHA/lib/Digest/SHA.pm
M       cpan/Digest-SHA/shasum
M       cpan/Digest-SHA/src/sha.c
M       cpan/Digest-SHA/src/sha.h
M       cpan/Digest-SHA/src/sha64bit.c
M       cpan/Digest-SHA/src/sha64bit.h
M       cpan/Digest-SHA/t/methods.t
-----------------------------------------------------------------------

Summary of changes:
 Porting/Maintainers.pl                             |  4 +-
 Porting/cmpVERSION.pl                              |  1 +
 cpan/Digest-SHA/lib/Digest/SHA.pm                  | 23 +-----
 cpan/Digest-SHA/shasum                             | 89 ++++++----------------
 cpan/Digest-SHA/src/sha.c                          |  4 +-
 cpan/Digest-SHA/src/sha.h                          |  4 +-
 cpan/Digest-SHA/src/sha64bit.c                     |  4 +-
 cpan/Digest-SHA/src/sha64bit.h                     |  4 +-
 cpan/Digest-SHA/t/methods.t                        | 31 +-------
 cpan/Test-Simple/lib/Test/Builder.pm               |  2 +-
 cpan/Test-Simple/lib/Test/Builder/Formatter.pm     |  2 +-
 cpan/Test-Simple/lib/Test/Builder/IO/Scalar.pm     |  1 +
 cpan/Test-Simple/lib/Test/Builder/Module.pm        |  2 +-
 cpan/Test-Simple/lib/Test/Builder/Tester.pm        |  2 +-
 cpan/Test-Simple/lib/Test/Builder/Tester/Color.pm  |  2 +-
 cpan/Test-Simple/lib/Test/Builder/TodoDiag.pm      |  2 +-
 cpan/Test-Simple/lib/Test/More.pm                  |  2 +-
 cpan/Test-Simple/lib/Test/Simple.pm                |  2 +-
 cpan/Test-Simple/lib/Test/Tester.pm                |  2 +-
 cpan/Test-Simple/lib/Test/Tester/Capture.pm        |  2 +-
 cpan/Test-Simple/lib/Test/Tester/CaptureRunner.pm  |  2 +-
 cpan/Test-Simple/lib/Test/Tester/Delegate.pm       |  2 +-
 cpan/Test-Simple/lib/Test/use/ok.pm                |  2 +-
 cpan/Test-Simple/lib/Test2.pm                      |  2 +-
 cpan/Test-Simple/lib/Test2/API.pm                  | 19 ++++-
 cpan/Test-Simple/lib/Test2/API/Breakage.pm         |  2 +-
 cpan/Test-Simple/lib/Test2/API/Context.pm          |  2 +-
 cpan/Test-Simple/lib/Test2/API/Instance.pm         |  2 +-
 cpan/Test-Simple/lib/Test2/API/Stack.pm            |  2 +-
 cpan/Test-Simple/lib/Test2/Event.pm                |  2 +-
 cpan/Test-Simple/lib/Test2/Event/Bail.pm           |  2 +-
 cpan/Test-Simple/lib/Test2/Event/Diag.pm           |  2 +-
 cpan/Test-Simple/lib/Test2/Event/Encoding.pm       |  2 +-
 cpan/Test-Simple/lib/Test2/Event/Exception.pm      |  2 +-
 cpan/Test-Simple/lib/Test2/Event/Fail.pm           |  2 +-
 cpan/Test-Simple/lib/Test2/Event/Generic.pm        |  2 +-
 cpan/Test-Simple/lib/Test2/Event/Note.pm           |  2 +-
 cpan/Test-Simple/lib/Test2/Event/Ok.pm             |  2 +-
 cpan/Test-Simple/lib/Test2/Event/Pass.pm           |  2 +-
 cpan/Test-Simple/lib/Test2/Event/Plan.pm           |  2 +-
 cpan/Test-Simple/lib/Test2/Event/Skip.pm           |  2 +-
 cpan/Test-Simple/lib/Test2/Event/Subtest.pm        |  2 +-
 cpan/Test-Simple/lib/Test2/Event/TAP/Version.pm    |  2 +-
 cpan/Test-Simple/lib/Test2/Event/Waiting.pm        |  2 +-
 cpan/Test-Simple/lib/Test2/EventFacet.pm           |  2 +-
 cpan/Test-Simple/lib/Test2/EventFacet/About.pm     |  2 +-
 cpan/Test-Simple/lib/Test2/EventFacet/Amnesty.pm   |  2 +-
 cpan/Test-Simple/lib/Test2/EventFacet/Assert.pm    |  2 +-
 cpan/Test-Simple/lib/Test2/EventFacet/Control.pm   |  2 +-
 cpan/Test-Simple/lib/Test2/EventFacet/Error.pm     |  2 +-
 cpan/Test-Simple/lib/Test2/EventFacet/Info.pm      |  2 +-
 cpan/Test-Simple/lib/Test2/EventFacet/Meta.pm      |  2 +-
 cpan/Test-Simple/lib/Test2/EventFacet/Parent.pm    |  2 +-
 cpan/Test-Simple/lib/Test2/EventFacet/Plan.pm      |  2 +-
 cpan/Test-Simple/lib/Test2/EventFacet/Trace.pm     |  2 +-
 cpan/Test-Simple/lib/Test2/Formatter.pm            |  2 +-
 cpan/Test-Simple/lib/Test2/Formatter/TAP.pm        |  2 +-
 cpan/Test-Simple/lib/Test2/Hub.pm                  |  2 +-
 cpan/Test-Simple/lib/Test2/Hub/Interceptor.pm      |  2 +-
 .../lib/Test2/Hub/Interceptor/Terminator.pm        |  2 +-
 cpan/Test-Simple/lib/Test2/Hub/Subtest.pm          |  2 +-
 cpan/Test-Simple/lib/Test2/IPC.pm                  |  2 +-
 cpan/Test-Simple/lib/Test2/IPC/Driver.pm           |  2 +-
 cpan/Test-Simple/lib/Test2/IPC/Driver/Files.pm     |  2 +-
 cpan/Test-Simple/lib/Test2/Tools/Tiny.pm           |  2 +-
 cpan/Test-Simple/lib/Test2/Util.pm                 |  2 +-
 cpan/Test-Simple/lib/Test2/Util/ExternalMeta.pm    |  2 +-
 cpan/Test-Simple/lib/Test2/Util/Facets2Legacy.pm   |  2 +-
 cpan/Test-Simple/lib/Test2/Util/Trace.pm           |  2 +-
 cpan/Test-Simple/lib/ok.pm                         |  2 +-
 cpan/Test-Simple/t/Test2/modules/Util.t            | 13 +++-
 71 files changed, 131 insertions(+), 184 deletions(-)

diff --git a/Porting/Maintainers.pl b/Porting/Maintainers.pl
index 8c35f150c8..ab71780d1b 100755
--- a/Porting/Maintainers.pl
+++ b/Porting/Maintainers.pl
@@ -371,7 +371,7 @@ use File::Glob qw(:case);
     },
 
     'Digest::SHA' => {
-        'DISTRIBUTION' => 'MSHELOR/Digest-SHA-5.97.tar.gz',
+        'DISTRIBUTION' => 'MSHELOR/Digest-SHA-5.98.tar.gz',
         'FILES'        => q[cpan/Digest-SHA],
         'EXCLUDED'     => [
             qw( t/pod.t
@@ -1069,7 +1069,7 @@ use File::Glob qw(:case);
     },
 
     'Test::Simple' => {
-        'DISTRIBUTION' => 'EXODIST/Test-Simple-1.302097.tar.gz',
+        'DISTRIBUTION' => 'EXODIST/Test-Simple-1.302098.tar.gz',
         'FILES'        => q[cpan/Test-Simple],
         'EXCLUDED'     => [
             qr{^examples/},
diff --git a/Porting/cmpVERSION.pl b/Porting/cmpVERSION.pl
index e7ae68d6f8..31b7a6ecf0 100755
--- a/Porting/cmpVERSION.pl
+++ b/Porting/cmpVERSION.pl
@@ -81,6 +81,7 @@ if ($exclude_upstream) {
 # usually because they pull in their version from some other file.
 my %skip;
 @skip{
+    'cpan/Test-Simple/lib/Test/Builder/IO/Scalar.pm', #
     'cpan/ExtUtils-Install/t/lib/MakeMaker/Test/Setup/BFD.pm', # just a test 
module
     'cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/BFD.pm', # just a test 
module
     'cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/XS.pm',  # just a test 
module
diff --git a/cpan/Digest-SHA/lib/Digest/SHA.pm 
b/cpan/Digest-SHA/lib/Digest/SHA.pm
index e8500367ac..6a60926067 100644
--- a/cpan/Digest-SHA/lib/Digest/SHA.pm
+++ b/cpan/Digest-SHA/lib/Digest/SHA.pm
@@ -8,7 +8,7 @@ use vars qw($VERSION @ISA @EXPORT_OK);
 use Fcntl qw(O_RDONLY);
 use integer;
 
-$VERSION = '5.97';
+$VERSION = '5.98';
 
 require Exporter;
 require DynaLoader;
@@ -110,8 +110,8 @@ sub addfile {
        return(_addfile($self, $file)) unless ref(\$file) eq 'SCALAR';
 
        $mode = defined($mode) ? $mode : "";
-       my ($binary, $UNIVERSAL, $BITS, $portable) =
-               map { $_ eq $mode } ("b", "U", "0", "p");
+       my ($binary, $UNIVERSAL, $BITS) =
+               map { $_ eq $mode } ("b", "U", "0");
 
                ## Always interpret "-" to mean STDIN; otherwise use
                ## sysopen to handle full range of POSIX file names
@@ -132,17 +132,10 @@ sub addfile {
                return($self);
        }
 
-       binmode(FH) if $binary || $portable || $UNIVERSAL;
+       binmode(FH) if $binary || $UNIVERSAL;
        if ($UNIVERSAL && _istext(*FH, $file)) {
                $self->_addfileuniv(*FH);
        }
-       elsif ($portable && _istext(*FH, $file)) {
-               while (<FH>) {
-                       s/\015?\015\012/\012/g;
-                       s/\015/\012/g;
-                       $self->add($_);
-               }
-       }
        else { $self->_addfilebin(*FH) }
        close(FH);
 
@@ -617,8 +610,6 @@ argument to one of the following values:
 
        "0"     use BITS mode
 
-       "p"     use portable mode (to be deprecated)
-
 The "U" mode is modeled on Python's "Universal Newlines" concept, whereby
 DOS and Mac OS line terminators are converted internally to UNIX newlines
 before processing.  This ensures consistent digest values when working
@@ -626,12 +617,6 @@ simultaneously across multiple file systems.  B<The "U" 
mode influences
 only text files>, namely those passing Perl's I<-T> test; binary files
 are processed with no translation whatsoever.
 
-The "p" mode differs from "U" only in that it treats "\r\r\n" as a single
-newline, a quirky feature designed to accommodate legacy applications that
-occasionally added an extra carriage return before DOS line terminators.
-The "p" mode will be phased out eventually in favor of the cleaner and
-more well-established Universal Newlines concept.
-
 The BITS mode ("0") interprets the contents of I<$filename> as a logical
 stream of bits, where each ASCII '0' or '1' character represents a 0 or
 1 bit, respectively.  All other characters are ignored.  This provides
diff --git a/cpan/Digest-SHA/shasum b/cpan/Digest-SHA/shasum
index 59c3839b2e..1b9bf6e6f9 100644
--- a/cpan/Digest-SHA/shasum
+++ b/cpan/Digest-SHA/shasum
@@ -4,14 +4,13 @@
        ##
        ## Copyright (C) 2003-2017 Mark Shelor, All Rights Reserved
        ##
-       ## Version: 5.97
-       ## Wed Sep  6 02:23:02 MST 2017
+       ## Version: 5.98
+       ## Wed Oct  4 00:40:02 MST 2017
 
        ## shasum SYNOPSIS adapted from GNU Coreutils sha1sum. Add
        ## "-a" option for algorithm selection,
-       ## "-U" option for Universal Newlines support,
-       ## "-0" option for reading bit strings, and
-       ## "-p" option for portable digests (to be deprecated).
+       ## "-U" option for Universal Newlines support, and
+       ## "-0" option for reading bit strings.
 
 BEGIN { pop @INC if $INC[-1] eq '.' }
 
@@ -19,6 +18,7 @@ use strict;
 use warnings;
 use Fcntl;
 use Getopt::Long;
+use Digest::SHA;
 
 my $POD = <<'END_OF_POD';
 
@@ -42,7 +42,6 @@ shasum - Print or Check SHA Checksums
                          ASCII '0' interpreted as 0-bit,
                          ASCII '1' interpreted as 1-bit,
                          all other characters ignored
-   -p, --portable    read in portable mode (to be deprecated)
 
  The following three options are useful only when verifying checksums:
    -s, --status      don't output anything, status code shows success
@@ -60,11 +59,10 @@ shasum - Print or Check SHA Checksums
  The sums are computed as described in FIPS PUB 180-4.  When checking,
  the input should be a former output of this program.  The default
  mode is to print a line with checksum, a character indicating type
- (`*' for binary, ` ' for text, `U' for UNIVERSAL, `^' for BITS, `?'
- for portable), and name for each FILE.  The line starts with a `\'
- character if the FILE name contains either newlines or backslashes,
- which are then replaced by the two-character sequences `\n' and `\\'
- respectively.
+ (`*' for binary, ` ' for text, `U' for UNIVERSAL, `^' for BITS),
+ and name for each FILE.  The line starts with a `\' character if the
+ FILE name contains either newlines or backslashes, which are then
+ replaced by the two-character sequences `\n' and `\\' respectively.
 
  Report shasum bugs to mshe...@cpan.org
 
@@ -100,14 +98,13 @@ Copyright (c) 2003-2017 Mark Shelor <mshe...@cpan.org>.
 
 =head1 SEE ALSO
 
-I<shasum> is implemented using the Perl module L<Digest::SHA> or
-L<Digest::SHA::PurePerl>.
+I<shasum> is implemented using the Perl module L<Digest::SHA>.
 
 =cut
 
 END_OF_POD
 
-my $VERSION = "5.97";
+my $VERSION = "5.98";
 
 sub usage {
        my($err, $msg) = @_;
@@ -134,8 +131,8 @@ select((select(STDERR), $| = 1)[0]);
 
        ## Collect options from command line
 
-my ($alg, $binary, $check, $text, $status, $quiet, $warn, $help, $version);
-my ($portable, $BITS, $reverse, $UNIVERSAL, $versions);
+my ($alg, $binary, $check, $text, $status, $quiet, $warn, $help);
+my ($version, $BITS, $UNIVERSAL);
 
 eval { Getopt::Long::Configure ("bundling") };
 GetOptions(
@@ -144,11 +141,8 @@ GetOptions(
        's|status' => \$status, 'w|warn' => \$warn,
        'q|quiet' => \$quiet,
        'h|help' => \$help, 'v|version' => \$version,
-       'p|portable' => \$portable,
        '0|01' => \$BITS,
-       'R|REVERSE' => \$reverse,
        'U|UNIVERSAL' => \$UNIVERSAL,
-       'V|VERSIONS' => \$versions,
 ) or usage(1, "");
 
 
@@ -158,7 +152,7 @@ usage(0)
        if $help;
 usage(1, "shasum: Ambiguous file mode\n")
        if scalar(grep {defined $_}
-               ($binary, $portable, $text, $BITS, $UNIVERSAL)) > 1;
+               ($binary, $text, $BITS, $UNIVERSAL)) > 1;
 usage(1, "shasum: --warn option used only when verifying checksums\n")
        if $warn && !$check;
 usage(1, "shasum: --status option used only when verifying checksums\n")
@@ -167,27 +161,6 @@ usage(1, "shasum: --quiet option used only when verifying 
checksums\n")
        if $quiet && !$check;
 
 
-       ## Try to use Digest::SHA.  If not installed, use the slower
-       ## but functionally equivalent Digest::SHA::PurePerl instead.
-
-       ## If option -R is invoked, reverse the module preference,
-       ## i.e. try Digest::SHA::PurePerl first, then Digest::SHA.
-
-my @MODS = qw(Digest::SHA Digest::SHA::PurePerl);
-@MODS[0, 1] = @MODS[1, 0] if $reverse;
-
-my $module;
-for (@MODS) {
-       my $mod = $_;
-       if (eval "require $mod") {
-               $module = $mod;
-               last;
-       }
-}
-die "shasum: Unable to find " . join(" or ", @MODS) . "\n"
-       unless defined $module;
-
-
        ## Default to SHA-1 unless overridden by command line option
 
 $alg = 1 unless defined $alg;
@@ -202,24 +175,16 @@ if ($version) {
        exit(0);
 }
 
-if ($versions) {
-       print "shasum $VERSION\n";
-       print "$module ", eval "\$${module}::VERSION", "\n";
-       print "perl ", defined $^V ? sprintf("%vd", $^V) : $], "\n";
-       exit(0);
-}
-
 
        ## Try to figure out if the OS is DOS-like.  If it is,
        ## default to binary mode when reading files, unless
        ## explicitly overridden by command line "--text" or
-       ## "--UNIVERSAL" or "--portable" options.
+       ## "--UNIVERSAL" options.
 
 my $isDOSish = ($^O =~ /^(MSWin\d\d|os2|dos|mint|cygwin)$/);
-if ($isDOSish) { $binary = 1 unless $text || $UNIVERSAL || $portable }
+if ($isDOSish) { $binary = 1 unless $text || $UNIVERSAL }
 
-my $modesym = $binary ? '*' : ($UNIVERSAL ? 'U' :
-               ($BITS ? '^' : ($portable ? '?' : ' ')));
+my $modesym = $binary ? '*' : ($UNIVERSAL ? 'U' : ($BITS ? '^' : ' '));
 
 
        ## Read from STDIN (-) if no files listed on command line
@@ -232,9 +197,8 @@ my $modesym = $binary ? '*' : ($UNIVERSAL ? 'U' :
 sub sumfile {
        my $file = shift;
 
-       my $mode = $binary ? 'b' : ($UNIVERSAL ? 'U' :
-                       ($BITS ? '0' : ($portable ? 'p' : '')));
-       my $digest = eval { $module->new($alg)->addfile($file, $mode) };
+       my $mode = $binary ? 'b' : ($UNIVERSAL ? 'U' : ($BITS ? '0' : ''));
+       my $digest = eval { Digest::SHA->new($alg)->addfile($file, $mode) };
        if ($@) { warn "shasum: $file: $!\n"; return }
        $digest->hexdigest;
 }
@@ -253,7 +217,6 @@ sub unescape {
        $_ = shift;
        s/\\\\/\0/g;
        s/\\n/\n/g;
-       return if /\\/;
        s/\0/\\/g;
        return $_;
 }
@@ -273,12 +236,10 @@ sub verify {
        or sysopen(FH, $checkfile, O_RDONLY)
                or die "shasum: $checkfile: $!\n";
        while (<FH>) {
-               next if /^#/; s/\n$//; s/^[ \t]+//; $num_lines++;
-               $bslash = s/^\\//;
-               ($sum, $modesym, $fname) =
-                       /^([\da-fA-F]+)[ \t]([ *?^U])([^\0]*)/;
+               next if /^#/; $num_lines++;
+               ($bslash, $sum, $modesym, $fname) =
+                       /^[ \t]*(\\?)([\da-fA-F]+)[ \t]([ *^U])(.+)/;
                $alg = defined $sum ? $len2alg{length($sum)} : undef;
-               $fname = unescape($fname) if defined $fname && $bslash;
                if (grep { ! defined $_ } ($alg, $sum, $modesym, $fname)) {
                        $alg = 1 unless defined $alg;
                        warn("shasum: $checkfile: $.: improperly " .
@@ -286,10 +247,10 @@ sub verify {
                        $fmt_errs++;
                        next;
                }
-               $fname =~ s/\r$// unless -e $fname;
+               $fname = unescape($fname) if $bslash;
                $rsp = "$fname: "; $num_files++;
-               ($binary, $text, $UNIVERSAL, $BITS, $portable) =
-                       map { $_ eq $modesym } ('*', ' ', 'U', '^', 'p');
+               ($binary, $text, $UNIVERSAL, $BITS) =
+                       map { $_ eq $modesym } ('*', ' ', 'U', '^');
                $isOK = 0;
                unless ($digest = sumfile($fname)) {
                        $rsp .= "FAILED open or read\n";
diff --git a/cpan/Digest-SHA/src/sha.c b/cpan/Digest-SHA/src/sha.c
index 51f472cd1d..c1f7407fb4 100644
--- a/cpan/Digest-SHA/src/sha.c
+++ b/cpan/Digest-SHA/src/sha.c
@@ -5,8 +5,8 @@
  *
  * Copyright (C) 2003-2017 Mark Shelor, All Rights Reserved
  *
- * Version: 5.97
- * Wed Sep  6 02:23:02 MST 2017
+ * Version: 5.98
+ * Wed Oct  4 00:40:02 MST 2017
  *
  */
 
diff --git a/cpan/Digest-SHA/src/sha.h b/cpan/Digest-SHA/src/sha.h
index 9fd6feb9e5..afb6af5024 100644
--- a/cpan/Digest-SHA/src/sha.h
+++ b/cpan/Digest-SHA/src/sha.h
@@ -5,8 +5,8 @@
  *
  * Copyright (C) 2003-2017 Mark Shelor, All Rights Reserved
  *
- * Version: 5.97
- * Wed Sep  6 02:23:02 MST 2017
+ * Version: 5.98
+ * Wed Oct  4 00:40:02 MST 2017
  *
  */
 
diff --git a/cpan/Digest-SHA/src/sha64bit.c b/cpan/Digest-SHA/src/sha64bit.c
index be02564eb5..f9693d27d2 100644
--- a/cpan/Digest-SHA/src/sha64bit.c
+++ b/cpan/Digest-SHA/src/sha64bit.c
@@ -5,8 +5,8 @@
  *
  * Copyright (C) 2003-2017 Mark Shelor, All Rights Reserved
  *
- * Version: 5.97
- * Wed Sep  6 02:23:02 MST 2017
+ * Version: 5.98
+ * Wed Oct  4 00:40:02 MST 2017
  *
  */
 
diff --git a/cpan/Digest-SHA/src/sha64bit.h b/cpan/Digest-SHA/src/sha64bit.h
index 4e1d7990e7..f6f89592f8 100644
--- a/cpan/Digest-SHA/src/sha64bit.h
+++ b/cpan/Digest-SHA/src/sha64bit.h
@@ -5,8 +5,8 @@
  *
  * Copyright (C) 2003-2017 Mark Shelor, All Rights Reserved
  *
- * Version: 5.97
- * Wed Sep  6 02:23:02 MST 2017
+ * Version: 5.98
+ * Wed Oct  4 00:40:02 MST 2017
  *
  * The following macros supply placeholder values that enable the
  * sha.c module to successfully compile when 64-bit integer types
diff --git a/cpan/Digest-SHA/t/methods.t b/cpan/Digest-SHA/t/methods.t
index 223bc5399a..a9096d926b 100644
--- a/cpan/Digest-SHA/t/methods.t
+++ b/cpan/Digest-SHA/t/methods.t
@@ -21,7 +21,7 @@ my @out = (
        "248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1",
 );
 
-my $numtests = 9 + scalar @out;
+my $numtests = 6 + scalar @out;
 print "1..$numtests\n";
 
        # attempt to use an invalid algorithm, and check for failure
@@ -72,35 +72,6 @@ $fh->close;
 print "not " unless $sha->addfile($tempfile, "b")->hexdigest eq $rsp;
 print "ok ", $testnum++, "\n";
 
-       # test addfile portable mode
-
-$fh = FileHandle->new($tempfile, "w");
-binmode($fh);
-print $fh "abc\012" x 2048;            # using UNIX newline
-$fh->close;
-
-print "not " unless $sha->new(1)->addfile($tempfile, "p")->hexdigest eq
-       "d449e19c1b0b0c191294c8dc9fa2e4a6ff77fc51";
-print "ok ", $testnum++, "\n";
-
-$fh = FileHandle->new($tempfile, "w");
-binmode($fh);
-print $fh "abc\015\012" x 2048;                # using DOS/Windows newline
-$fh->close;
-
-print "not " unless $sha->new(1)->addfile($tempfile, "p")->hexdigest eq
-       "d449e19c1b0b0c191294c8dc9fa2e4a6ff77fc51";
-print "ok ", $testnum++, "\n";
-
-$fh = FileHandle->new($tempfile, "w");
-binmode($fh);
-print $fh "abc\015" x 2048;            # using early-Mac newline
-$fh->close;
-
-print "not " unless $sha->new(1)->addfile($tempfile, "p")->hexdigest eq
-       "d449e19c1b0b0c191294c8dc9fa2e4a6ff77fc51";
-print "ok ", $testnum++, "\n";
-
        # test addfile "universal newlines" mode
 
 $fh = FileHandle->new($tempfile, "w");
diff --git a/cpan/Test-Simple/lib/Test/Builder.pm 
b/cpan/Test-Simple/lib/Test/Builder.pm
index 48cc04293e..4c7b1827b8 100644
--- a/cpan/Test-Simple/lib/Test/Builder.pm
+++ b/cpan/Test-Simple/lib/Test/Builder.pm
@@ -4,7 +4,7 @@ use 5.006;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 BEGIN {
     if( $] < 5.008 ) {
diff --git a/cpan/Test-Simple/lib/Test/Builder/Formatter.pm 
b/cpan/Test-Simple/lib/Test/Builder/Formatter.pm
index 6b41d7d6b9..19a5cfbfea 100644
--- a/cpan/Test-Simple/lib/Test/Builder/Formatter.pm
+++ b/cpan/Test-Simple/lib/Test/Builder/Formatter.pm
@@ -2,7 +2,7 @@ package Test::Builder::Formatter;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 BEGIN { require Test2::Formatter::TAP; our @ISA = qw(Test2::Formatter::TAP) }
 
diff --git a/cpan/Test-Simple/lib/Test/Builder/IO/Scalar.pm 
b/cpan/Test-Simple/lib/Test/Builder/IO/Scalar.pm
index 54700c42cb..52fdee2fa1 100644
--- a/cpan/Test-Simple/lib/Test/Builder/IO/Scalar.pm
+++ b/cpan/Test-Simple/lib/Test/Builder/IO/Scalar.pm
@@ -562,6 +562,7 @@ sub CLOSE     { shift->close(@_); }
 sub SEEK      { shift->seek(@_); }
 sub TELL      { shift->tell(@_); }
 sub EOF       { shift->eof(@_); }
+sub FILENO    { -1 }
 
 #------------------------------------------------------------
 
diff --git a/cpan/Test-Simple/lib/Test/Builder/Module.pm 
b/cpan/Test-Simple/lib/Test/Builder/Module.pm
index 857abfdf64..12b00292af 100644
--- a/cpan/Test-Simple/lib/Test/Builder/Module.pm
+++ b/cpan/Test-Simple/lib/Test/Builder/Module.pm
@@ -7,7 +7,7 @@ use Test::Builder;
 require Exporter;
 our @ISA = qw(Exporter);
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 
 =head1 NAME
diff --git a/cpan/Test-Simple/lib/Test/Builder/Tester.pm 
b/cpan/Test-Simple/lib/Test/Builder/Tester.pm
index 7e551f7c01..5934dc4516 100644
--- a/cpan/Test-Simple/lib/Test/Builder/Tester.pm
+++ b/cpan/Test-Simple/lib/Test/Builder/Tester.pm
@@ -1,7 +1,7 @@
 package Test::Builder::Tester;
 
 use strict;
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 use Test::Builder;
 use Symbol;
diff --git a/cpan/Test-Simple/lib/Test/Builder/Tester/Color.pm 
b/cpan/Test-Simple/lib/Test/Builder/Tester/Color.pm
index 8a7b73a14a..7c2935b153 100644
--- a/cpan/Test-Simple/lib/Test/Builder/Tester/Color.pm
+++ b/cpan/Test-Simple/lib/Test/Builder/Tester/Color.pm
@@ -1,7 +1,7 @@
 package Test::Builder::Tester::Color;
 
 use strict;
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 require Test::Builder::Tester;
 
diff --git a/cpan/Test-Simple/lib/Test/Builder/TodoDiag.pm 
b/cpan/Test-Simple/lib/Test/Builder/TodoDiag.pm
index da60fba266..c7f172c284 100644
--- a/cpan/Test-Simple/lib/Test/Builder/TodoDiag.pm
+++ b/cpan/Test-Simple/lib/Test/Builder/TodoDiag.pm
@@ -2,7 +2,7 @@ package Test::Builder::TodoDiag;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 BEGIN { require Test2::Event::Diag; our @ISA = qw(Test2::Event::Diag) }
 
diff --git a/cpan/Test-Simple/lib/Test/More.pm 
b/cpan/Test-Simple/lib/Test/More.pm
index 506639b48b..893672370e 100644
--- a/cpan/Test-Simple/lib/Test/More.pm
+++ b/cpan/Test-Simple/lib/Test/More.pm
@@ -17,7 +17,7 @@ sub _carp {
     return warn @_, " at $file line $line\n";
 }
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 use Test::Builder::Module;
 our @ISA    = qw(Test::Builder::Module);
diff --git a/cpan/Test-Simple/lib/Test/Simple.pm 
b/cpan/Test-Simple/lib/Test/Simple.pm
index 0882f175a5..087b5b167d 100644
--- a/cpan/Test-Simple/lib/Test/Simple.pm
+++ b/cpan/Test-Simple/lib/Test/Simple.pm
@@ -4,7 +4,7 @@ use 5.006;
 
 use strict;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 use Test::Builder::Module;
 our @ISA    = qw(Test::Builder::Module);
diff --git a/cpan/Test-Simple/lib/Test/Tester.pm 
b/cpan/Test-Simple/lib/Test/Tester.pm
index 786ae240dd..39cf31dac1 100644
--- a/cpan/Test-Simple/lib/Test/Tester.pm
+++ b/cpan/Test-Simple/lib/Test/Tester.pm
@@ -18,7 +18,7 @@ require Exporter;
 
 use vars qw( @ISA @EXPORT );
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 @EXPORT = qw( run_tests check_tests check_test cmp_results show_space );
 @ISA = qw( Exporter );
diff --git a/cpan/Test-Simple/lib/Test/Tester/Capture.pm 
b/cpan/Test-Simple/lib/Test/Tester/Capture.pm
index c4e3d00243..77c3206811 100644
--- a/cpan/Test-Simple/lib/Test/Tester/Capture.pm
+++ b/cpan/Test-Simple/lib/Test/Tester/Capture.pm
@@ -2,7 +2,7 @@ use strict;
 
 package Test::Tester::Capture;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 
 use Test::Builder;
diff --git a/cpan/Test-Simple/lib/Test/Tester/CaptureRunner.pm 
b/cpan/Test-Simple/lib/Test/Tester/CaptureRunner.pm
index 65e2e8c63f..0e901d8af1 100644
--- a/cpan/Test-Simple/lib/Test/Tester/CaptureRunner.pm
+++ b/cpan/Test-Simple/lib/Test/Tester/CaptureRunner.pm
@@ -3,7 +3,7 @@ use strict;
 
 package Test::Tester::CaptureRunner;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 
 use Test::Tester::Capture;
diff --git a/cpan/Test-Simple/lib/Test/Tester/Delegate.pm 
b/cpan/Test-Simple/lib/Test/Tester/Delegate.pm
index 71b383be0b..a1230a2dc4 100644
--- a/cpan/Test-Simple/lib/Test/Tester/Delegate.pm
+++ b/cpan/Test-Simple/lib/Test/Tester/Delegate.pm
@@ -3,7 +3,7 @@ use warnings;
 
 package Test::Tester::Delegate;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 use Scalar::Util();
 
diff --git a/cpan/Test-Simple/lib/Test/use/ok.pm 
b/cpan/Test-Simple/lib/Test/use/ok.pm
index 30275e9a5d..2a0af898f5 100644
--- a/cpan/Test-Simple/lib/Test/use/ok.pm
+++ b/cpan/Test-Simple/lib/Test/use/ok.pm
@@ -1,7 +1,7 @@
 package Test::use::ok;
 use 5.005;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 
 __END__
diff --git a/cpan/Test-Simple/lib/Test2.pm b/cpan/Test-Simple/lib/Test2.pm
index 65578b1f89..a7b30636e7 100644
--- a/cpan/Test-Simple/lib/Test2.pm
+++ b/cpan/Test-Simple/lib/Test2.pm
@@ -2,7 +2,7 @@ package Test2;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 
 1;
diff --git a/cpan/Test-Simple/lib/Test2/API.pm 
b/cpan/Test-Simple/lib/Test2/API.pm
index 199e3b082c..7f90fecab4 100644
--- a/cpan/Test-Simple/lib/Test2/API.pm
+++ b/cpan/Test-Simple/lib/Test2/API.pm
@@ -9,7 +9,7 @@ BEGIN {
     $ENV{TEST2_ACTIVE} = 1;
 }
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 
 my $INST;
@@ -1213,6 +1213,23 @@ default. Waiting will cause the parent process/thread to 
wait until all child
 processes and threads are finished before exiting. You will almost never want
 to turn this off.
 
+=item $fh = test2_stdout()
+
+=item $fh = test2_stderr()
+
+These functions return the filehandles that test output should be written to.
+They are primarily useful when writing a custom formatter and code that turns
+events into actual output (TAP, etc.)  They will return a dupe of the original
+filehandles that formatted output can be sent to regardless of whatever state
+the currently running test may have left STDOUT and STDERR in.
+
+=item test2_reset_io()
+
+Re-dupe the internal filehandles returned by C<test2_stdout()> and
+C<test2_stderr()> from the current STDOUT and STDERR.  You shouldn't need to do
+this except in very peculiar situations (for example, you're testing a new
+formatter and you need control over where the formatter is sending its output.)
+
 =back
 
 =head2 BEHAVIOR HOOKS
diff --git a/cpan/Test-Simple/lib/Test2/API/Breakage.pm 
b/cpan/Test-Simple/lib/Test2/API/Breakage.pm
index 9414df7127..b619421397 100644
--- a/cpan/Test-Simple/lib/Test2/API/Breakage.pm
+++ b/cpan/Test-Simple/lib/Test2/API/Breakage.pm
@@ -2,7 +2,7 @@ package Test2::API::Breakage;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 
 use Test2::Util qw/pkg_to_file/;
diff --git a/cpan/Test-Simple/lib/Test2/API/Context.pm 
b/cpan/Test-Simple/lib/Test2/API/Context.pm
index c5486e8921..765c565851 100644
--- a/cpan/Test-Simple/lib/Test2/API/Context.pm
+++ b/cpan/Test-Simple/lib/Test2/API/Context.pm
@@ -2,7 +2,7 @@ package Test2::API::Context;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 
 use Carp qw/confess croak/;
diff --git a/cpan/Test-Simple/lib/Test2/API/Instance.pm 
b/cpan/Test-Simple/lib/Test2/API/Instance.pm
index e946d035f9..2b17a3380a 100644
--- a/cpan/Test-Simple/lib/Test2/API/Instance.pm
+++ b/cpan/Test-Simple/lib/Test2/API/Instance.pm
@@ -2,7 +2,7 @@ package Test2::API::Instance;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 
 our @CARP_NOT = qw/Test2::API Test2::API::Instance Test2::IPC::Driver 
Test2::Formatter/;
diff --git a/cpan/Test-Simple/lib/Test2/API/Stack.pm 
b/cpan/Test-Simple/lib/Test2/API/Stack.pm
index a0d46d5ea5..284d9c8c2b 100644
--- a/cpan/Test-Simple/lib/Test2/API/Stack.pm
+++ b/cpan/Test-Simple/lib/Test2/API/Stack.pm
@@ -2,7 +2,7 @@ package Test2::API::Stack;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 
 use Test2::Hub();
diff --git a/cpan/Test-Simple/lib/Test2/Event.pm 
b/cpan/Test-Simple/lib/Test2/Event.pm
index 2245550cfc..a881c38f67 100644
--- a/cpan/Test-Simple/lib/Test2/Event.pm
+++ b/cpan/Test-Simple/lib/Test2/Event.pm
@@ -2,7 +2,7 @@ package Test2::Event;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 use Test2::Util::HashBase qw/trace -amnesty/;
 use Test2::Util::ExternalMeta qw/meta get_meta set_meta delete_meta/;
diff --git a/cpan/Test-Simple/lib/Test2/Event/Bail.pm 
b/cpan/Test-Simple/lib/Test2/Event/Bail.pm
index b9b35391c9..d97050b9d7 100644
--- a/cpan/Test-Simple/lib/Test2/Event/Bail.pm
+++ b/cpan/Test-Simple/lib/Test2/Event/Bail.pm
@@ -2,7 +2,7 @@ package Test2::Event::Bail;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 
 BEGIN { require Test2::Event; our @ISA = qw(Test2::Event) }
diff --git a/cpan/Test-Simple/lib/Test2/Event/Diag.pm 
b/cpan/Test-Simple/lib/Test2/Event/Diag.pm
index 3ebffd17e3..6735be8dd2 100644
--- a/cpan/Test-Simple/lib/Test2/Event/Diag.pm
+++ b/cpan/Test-Simple/lib/Test2/Event/Diag.pm
@@ -2,7 +2,7 @@ package Test2::Event::Diag;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 
 BEGIN { require Test2::Event; our @ISA = qw(Test2::Event) }
diff --git a/cpan/Test-Simple/lib/Test2/Event/Encoding.pm 
b/cpan/Test-Simple/lib/Test2/Event/Encoding.pm
index 597d929dd8..816996c501 100644
--- a/cpan/Test-Simple/lib/Test2/Event/Encoding.pm
+++ b/cpan/Test-Simple/lib/Test2/Event/Encoding.pm
@@ -2,7 +2,7 @@ package Test2::Event::Encoding;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 use Carp qw/croak/;
 
diff --git a/cpan/Test-Simple/lib/Test2/Event/Exception.pm 
b/cpan/Test-Simple/lib/Test2/Event/Exception.pm
index 67c757a3c4..cc24da0e01 100644
--- a/cpan/Test-Simple/lib/Test2/Event/Exception.pm
+++ b/cpan/Test-Simple/lib/Test2/Event/Exception.pm
@@ -2,7 +2,7 @@ package Test2::Event::Exception;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 
 BEGIN { require Test2::Event; our @ISA = qw(Test2::Event) }
diff --git a/cpan/Test-Simple/lib/Test2/Event/Fail.pm 
b/cpan/Test-Simple/lib/Test2/Event/Fail.pm
index de34f4b33f..719e12a0a9 100644
--- a/cpan/Test-Simple/lib/Test2/Event/Fail.pm
+++ b/cpan/Test-Simple/lib/Test2/Event/Fail.pm
@@ -2,7 +2,7 @@ package Test2::Event::Fail;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 use Test2::EventFacet::Info;
 
diff --git a/cpan/Test-Simple/lib/Test2/Event/Generic.pm 
b/cpan/Test-Simple/lib/Test2/Event/Generic.pm
index e92a9f684e..3c963c74cc 100644
--- a/cpan/Test-Simple/lib/Test2/Event/Generic.pm
+++ b/cpan/Test-Simple/lib/Test2/Event/Generic.pm
@@ -5,7 +5,7 @@ use warnings;
 use Carp qw/croak/;
 use Scalar::Util qw/reftype/;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 BEGIN { require Test2::Event; our @ISA = qw(Test2::Event) }
 use Test2::Util::HashBase;
diff --git a/cpan/Test-Simple/lib/Test2/Event/Note.pm 
b/cpan/Test-Simple/lib/Test2/Event/Note.pm
index f086ad21aa..667a688982 100644
--- a/cpan/Test-Simple/lib/Test2/Event/Note.pm
+++ b/cpan/Test-Simple/lib/Test2/Event/Note.pm
@@ -2,7 +2,7 @@ package Test2::Event::Note;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 
 BEGIN { require Test2::Event; our @ISA = qw(Test2::Event) }
diff --git a/cpan/Test-Simple/lib/Test2/Event/Ok.pm 
b/cpan/Test-Simple/lib/Test2/Event/Ok.pm
index 932bd710e5..5e62bce696 100644
--- a/cpan/Test-Simple/lib/Test2/Event/Ok.pm
+++ b/cpan/Test-Simple/lib/Test2/Event/Ok.pm
@@ -2,7 +2,7 @@ package Test2::Event::Ok;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 
 BEGIN { require Test2::Event; our @ISA = qw(Test2::Event) }
diff --git a/cpan/Test-Simple/lib/Test2/Event/Pass.pm 
b/cpan/Test-Simple/lib/Test2/Event/Pass.pm
index c31bba85f5..a6b542b96c 100644
--- a/cpan/Test-Simple/lib/Test2/Event/Pass.pm
+++ b/cpan/Test-Simple/lib/Test2/Event/Pass.pm
@@ -2,7 +2,7 @@ package Test2::Event::Pass;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 use Test2::EventFacet::Info;
 
diff --git a/cpan/Test-Simple/lib/Test2/Event/Plan.pm 
b/cpan/Test-Simple/lib/Test2/Event/Plan.pm
index 78ef5c450b..3a0c552f47 100644
--- a/cpan/Test-Simple/lib/Test2/Event/Plan.pm
+++ b/cpan/Test-Simple/lib/Test2/Event/Plan.pm
@@ -2,7 +2,7 @@ package Test2::Event::Plan;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 
 BEGIN { require Test2::Event; our @ISA = qw(Test2::Event) }
diff --git a/cpan/Test-Simple/lib/Test2/Event/Skip.pm 
b/cpan/Test-Simple/lib/Test2/Event/Skip.pm
index 95ea922787..ebf9eb3a56 100644
--- a/cpan/Test-Simple/lib/Test2/Event/Skip.pm
+++ b/cpan/Test-Simple/lib/Test2/Event/Skip.pm
@@ -2,7 +2,7 @@ package Test2::Event::Skip;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 
 BEGIN { require Test2::Event::Ok; our @ISA = qw(Test2::Event::Ok) }
diff --git a/cpan/Test-Simple/lib/Test2/Event/Subtest.pm 
b/cpan/Test-Simple/lib/Test2/Event/Subtest.pm
index 00afbf7940..c4a38955b5 100644
--- a/cpan/Test-Simple/lib/Test2/Event/Subtest.pm
+++ b/cpan/Test-Simple/lib/Test2/Event/Subtest.pm
@@ -2,7 +2,7 @@ package Test2::Event::Subtest;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 BEGIN { require Test2::Event::Ok; our @ISA = qw(Test2::Event::Ok) }
 use Test2::Util::HashBase qw{subevents buffered subtest_id};
diff --git a/cpan/Test-Simple/lib/Test2/Event/TAP/Version.pm 
b/cpan/Test-Simple/lib/Test2/Event/TAP/Version.pm
index 67bb6374ed..a17289ba58 100644
--- a/cpan/Test-Simple/lib/Test2/Event/TAP/Version.pm
+++ b/cpan/Test-Simple/lib/Test2/Event/TAP/Version.pm
@@ -2,7 +2,7 @@ package Test2::Event::TAP::Version;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 use Carp qw/croak/;
 
diff --git a/cpan/Test-Simple/lib/Test2/Event/Waiting.pm 
b/cpan/Test-Simple/lib/Test2/Event/Waiting.pm
index d700c7f06f..0daefe12d7 100644
--- a/cpan/Test-Simple/lib/Test2/Event/Waiting.pm
+++ b/cpan/Test-Simple/lib/Test2/Event/Waiting.pm
@@ -2,7 +2,7 @@ package Test2::Event::Waiting;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 
 BEGIN { require Test2::Event; our @ISA = qw(Test2::Event) }
diff --git a/cpan/Test-Simple/lib/Test2/EventFacet.pm 
b/cpan/Test-Simple/lib/Test2/EventFacet.pm
index bed1306d52..2ee8f975d5 100644
--- a/cpan/Test-Simple/lib/Test2/EventFacet.pm
+++ b/cpan/Test-Simple/lib/Test2/EventFacet.pm
@@ -2,7 +2,7 @@ package Test2::EventFacet;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 use Test2::Util::HashBase qw/-details/;
 use Carp qw/croak/;
diff --git a/cpan/Test-Simple/lib/Test2/EventFacet/About.pm 
b/cpan/Test-Simple/lib/Test2/EventFacet/About.pm
index f34560dc1f..2ff0b54fef 100644
--- a/cpan/Test-Simple/lib/Test2/EventFacet/About.pm
+++ b/cpan/Test-Simple/lib/Test2/EventFacet/About.pm
@@ -2,7 +2,7 @@ package Test2::EventFacet::About;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 BEGIN { require Test2::EventFacet; our @ISA = qw(Test2::EventFacet) }
 use Test2::Util::HashBase qw{ -package -no_display };
diff --git a/cpan/Test-Simple/lib/Test2/EventFacet/Amnesty.pm 
b/cpan/Test-Simple/lib/Test2/EventFacet/Amnesty.pm
index f44050c05e..f9c2e8661e 100644
--- a/cpan/Test-Simple/lib/Test2/EventFacet/Amnesty.pm
+++ b/cpan/Test-Simple/lib/Test2/EventFacet/Amnesty.pm
@@ -2,7 +2,7 @@ package Test2::EventFacet::Amnesty;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 sub is_list { 1 }
 
diff --git a/cpan/Test-Simple/lib/Test2/EventFacet/Assert.pm 
b/cpan/Test-Simple/lib/Test2/EventFacet/Assert.pm
index 00ecd75c63..a72479777d 100644
--- a/cpan/Test-Simple/lib/Test2/EventFacet/Assert.pm
+++ b/cpan/Test-Simple/lib/Test2/EventFacet/Assert.pm
@@ -2,7 +2,7 @@ package Test2::EventFacet::Assert;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 BEGIN { require Test2::EventFacet; our @ISA = qw(Test2::EventFacet) }
 use Test2::Util::HashBase qw{ -pass -no_debug -number };
diff --git a/cpan/Test-Simple/lib/Test2/EventFacet/Control.pm 
b/cpan/Test-Simple/lib/Test2/EventFacet/Control.pm
index babe0fe1ec..f79e09c2c9 100644
--- a/cpan/Test-Simple/lib/Test2/EventFacet/Control.pm
+++ b/cpan/Test-Simple/lib/Test2/EventFacet/Control.pm
@@ -2,7 +2,7 @@ package Test2::EventFacet::Control;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 BEGIN { require Test2::EventFacet; our @ISA = qw(Test2::EventFacet) }
 use Test2::Util::HashBase qw{ -global -terminate -halt -has_callback -encoding 
};
diff --git a/cpan/Test-Simple/lib/Test2/EventFacet/Error.pm 
b/cpan/Test-Simple/lib/Test2/EventFacet/Error.pm
index b7eec24026..3f9f653e31 100644
--- a/cpan/Test-Simple/lib/Test2/EventFacet/Error.pm
+++ b/cpan/Test-Simple/lib/Test2/EventFacet/Error.pm
@@ -2,7 +2,7 @@ package Test2::EventFacet::Error;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 sub facet_key { 'errors' }
 sub is_list { 1 }
diff --git a/cpan/Test-Simple/lib/Test2/EventFacet/Info.pm 
b/cpan/Test-Simple/lib/Test2/EventFacet/Info.pm
index 8c5dd91916..c83b8ad0fa 100644
--- a/cpan/Test-Simple/lib/Test2/EventFacet/Info.pm
+++ b/cpan/Test-Simple/lib/Test2/EventFacet/Info.pm
@@ -2,7 +2,7 @@ package Test2::EventFacet::Info;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 sub is_list { 1 }
 
diff --git a/cpan/Test-Simple/lib/Test2/EventFacet/Meta.pm 
b/cpan/Test-Simple/lib/Test2/EventFacet/Meta.pm
index 0550641093..62b8a64519 100644
--- a/cpan/Test-Simple/lib/Test2/EventFacet/Meta.pm
+++ b/cpan/Test-Simple/lib/Test2/EventFacet/Meta.pm
@@ -2,7 +2,7 @@ package Test2::EventFacet::Meta;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 BEGIN { require Test2::EventFacet; our @ISA = qw(Test2::EventFacet) }
 use vars qw/$AUTOLOAD/;
diff --git a/cpan/Test-Simple/lib/Test2/EventFacet/Parent.pm 
b/cpan/Test-Simple/lib/Test2/EventFacet/Parent.pm
index b97e5ec3ef..5009763b10 100644
--- a/cpan/Test-Simple/lib/Test2/EventFacet/Parent.pm
+++ b/cpan/Test-Simple/lib/Test2/EventFacet/Parent.pm
@@ -2,7 +2,7 @@ package Test2::EventFacet::Parent;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 use Carp qw/confess/;
 
diff --git a/cpan/Test-Simple/lib/Test2/EventFacet/Plan.pm 
b/cpan/Test-Simple/lib/Test2/EventFacet/Plan.pm
index 7ab6682c17..9b4390b770 100644
--- a/cpan/Test-Simple/lib/Test2/EventFacet/Plan.pm
+++ b/cpan/Test-Simple/lib/Test2/EventFacet/Plan.pm
@@ -2,7 +2,7 @@ package Test2::EventFacet::Plan;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 BEGIN { require Test2::EventFacet; our @ISA = qw(Test2::EventFacet) }
 use Test2::Util::HashBase qw{ -count -skip -none };
diff --git a/cpan/Test-Simple/lib/Test2/EventFacet/Trace.pm 
b/cpan/Test-Simple/lib/Test2/EventFacet/Trace.pm
index e9ed106c4a..8e7387be78 100644
--- a/cpan/Test-Simple/lib/Test2/EventFacet/Trace.pm
+++ b/cpan/Test-Simple/lib/Test2/EventFacet/Trace.pm
@@ -2,7 +2,7 @@ package Test2::EventFacet::Trace;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 BEGIN { require Test2::EventFacet; our @ISA = qw(Test2::EventFacet) }
 
diff --git a/cpan/Test-Simple/lib/Test2/Formatter.pm 
b/cpan/Test-Simple/lib/Test2/Formatter.pm
index 56c68a5f81..f7e8a9544c 100644
--- a/cpan/Test-Simple/lib/Test2/Formatter.pm
+++ b/cpan/Test-Simple/lib/Test2/Formatter.pm
@@ -2,7 +2,7 @@ package Test2::Formatter;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 
 my %ADDED;
diff --git a/cpan/Test-Simple/lib/Test2/Formatter/TAP.pm 
b/cpan/Test-Simple/lib/Test2/Formatter/TAP.pm
index 524099e01a..74a3af3523 100644
--- a/cpan/Test-Simple/lib/Test2/Formatter/TAP.pm
+++ b/cpan/Test-Simple/lib/Test2/Formatter/TAP.pm
@@ -2,7 +2,7 @@ package Test2::Formatter::TAP;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 use Test2::Util qw/clone_io/;
 
diff --git a/cpan/Test-Simple/lib/Test2/Hub.pm 
b/cpan/Test-Simple/lib/Test2/Hub.pm
index a3cc7c2fbb..054548a800 100644
--- a/cpan/Test-Simple/lib/Test2/Hub.pm
+++ b/cpan/Test-Simple/lib/Test2/Hub.pm
@@ -2,7 +2,7 @@ package Test2::Hub;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 
 use Carp qw/carp croak confess/;
diff --git a/cpan/Test-Simple/lib/Test2/Hub/Interceptor.pm 
b/cpan/Test-Simple/lib/Test2/Hub/Interceptor.pm
index 56539a524f..0fc9fa3d97 100644
--- a/cpan/Test-Simple/lib/Test2/Hub/Interceptor.pm
+++ b/cpan/Test-Simple/lib/Test2/Hub/Interceptor.pm
@@ -2,7 +2,7 @@ package Test2::Hub::Interceptor;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 
 use Test2::Hub::Interceptor::Terminator();
diff --git a/cpan/Test-Simple/lib/Test2/Hub/Interceptor/Terminator.pm 
b/cpan/Test-Simple/lib/Test2/Hub/Interceptor/Terminator.pm
index c61ac37410..fb1a37f7bd 100644
--- a/cpan/Test-Simple/lib/Test2/Hub/Interceptor/Terminator.pm
+++ b/cpan/Test-Simple/lib/Test2/Hub/Interceptor/Terminator.pm
@@ -2,7 +2,7 @@ package Test2::Hub::Interceptor::Terminator;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 
 1;
diff --git a/cpan/Test-Simple/lib/Test2/Hub/Subtest.pm 
b/cpan/Test-Simple/lib/Test2/Hub/Subtest.pm
index 4e052f2fb2..0063c5908d 100644
--- a/cpan/Test-Simple/lib/Test2/Hub/Subtest.pm
+++ b/cpan/Test-Simple/lib/Test2/Hub/Subtest.pm
@@ -2,7 +2,7 @@ package Test2::Hub::Subtest;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 BEGIN { require Test2::Hub; our @ISA = qw(Test2::Hub) }
 use Test2::Util::HashBase qw/nested exit_code manual_skip_all/;
diff --git a/cpan/Test-Simple/lib/Test2/IPC.pm 
b/cpan/Test-Simple/lib/Test2/IPC.pm
index e6bf0f5a68..fad2912be2 100644
--- a/cpan/Test-Simple/lib/Test2/IPC.pm
+++ b/cpan/Test-Simple/lib/Test2/IPC.pm
@@ -2,7 +2,7 @@ package Test2::IPC;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 
 use Test2::API::Instance;
diff --git a/cpan/Test-Simple/lib/Test2/IPC/Driver.pm 
b/cpan/Test-Simple/lib/Test2/IPC/Driver.pm
index 112a85d20d..0f147eca2f 100644
--- a/cpan/Test-Simple/lib/Test2/IPC/Driver.pm
+++ b/cpan/Test-Simple/lib/Test2/IPC/Driver.pm
@@ -2,7 +2,7 @@ package Test2::IPC::Driver;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 
 use Carp qw/confess/;
diff --git a/cpan/Test-Simple/lib/Test2/IPC/Driver/Files.pm 
b/cpan/Test-Simple/lib/Test2/IPC/Driver/Files.pm
index 45bf94c53e..b652badd3e 100644
--- a/cpan/Test-Simple/lib/Test2/IPC/Driver/Files.pm
+++ b/cpan/Test-Simple/lib/Test2/IPC/Driver/Files.pm
@@ -2,7 +2,7 @@ package Test2::IPC::Driver::Files;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 
 BEGIN { require Test2::IPC::Driver; our @ISA = qw(Test2::IPC::Driver) }
diff --git a/cpan/Test-Simple/lib/Test2/Tools/Tiny.pm 
b/cpan/Test-Simple/lib/Test2/Tools/Tiny.pm
index baa6a0368e..8d32fd6696 100644
--- a/cpan/Test-Simple/lib/Test2/Tools/Tiny.pm
+++ b/cpan/Test-Simple/lib/Test2/Tools/Tiny.pm
@@ -16,7 +16,7 @@ use Test2::API qw/context run_subtest test2_stack/;
 use Test2::Hub::Interceptor();
 use Test2::Hub::Interceptor::Terminator();
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 BEGIN { require Exporter; our @ISA = qw(Exporter) }
 our @EXPORT = qw{
diff --git a/cpan/Test-Simple/lib/Test2/Util.pm 
b/cpan/Test-Simple/lib/Test2/Util.pm
index dcfbdfa50f..0c2c22909e 100644
--- a/cpan/Test-Simple/lib/Test2/Util.pm
+++ b/cpan/Test-Simple/lib/Test2/Util.pm
@@ -2,7 +2,7 @@ package Test2::Util;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 use POSIX();
 use Config qw/%Config/;
diff --git a/cpan/Test-Simple/lib/Test2/Util/ExternalMeta.pm 
b/cpan/Test-Simple/lib/Test2/Util/ExternalMeta.pm
index 416dfefc36..3c357dddd9 100644
--- a/cpan/Test-Simple/lib/Test2/Util/ExternalMeta.pm
+++ b/cpan/Test-Simple/lib/Test2/Util/ExternalMeta.pm
@@ -2,7 +2,7 @@ package Test2::Util::ExternalMeta;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 
 use Carp qw/croak/;
diff --git a/cpan/Test-Simple/lib/Test2/Util/Facets2Legacy.pm 
b/cpan/Test-Simple/lib/Test2/Util/Facets2Legacy.pm
index 914d3c78ff..2dcddfb33a 100644
--- a/cpan/Test-Simple/lib/Test2/Util/Facets2Legacy.pm
+++ b/cpan/Test-Simple/lib/Test2/Util/Facets2Legacy.pm
@@ -2,7 +2,7 @@ package Test2::Util::Facets2Legacy;
 use strict;
 use warnings;
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 use Carp qw/croak confess/;
 use Scalar::Util qw/blessed/;
diff --git a/cpan/Test-Simple/lib/Test2/Util/Trace.pm 
b/cpan/Test-Simple/lib/Test2/Util/Trace.pm
index ae5392eb01..7dc2aa1c7b 100644
--- a/cpan/Test-Simple/lib/Test2/Util/Trace.pm
+++ b/cpan/Test-Simple/lib/Test2/Util/Trace.pm
@@ -2,7 +2,7 @@ package Test2::Util::Trace;
 require Test2::EventFacet::Trace;
 @ISA = ('Test2::EventFacet::Trace');
 
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 1;
 
diff --git a/cpan/Test-Simple/lib/ok.pm b/cpan/Test-Simple/lib/ok.pm
index a3bef501b0..8da4fc7ee5 100644
--- a/cpan/Test-Simple/lib/ok.pm
+++ b/cpan/Test-Simple/lib/ok.pm
@@ -1,5 +1,5 @@
 package ok;
-our $VERSION = '1.302097';
+our $VERSION = '1.302098';
 
 use strict;
 use Test::More ();
diff --git a/cpan/Test-Simple/t/Test2/modules/Util.t 
b/cpan/Test-Simple/t/Test2/modules/Util.t
index 4299b7e6b3..88bfd0e41c 100644
--- a/cpan/Test-Simple/t/Test2/modules/Util.t
+++ b/cpan/Test-Simple/t/Test2/modules/Util.t
@@ -22,6 +22,12 @@ use Test2::Util qw/
     clone_io
 /;
 
+BEGIN {
+    if ($] lt "5.008") {
+        require Test::Builder::IO::Scalar;
+    }
+}
+
 {
     for my $try (\&try, Test2::Util->can('_manual_try'), 
Test2::Util->can('_local_try')) {
         my ($ok, $err) = $try->(sub { die "xxx" });
@@ -64,8 +70,13 @@ my $io = clone_io(\*STDOUT);
 ok($io, "Cloned the filehandle");
 close($io);
 
+my $fh;
 my $out = '';
-open(my $fh, '>', \$out) or die "Could not open filehandle";
+if ($] ge "5.008") {
+    open($fh, '>', \$out) or die "Could not open filehandle";
+} else {
+    $fh = Test::Builder::IO::Scalar->new(\$out) or die "Could not open 
filehandle";
+}
 
 $io = clone_io($fh);
 is($io, $fh, "For a scalar handle we simply return the original handle, no 
other choice");

--
Perl5 Master Repository

Reply via email to