Hello community,
here is the log from the commit of package perl-Test-Script for openSUSE:Factory checked in at 2016-05-08 10:45:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Test-Script (Old)
and /work/SRC/openSUSE:Factory/.perl-Test-Script.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Test-Script"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Test-Script/perl-Test-Script.changes 2015-05-15 07:44:36.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Test-Script.new/perl-Test-Script.changes 2016-05-08 10:46:15.000000000 +0200
@@ -1,0 +2,21 @@
+Thu May 5 10:16:54 UTC 2016 - coolo@suse.com
+
+- updated to 1.12
+ see /usr/share/doc/packages/perl-Test-Script/Changes
+
+ 1.12 2016-05-02 11:18:01 -0400
+ - Production release identical to 1.11_03 release.
+
+ 1.11_03 2016-04-28 06:45:52 -0400
+ - Check for IO errors on temporary .pm file
+
+ 1.11_02 2016-04-27 13:15:35 -0400
+ - One possible fix for gh#5
+ (see https://github.com/plicease/Test-Script/issues/5)
+
+ 1.11_01 2016-04-27 12:28:33 -0400
+ - Including some optional Test2 based tests that should
+ only be run with a merged Test2 / Test::Builder
+ (currently a dev release as Test::Simple on CPAN)
+
+-------------------------------------------------------------------
Old:
----
Test-Script-1.10.tar.gz
New:
----
Test-Script-1.12.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Test-Script.spec ++++++
--- /var/tmp/diff_new_pack.rG0s9d/_old 2016-05-08 10:46:16.000000000 +0200
+++ /var/tmp/diff_new_pack.rG0s9d/_new 2016-05-08 10:46:16.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package perl-Test-Script
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: perl-Test-Script
-Version: 1.10
+Version: 1.12
Release: 0
%define cpan_name Test-Script
Summary: Basic cross-platform tests for scripts
++++++ Test-Script-1.10.tar.gz -> Test-Script-1.12.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Script-1.10/Changes new/Test-Script-1.12/Changes
--- old/Test-Script-1.10/Changes 2015-05-12 11:15:45.000000000 +0200
+++ new/Test-Script-1.12/Changes 2016-05-02 17:18:04.000000000 +0200
@@ -1,5 +1,20 @@
Revision history for Perl extension Test-Script
+1.12 2016-05-02 11:18:01 -0400
+ - Production release identical to 1.11_03 release.
+
+1.11_03 2016-04-28 06:45:52 -0400
+ - Check for IO errors on temporary .pm file
+
+1.11_02 2016-04-27 13:15:35 -0400
+ - One possible fix for gh#5
+ (see https://github.com/plicease/Test-Script/issues/5)
+
+1.11_01 2016-04-27 12:28:33 -0400
+ - Including some optional Test2 based tests that should
+ only be run with a merged Test2 / Test::Builder
+ (currently a dev release as Test::Simple on CPAN)
+
1.10 2015-05-12 05:15:41 -0400
- Work around for buggy IPC::Run3 0.048 on MSWin32
On Windows we probe for and mitigate a bug in IPC::Run3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Script-1.10/MANIFEST new/Test-Script-1.12/MANIFEST
--- old/Test-Script-1.10/MANIFEST 2015-05-12 11:15:45.000000000 +0200
+++ new/Test-Script-1.12/MANIFEST 2016-05-02 17:18:04.000000000 +0200
@@ -1,4 +1,4 @@
-# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.036.
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.003.
Changes
INSTALL
LICENSE
@@ -10,9 +10,8 @@
cpanfile
dist.ini
lib/Test/Script.pm
+run_test.pl
t/00_diag.t
-t/00_diag.txt
-t/00_diag2.t
t/01_compile.t
t/02_compiles_good.t
t/03_compiles_bad.t
@@ -27,6 +26,9 @@
t/bin/good.pl
t/bin/print.pl
t/bin/signal.pl
+t2/test_script__exports.t
+t2/test_script__script_compiles.t
+t2/test_script__script_runs.t
xt/release/eol.t
xt/release/fixme.t
xt/release/no_tabs.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Script-1.10/META.json new/Test-Script-1.12/META.json
--- old/Test-Script-1.10/META.json 2015-05-12 11:15:45.000000000 +0200
+++ new/Test-Script-1.12/META.json 2016-05-02 17:18:04.000000000 +0200
@@ -5,7 +5,7 @@
"Adam Kennedy"
],
"dynamic_config" : 0,
- "generated_by" : "Dist::Zilla version 5.036, CPAN::Meta::Converter version 2.150001",
+ "generated_by" : "Dist::Zilla version 6.003, CPAN::Meta::Converter version 2.150005",
"license" : [
"perl_5"
],
@@ -21,6 +21,23 @@
"perl" : "5.006"
}
},
+ "develop" : {
+ "recommends" : {
+ "YAML::XS" : "0"
+ },
+ "requires" : {
+ "FindBin" : "0",
+ "Test::EOL" : "0",
+ "Test::Fixme" : "0.07",
+ "Test::More" : "0.94",
+ "Test::NoTabs" : "0",
+ "Test::Pod" : "0",
+ "Test::Pod::Coverage" : "0",
+ "Test::Pod::Spelling::CommonMistakes" : "0",
+ "Test::Spelling" : "0",
+ "YAML" : "0"
+ }
+ },
"runtime" : {
"requires" : {
"File::Spec" : "0.80",
@@ -33,7 +50,6 @@
},
"test" : {
"requires" : {
- "File::Spec::Functions" : "0",
"Test::Builder" : "0.32",
"Test::Builder::Tester" : "1.02",
"Test::More" : "0.96",
@@ -54,6 +70,6 @@
"web" : "https://github.com/plicease/Test-Script"
}
},
- "version" : "1.10"
+ "version" : "1.12"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Script-1.10/META.yml new/Test-Script-1.12/META.yml
--- old/Test-Script-1.10/META.yml 2015-05-12 11:15:45.000000000 +0200
+++ new/Test-Script-1.12/META.yml 2016-05-02 17:18:04.000000000 +0200
@@ -4,7 +4,6 @@
- 'Graham Ollis '
- 'Adam Kennedy'
build_requires:
- File::Spec::Functions: '0'
Test::Builder: '0.32'
Test::Builder::Tester: '1.02'
Test::More: '0.96'
@@ -14,7 +13,7 @@
ExtUtils::MakeMaker: '0'
perl: '5.006'
dynamic_config: 0
-generated_by: 'Dist::Zilla version 5.036, CPAN::Meta::Converter version 2.150001'
+generated_by: 'Dist::Zilla version 6.003, CPAN::Meta::Converter version 2.150005'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -31,4 +30,4 @@
bugtracker: https://github.com/plicease/Test-Script/issues
homepage: http://perl.wdlabs.com/Test-Script
repository: git://github.com/plicease/Test-Script.git
-version: '1.10'
+version: '1.12'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Script-1.10/Makefile.PL new/Test-Script-1.12/Makefile.PL
--- old/Test-Script-1.10/Makefile.PL 2015-05-12 11:15:45.000000000 +0200
+++ new/Test-Script-1.12/Makefile.PL 2016-05-02 17:18:04.000000000 +0200
@@ -1,10 +1,16 @@
+use strict; use warnings;
BEGIN {
+ sub MY::test_via_harness
+ {
+ my(undef, $perl, undef) = @_;
+ "\t$perl run_test.pl";
+ }
unless(eval q{ use 5.006; 1}) {
print "Perl 5.006 or better required\n";
exit;
}
}
-# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.036.
+# This file was automatically generated by Dist::Zilla::Plugin::Author::Plicease::MakeMaker v2.03.
use strict;
use warnings;
@@ -19,10 +25,12 @@
"ExtUtils::MakeMaker" => 0
},
"DISTNAME" => "Test-Script",
- "EXE_FILES" => [],
"LICENSE" => "perl",
"MIN_PERL_VERSION" => "5.006",
"NAME" => "Test::Script",
+ "PM" => {
+ "lib/Test/Script.pm" => "\$(INST_LIB)/Test/Script.pm"
+ },
"PREREQ_PM" => {
"File::Spec" => "0.80",
"IPC::Run3" => "0.034",
@@ -31,13 +39,12 @@
"Test::More" => "0.96"
},
"TEST_REQUIRES" => {
- "File::Spec::Functions" => 0,
"Test::Builder" => "0.32",
"Test::Builder::Tester" => "1.02",
"Test::More" => "0.96",
"Test::Tester" => 0
},
- "VERSION" => "1.10",
+ "VERSION" => "1.12",
"test" => {
"TESTS" => "t/*.t"
}
@@ -45,9 +52,7 @@
my %FallbackPrereqs = (
- "ExtUtils::MakeMaker" => 0,
"File::Spec" => "0.80",
- "File::Spec::Functions" => 0,
"IPC::Run3" => "0.034",
"Probe::Perl" => "0.01",
"Test::Builder" => "0.32",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Script-1.10/README new/Test-Script-1.12/README
--- old/Test-Script-1.10/README 2015-05-12 11:15:45.000000000 +0200
+++ new/Test-Script-1.12/README 2016-05-02 17:18:04.000000000 +0200
@@ -4,15 +4,15 @@
VERSION
- version 1.10
+ version 1.12
SYNOPSIS
use Test::More tests => 2;
use Test::Script;
- script_compiles('script/awesomescript.pl');
- script_runs(['script/awesomescript.pl', '--awesome-argument']);
+ script_compiles('script/myscript.pl');
+ script_runs(['script/myscript.pl', '--my-argument']);
DESCRIPTION
@@ -177,6 +177,22 @@
Tests if the output to stderr from the previous "script_runs" does NOT
match the regular expression.
+CAVEATS
+
+ This module is fully supported back to Perl 5.8.1. It may work on
+ 5.8.0. It should work on Perl 5.6.x and I may even test on 5.6.2. I
+ will accept patches to maintain compatibility for such older Perls, but
+ you may need to fix it on 5.6.x / 5.8.0 and send me a patch.
+
+ This module uses IPC::Run3 to compile and run scripts. There are a
+ number of outstanding issues with this module, and maintenance for
+ IPC::Run3 is not swift. One of these is that IPC::Run3 incorrectly
+ throws an exception on Windows when you feed it a Perl script with a
+ compile error. Currently Test::Script probes for this bug (it checks
+ for the bug, not for a specific version) and applies a workaround in
+ that case. I am hoping to remove the work around once the bug is fixed
+ in IPC::Run3.
+
SEE ALSO
Test::Script::Run, Test::More
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Script-1.10/cpanfile new/Test-Script-1.12/cpanfile
--- old/Test-Script-1.10/cpanfile 2015-05-12 11:15:45.000000000 +0200
+++ new/Test-Script-1.12/cpanfile 2016-05-02 17:18:04.000000000 +0200
@@ -6,7 +6,6 @@
requires "perl" => "5.006";
on 'test' => sub {
- requires "File::Spec::Functions" => "0";
requires "Test::Builder" => "0.32";
requires "Test::Builder::Tester" => "1.02";
requires "Test::More" => "0.96";
@@ -18,3 +17,20 @@
requires "ExtUtils::MakeMaker" => "0";
requires "perl" => "5.006";
};
+
+on 'develop' => sub {
+ requires "FindBin" => "0";
+ requires "Test::EOL" => "0";
+ requires "Test::Fixme" => "0.07";
+ requires "Test::More" => "0.94";
+ requires "Test::NoTabs" => "0";
+ requires "Test::Pod" => "0";
+ requires "Test::Pod::Coverage" => "0";
+ requires "Test::Pod::Spelling::CommonMistakes" => "0";
+ requires "Test::Spelling" => "0";
+ requires "YAML" => "0";
+};
+
+on 'develop' => sub {
+ recommends "YAML::XS" => "0";
+};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Script-1.10/dist.ini new/Test-Script-1.12/dist.ini
--- old/Test-Script-1.10/dist.ini 2015-05-12 11:15:45.000000000 +0200
+++ new/Test-Script-1.12/dist.ini 2016-05-02 17:18:04.000000000 +0200
@@ -4,14 +4,30 @@
license = Perl_5
copyright_holder = Adam Kennedy
copyright_year = 2006
-version = 1.10
+version = 1.12
[@Author::Plicease]
-:version = 1.70
+:version = 1.94
+travis_status = 1
release_tests = 1
-installer = MakeMaker
release_tests_skip = (changes|strict)\.t
+diag_preamble = | $post_diag = sub
+diag_preamble = | {
+diag_preamble = | eval {
+diag_preamble = | require Test::Script;
+diag_preamble = | diag "probing IPC::Run3 for rt94685 rt46333 rt95308 gh#9";
+diag_preamble = | diag "IPC::Run3 is ", Test::Script::_borked_ipc_run3() ? 'borked' : 'good';
+diag_preamble = | 1;
+diag_preamble = | } || diag "eval failed: $@";
+diag_preamble = | };
+
+preamble = | sub MY::test_via_harness
+preamble = | {
+preamble = | my(undef, $perl, undef) = @_;
+preamble = | "\t$perl run_test.pl";
+preamble = | }
+
[RemovePrereqs]
remove = strict
remove = warnings
@@ -20,6 +36,9 @@
remove = Carp
remove = Exporter
remove = File::Spec::Unix
+remove = File::Spec::Functions
+remove = File::Temp
+remove = File::Path
[Prereqs]
File::Spec = 0.80
@@ -35,8 +54,6 @@
[Author::Plicease::Upload]
cpan = 1
-[Author::Plicease::InstallerPerlVersion]
-
[Author::Plicease::Thanks]
current = Graham Ollis
original = Adam Kennedy
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Script-1.10/lib/Test/Script.pm new/Test-Script-1.12/lib/Test/Script.pm
--- old/Test-Script-1.10/lib/Test/Script.pm 2015-05-12 11:15:45.000000000 +0200
+++ new/Test-Script-1.12/lib/Test/Script.pm 2016-05-02 17:18:04.000000000 +0200
@@ -1,7 +1,7 @@
package Test::Script;
# ABSTRACT: Basic cross-platform tests for scripts
-our $VERSION = '1.10'; # VERSION
+our $VERSION = '1.12'; # VERSION
use 5.006;
@@ -14,6 +14,8 @@
use Probe::Perl ();
use IPC::Run3 qw( run3 );
use Test::Builder ();
+use File::Temp ();
+use File::Path ();
our @ISA = 'Exporter';
our @EXPORT = qw{
@@ -66,7 +68,7 @@
## See rt94685, rt46333, rt95308 and IPC-Run3/gh#9"
sub _borked_ipc_run3 () {
$^O eq 'MSWin32' &&
- ! eval { $! = 0; IPC::Run3::run3 [ perl, -e => 'BEGIN {die}' ], \undef, \undef, \undef; 1 }
+ ! eval { IPC::Run3::run3 [ perl, -e => 'BEGIN {die}' ], \undef, \undef, \undef; 1 }
}
if(_borked_ipc_run3())
@@ -89,7 +91,8 @@
my $unix = shift @$args;
my $path = path( $unix );
my @libs = map { "-I$_" } grep {!ref($_)} @INC;
- my $cmd = [ perl, @libs, '-c', $path, @$args ];
+ my $dir = _preload_module();
+ my $cmd = [ perl, "-I$dir", '-M__TEST_SCRIPT__', '-c', $path, @$args ];
my $stdin = '';
my $stdout = '';
my $stderr = '';
@@ -101,6 +104,8 @@
$error eq '' and $rv and $exit == 0 and $signal == 0 and $stderr =~ /syntax OK\s+\z/si
);
+ File::Path::rmtree($dir);
+
my $test = Test::Builder->new;
$test->ok( $ok, $_[0] || "Script $unix compiles" );
$test->diag( "$exit - $stderr" ) unless $ok;
@@ -110,6 +115,29 @@
return $ok;
}
+# this is noticably slower for long @INC lists (sometimes present in cpantesters
+# boxes) than the previous implementation, which added a -I for every element in
+# @INC. (also slower for more reasonable @INCs, but not noticably). But it is
+# safer as very long argument lists can break calls to system
+sub _preload_module
+{
+ my $dir = File::Temp::tempdir( CLEANUP => 1 );
+ # this is hopefully a pm file that nobody would use
+ my $filename = File::Spec->catfile($dir, '__TEST_SCRIPT__.pm');
+ my $fh;
+ open($fh, ">$filename")
+ || die "unable to open $filename: $!";
+ print($fh 'unshift @INC, ',
+ join ',',
+ # quotemeta is overkill, but it will make sure that characters
+ # like " are quoted
+ map { '"' . quotemeta . '"' }
+ grep { ! ref } @INC)
+ || die "unable to write $filename: $!";
+ close($fh) || die "unable to close $filename: $!";;
+ $dir;
+}
+
my $stdout;
my $stderr;
@@ -119,8 +147,8 @@
my $opt = _options(\@_);
my $unix = shift @$args;
my $path = path( $unix );
- my @libs = map { "-I$_" } grep {!ref($_)} @INC;
- my $cmd = [ perl, @libs, $path, @$args ];
+ my $dir = _preload_module();
+ my $cmd = [ perl, "-I$dir", '-M__TEST_SCRIPT__', $path, @$args ];
$stdout = '';
$stderr = '';
my $rv = eval { run3( $cmd, $opt->{stdin}, $opt->{stdout}, $opt->{stderr} ) };
@@ -129,6 +157,8 @@
my $signal = $? ? ($? & 127) : 0;
my $ok = !! ( $error eq '' and $rv and $exit == $opt->{exit} and $signal == $opt->{signal} );
+ File::Path::rmtree($dir);
+
my $test = Test::Builder->new;
$test->ok( $ok, $_[0] || "Script $unix runs" );
$test->diag( "$exit - $stderr" ) unless $ok;
@@ -285,15 +315,15 @@
=head1 VERSION
-version 1.10
+version 1.12
=head1 SYNOPSIS
use Test::More tests => 2;
use Test::Script;
- script_compiles('script/awesomescript.pl');
- script_runs(['script/awesomescript.pl', '--awesome-argument']);
+ script_compiles('script/myscript.pl');
+ script_runs(['script/myscript.pl', '--my-argument']);
=head1 DESCRIPTION
@@ -467,12 +497,25 @@
Tests if the output to stderr from the previous L does NOT match the regular
expression.
+=head1 CAVEATS
+
+This module is fully supported back to Perl 5.8.1. It may work on 5.8.0.
+It should work on Perl 5.6.x and I may even test on 5.6.2. I will accept
+patches to maintain compatibility for such older Perls, but you may
+need to fix it on 5.6.x / 5.8.0 and send me a patch.
+
+This module uses LIPC::Run3 to compile and run scripts. There are a number of
+outstanding issues with this module, and maintenance for LIPC::Run3 is not swift.
+One of these is that LIPC::Run3 incorrectly throws an exception on Windows when
+you feed it a Perl script with a compile error. Currently LTest::Script probes
+for this bug (it checks for the bug, not for a specific version) and applies a
+workaround in that case. I am hoping to remove the work around once the bug is
+fixed in LIPC::Run3.
+
=head1 SEE ALSO
LTest::Script::Run, LTest::More
-=cut
-
=head1 AUTHOR
Original author: Adam Kennedy
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Script-1.10/run_test.pl new/Test-Script-1.12/run_test.pl
--- old/Test-Script-1.10/run_test.pl 1970-01-01 01:00:00.000000000 +0100
+++ new/Test-Script-1.12/run_test.pl 2016-05-02 17:18:04.000000000 +0200
@@ -0,0 +1,18 @@
+use strict;
+use warnings;
+use blib;
+use Test::Harness;
+use File::Spec;
+use File::Glob qw( bsd_glob );
+
+my $test2 = eval {
+ require Test2;
+ require Test2::Suite;
+ require Test::Builder;
+ Test::Builder->can('context');
+};
+
+my @tests = bsd_glob 't/*.t';
+push @tests, bsd_glob 't2/*.t' if $test2;
+
+Test::Harness::runtests(@tests);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Script-1.10/t/00_diag.t new/Test-Script-1.12/t/00_diag.t
--- old/Test-Script-1.10/t/00_diag.t 2015-05-12 11:15:45.000000000 +0200
+++ new/Test-Script-1.12/t/00_diag.t 2016-05-02 17:18:04.000000000 +0200
@@ -2,25 +2,36 @@
use warnings;
use Config;
use Test::More tests => 1;
-BEGIN {
- my @modules;
- eval q{
- require FindBin;
- require File::Spec;
+
+# This .t file is generated.
+# make changes instead to dist.ini
+
+my %modules;
+my $post_diag;
+
+$modules{$_} = $_ for qw(
+ ExtUtils::MakeMaker
+ File::Spec
+ IPC::Run3
+ Probe::Perl
+ Test::Builder
+ Test::Builder::Tester
+ Test::More
+ Test::Tester
+);
+
+$post_diag = sub
+{
+ eval {
+ require Test::Script;
+ diag "probing IPC::Run3 for rt94685 rt46333 rt95308 gh#9";
+ diag "IPC::Run3 is ", Test::Script::_borked_ipc_run3() ? 'borked' : 'good';
1;
- } || die $@;
- do {
- my $fh;
- if(open($fh, '<', File::Spec->catfile($FindBin::Bin, '00_diag.pre.txt')))
- {
- @modules = <$fh>;
- close $fh;
- chomp @modules;
- }
- };
- eval qq{ require $_ } for @modules;
+ } || diag "eval failed: $@";
};
+my @modules = sort keys %modules;
+
sub spacer ()
{
diag '';
@@ -30,15 +41,6 @@
pass 'okay';
-my @modules;
-do {
- my $fh;
- open($fh, '<', File::Spec->catfile($FindBin::Bin, '00_diag.txt'));
- @modules = <$fh>;
- close $fh;
- chomp @modules;
-};
-
my $max = 1;
$max = $_ > $max ? $_ : $max for map { length $_ } @modules;
our $format = "%-${max}s %s";
@@ -68,10 +70,7 @@
spacer;
}
-diag sprintf $format, 'perl ', $^V;
-
-require(File::Spec->catfile($FindBin::Bin, '00_diag.pl'))
- if -e File::Spec->catfile($FindBin::Bin, '00_diag.pl');
+diag sprintf $format, 'perl ', $];
foreach my $module (@modules)
{
@@ -87,5 +86,11 @@
}
}
+if($post_diag)
+{
+ spacer;
+ $post_diag->();
+}
+
spacer;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Script-1.10/t/00_diag.txt new/Test-Script-1.12/t/00_diag.txt
--- old/Test-Script-1.10/t/00_diag.txt 2015-05-12 11:15:45.000000000 +0200
+++ new/Test-Script-1.12/t/00_diag.txt 1970-01-01 01:00:00.000000000 +0100
@@ -1,9 +0,0 @@
-ExtUtils::MakeMaker
-File::Spec
-File::Spec::Functions
-IPC::Run3
-Probe::Perl
-Test::Builder
-Test::Builder::Tester
-Test::More
-Test::Tester
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Script-1.10/t/00_diag2.t new/Test-Script-1.12/t/00_diag2.t
--- old/Test-Script-1.10/t/00_diag2.t 2015-05-12 11:15:45.000000000 +0200
+++ new/Test-Script-1.12/t/00_diag2.t 1970-01-01 01:00:00.000000000 +0100
@@ -1,17 +0,0 @@
-use strict;
-use warnings;
-use Test::More tests => 1;
-use Test::Script;
-
-pass;
-
-diag '';
-diag '';
-diag '';
-
-diag "probing IPC::Run3 for rt94685 rt46333 rt95308 gh#9";
-diag "IPC::Run3 is ", Test::Script::_borked_ipc_run3() ? 'borked' : 'good';
-
-diag '';
-diag '';
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Script-1.10/t/02_compiles_good.t new/Test-Script-1.12/t/02_compiles_good.t
--- old/Test-Script-1.10/t/02_compiles_good.t 2015-05-12 11:15:45.000000000 +0200
+++ new/Test-Script-1.12/t/02_compiles_good.t 2016-05-02 17:18:04.000000000 +0200
@@ -20,7 +20,7 @@
test_out("ok 1 - Script t/bin/good.pl compiles");
my $rv = script_compiles('t/bin/good.pl');
test_test('Good script returns true');
- is( $rv, 1, 'script_compiles_ok returns true as a convenience' );
+ is( $rv, 1, 'script_compiles returns true as a convenience' );
}
SCOPE: {
@@ -28,5 +28,5 @@
test_out("ok 1 - It worked");
my $rv = script_compiles('t/bin/good.pl', 'It worked');
test_test('Good script returns true');
- is( $rv, 1, 'script_compiles_ok returns true as a convenience' );
+ is( $rv, 1, 'script_compiles returns true as a convenience' );
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Script-1.10/t/03_compiles_bad.t new/Test-Script-1.12/t/03_compiles_bad.t
--- old/Test-Script-1.10/t/03_compiles_bad.t 2015-05-12 11:15:45.000000000 +0200
+++ new/Test-Script-1.12/t/03_compiles_bad.t 2016-05-02 17:18:04.000000000 +0200
@@ -28,7 +28,7 @@
test_err("# BEGIN failed--compilation aborted at $bad line 5.");
my $rv = script_compiles('t/bin/bad.pl');
test_test('Bad script returns false');
- is( $rv, '', 'script_compiles_ok returns false as a convenience' );
+ is( $rv, '', 'script_compiles returns false as a convenience' );
}
SCOPE: {
@@ -39,5 +39,5 @@
test_err("# BEGIN failed--compilation aborted at $bad line 5.");
my $rv = script_compiles('t/bin/bad.pl', 'It worked');
test_test('Bad script returns false');
- is( $rv, '', 'script_compiles_ok returns false as a convenience' );
+ is( $rv, '', 'script_compiles returns false as a convenience' );
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Script-1.10/t/04_runs_good.t new/Test-Script-1.12/t/04_runs_good.t
--- old/Test-Script-1.10/t/04_runs_good.t 2015-05-12 11:15:45.000000000 +0200
+++ new/Test-Script-1.12/t/04_runs_good.t 2016-05-02 17:18:04.000000000 +0200
@@ -20,7 +20,7 @@
test_out("ok 1 - Script t/bin/good.pl runs");
my $rv = script_runs('t/bin/good.pl');
test_test('Good script returns true');
- is( $rv, 1, 'script_compiles_ok returns true as a convenience' );
+ is( $rv, 1, 'script_runs returns true as a convenience' );
}
SCOPE: {
@@ -28,5 +28,5 @@
test_out("ok 1 - It worked");
my $rv = script_runs('t/bin/good.pl', 'It worked');
test_test('Good script returns true');
- is( $rv, 1, 'script_compiles_ok returns true as a convenience' );
+ is( $rv, 1, 'script_runs returns true as a convenience' );
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Script-1.10/t/05_runs_bad.t new/Test-Script-1.12/t/05_runs_bad.t
--- old/Test-Script-1.10/t/05_runs_bad.t 2015-05-12 11:15:45.000000000 +0200
+++ new/Test-Script-1.12/t/05_runs_bad.t 2016-05-02 17:18:04.000000000 +0200
@@ -22,7 +22,7 @@
test_err(qr{^# 4 - (?:Using.*\n# )?Standard Error\n?$});
my $rv = script_runs('t/bin/four.pl');
test_test('Bad script returns false');
- is( $rv, '', 'script_compiles_ok returns true as a convenience' );
+ is( $rv, '', 'script_runs returns true as a convenience' );
}
SCOPE: {
@@ -32,5 +32,5 @@
test_err(qr{^# 4 - (?:Using.*\n# )?Standard Error\n?$});
my $rv = script_runs('t/bin/four.pl', 'It worked');
test_test('Bad script returns false');
- is( $rv, '', 'script_compiles_ok returns true as a convenience' );
+ is( $rv, '', 'script_runs returns true as a convenience' );
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Script-1.10/t2/test_script__exports.t new/Test-Script-1.12/t2/test_script__exports.t
--- old/Test-Script-1.10/t2/test_script__exports.t 1970-01-01 01:00:00.000000000 +0100
+++ new/Test-Script-1.12/t2/test_script__exports.t 2016-05-02 17:18:04.000000000 +0200
@@ -0,0 +1,23 @@
+use strict;
+use warnings;
+use Test2::Tools::Exports;
+use Test2::Tools::Basic;
+use Test::Script;
+
+# replaces t/01_compile.t
+
+imported_ok $_ for qw(
+ script_compiles
+ script_compiles_ok
+ script_runs
+ script_stdout_is
+ script_stdout_isnt
+ script_stdout_like
+ script_stdout_unlike
+ script_stderr_is
+ script_stderr_isnt
+ script_stderr_like
+ script_stderr_unlike
+);
+
+done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Script-1.10/t2/test_script__script_compiles.t new/Test-Script-1.12/t2/test_script__script_compiles.t
--- old/Test-Script-1.10/t2/test_script__script_compiles.t 1970-01-01 01:00:00.000000000 +0100
+++ new/Test-Script-1.12/t2/test_script__script_compiles.t 2016-05-02 17:18:04.000000000 +0200
@@ -0,0 +1,117 @@
+use strict;
+use warnings;
+use Test2::Bundle::Extended;
+use Test::Script;
+use File::Spec;
+use File::Temp qw( tempdir );
+
+# the first subtest replaces t/02_compiles_good.t
+
+subtest 'good' => sub {
+
+ my $rv;
+ is(
+ intercept { $rv = script_compiles 't/bin/good.pl' },
+ array {
+ event Ok => sub {
+ call pass => T();
+ call name => 'Script t/bin/good.pl compiles';
+ };
+ end;
+ },
+ 'script_compiles t/bin/good.pl',
+ );
+
+ is $rv, T(), 'script_compiles_ok returns true as convenience';
+
+ is(
+ intercept { $rv = script_compiles 't/bin/good.pl', 'It worked' },
+ array {
+ event Ok => sub {
+ call pass => T();
+ call name => 'It worked';
+ };
+ end;
+ },
+ 'script_compiles t/bin/good.pl It worked',
+ );
+
+ is $rv, T(), 'script_compiles_ok returns true as convenience';
+};
+
+# second subtest replaces t/03_compiles_bad.t
+
+subtest 'bad' => sub {
+
+ my $rv;
+ my $bad = File::Spec->catfile(qw( t bin bad.pl ));
+ my $qbad = quotemeta($bad);
+ ok -f $bad, 'found bad script';
+
+ is(
+ intercept { $rv = script_compiles 't/bin/bad.pl' },
+ array {
+ event Ok => sub {
+ call pass => F();
+ call name => 'Script t/bin/bad.pl compiles';
+ };
+ event Diag => sub {
+ # generated by TB / T2
+ };
+ event Diag => sub {
+ # generated by TB / T2
+ };
+ event Diag => sub {
+ call message => match qr{\d+ - (?:Using.*\n# )?Bad at $qbad line 4\.\n};
+ call message => match qr{BEGIN failed--compilation aborted at $bad line 5.};
+ };
+ end;
+ },
+ 'script_compiles t/bin/bad.pl',
+ );
+
+ is $rv, F(), 'script_compiles_ok returns false as convenience';
+
+ is(
+ intercept { $rv = script_compiles 't/bin/bad.pl', 'It worked' },
+ array {
+ event Ok => sub {
+ call pass => F();
+ call name => 'It worked';
+ };
+ event Diag => sub {
+ # generated by TB / T2
+ };
+ event Diag => sub {
+ # generated by TB / T2
+ };
+ event Diag => sub {
+ call message => match qr{\d+ - (?:Using.*\n# )?Bad at $qbad line 4\.\n};
+ call message => match qr{BEGIN failed--compilation aborted at $bad line 5.};
+ };
+ end;
+ },
+ 'script_compiles t/bin/bad.pl It worked',
+ );
+
+ is $rv, F(), 'script_compiles_ok returns false as convenience';
+
+};
+
+subtest 'unreasonable number of libs' => sub {
+
+ local @INC = @INC;
+
+ my $dir = tempdir( CLEANUP => 1 );
+
+ for(map { File::Spec->catfile($dir, $_) } 1..1000000)
+ {
+ #mkdir;
+ push @INC, $_;
+ }
+
+ script_compiles 't/bin/good.pl';
+
+};
+
+done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Script-1.10/t2/test_script__script_runs.t new/Test-Script-1.12/t2/test_script__script_runs.t
--- old/Test-Script-1.10/t2/test_script__script_runs.t 1970-01-01 01:00:00.000000000 +0100
+++ new/Test-Script-1.12/t2/test_script__script_runs.t 2016-05-02 17:18:04.000000000 +0200
@@ -0,0 +1,103 @@
+use strict;
+use warnings;
+use Test2::Bundle::Extended;
+use Test::Script;
+use File::Temp qw( tempdir );
+
+# the first subtest replaces t/04_runs_good.t
+
+subtest 'good' => sub {
+
+ my $rv;
+
+ is(
+ intercept { $rv = script_runs 't/bin/good.pl' },
+ array {
+ event Ok => sub {
+ call pass => T();
+ call name => 'Script t/bin/good.pl runs';
+ };
+ end;
+ },
+ 'script_runs t/bin/good.pl',
+ );
+
+ is $rv, T(), 'script_compiles_ok returns true as convenience';
+
+ is(
+ intercept { $rv = script_runs 't/bin/good.pl', 'It worked' },
+ array {
+ event Ok => sub {
+ call pass => T();
+ call name => 'It worked';
+ };
+ end;
+ },
+ 'script_runs t/bin/good.pl It worked',
+ );
+
+ is $rv, T(), 'script_compiles_ok returns true as convenience';
+
+
+};
+
+subtest 'good' => sub {
+
+ my $rv;
+
+ is(
+ intercept { $rv = script_runs 't/bin/four.pl' },
+ array {
+ event Ok => sub {
+ call pass => F();
+ call name => 'Script t/bin/four.pl runs';
+ };
+ event Diag => sub {};
+ event Diag => sub {};
+ event Diag => sub {
+ call message => match qr{4 - (?:Using.*\n# )?Standard Error\n};
+ };
+ end;
+ },
+ 'script_runs t/bin/good.pl',
+ );
+
+ is $rv, F(), 'script_compiles_ok returns false as convenience';
+
+ is(
+ intercept { $rv = script_runs 't/bin/four.pl', 'It worked' },
+ array {
+ event Ok => sub {
+ call pass => F();
+ call name => 'It worked';
+ };
+ event Diag => sub {};
+ event Diag => sub {};
+ event Diag => sub {
+ call message => match qr{4 - (?:Using.*\n# )?Standard Error\n};
+ };
+ end;
+ },
+ 'script_runs t/bin/good.pl It worked',
+ );
+
+ is $rv, F(), 'script_compiles_ok returns false as convenience';
+
+
+};
+
+subtest 'unreasonable number of libs' => sub {
+
+ local @INC = @INC;
+ my $dir = tempdir( CLEANUP => 1 );
+ for(map { File::Spec->catfile($dir, $_) } 1..1000000)
+ {
+ #mkdir;
+ push @INC, $_;
+ }
+
+ script_runs 't/bin/good.pl';
+
+};
+
+done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Script-1.10/xt/release/pod_coverage.t new/Test-Script-1.12/xt/release/pod_coverage.t
--- old/Test-Script-1.10/xt/release/pod_coverage.t 2015-05-12 11:15:45.000000000 +0200
+++ new/Test-Script-1.12/xt/release/pod_coverage.t 2016-05-02 17:18:04.000000000 +0200
@@ -2,6 +2,8 @@
use warnings;
use Test::More;
BEGIN {
+ plan skip_all => 'test requires 5.010 or better'
+ unless $] >= 5.010;
plan skip_all => 'test requires Test::Pod::Coverage'
unless eval q{ use Test::Pod::Coverage; 1 };
plan skip_all => 'test requires YAML'