from https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/CPAN-Meta-YAML-0.017-TRIAL.tar.gz
meta files omitted:
LICENSE
MANIFEST
META.json
META.yml
README
t/00-report-prereqs.t
xt/
--- /dev/null
+Revision history for CPAN-Meta-YAML
+
+0.017 2015-08-04 06:02:12-04:00 America/New_York (TRIAL RELEASE)
+
+ - Generated from ETHER/YAML-Tiny-1.69.tar.gz
+
+0.016 2015-05-19 05:34:02-04:00 America/New_York
+
+ - Generated from ETHER/YAML-Tiny-1.67.tar.gz
+
+0.015 2015-05-11 22:01:58-04:00 America/New_York (TRIAL RELEASE)
+
+ - Generated from ETHER/YAML-Tiny-1.67.tar.gz
+
+0.014 2015-03-16 19:22:12-04:00 America/New_York
+
+ - Generated from ETHER/YAML-Tiny-1.66.tar.gz
+
+0.013 2015-03-16 11:32:04-04:00 America/New_York
+
+ - Generated from ETHER/YAML-Tiny-1.65.tar.gz
+
+0.012 2014-02-24 13:07:18-05:00 America/New_York
+
+ - Generated from ETHER/YAML-Tiny-1.61.tar.gz
+
+0.011 2014-02-13 20:30:30-05:00 America/New_York
+
+ - Generated from ETHER/YAML-Tiny-1.60.tar.gz
+
+0.010 2013-09-23 13:11:20 America/New_York
+
+ - Generated from ETHER/YAML-Tiny-1.55.tar.gz
+
+ - Fix broken test when copying from YAML-Tiny
+
+ - updated Makefile.PL logic to support PERL_NO_HIGHLANDER
+
+0.009 2013-09-23 10:16:19 America/New_York
+
+ - Generated from ETHER/YAML-Tiny-1.55.tar.gz
+
+ - Makefile.PL will use UNINST=1 on old perls that might have
+ an old version incorrectly installed into the core library path
+
+0.008 2012-03-14 17:13:24 EST5EDT
+
+ - Generated from ADAMK/YAML-Tiny-1.51.tar.gz
+
+ - Updated from YAML-Tiny to fix compatibility with older Scalar::Utils
+
+0.007 2012-02-07 22:42:42 EST5EDT
+
+ - Generated from ADAMK/YAML-Tiny-1.50.tar.gz
+
+ - Documentation fix to replace missing abstract
+
+0.006 2012-02-06 20:51:47 EST5EDT
+
+ - Generated from ADAMK/YAML-Tiny-1.50.tar.gz
+
+ - Set back configure_requires prerequisite for ExtUtils::MakeMaker
+ from 6.30 to 6.17 (per request from Andreas Koenig)
+
+0.005 2011-12-13 12:57:24 EST5EDT
+
+ - Generated from ADAMK/YAML-Tiny-1.50.tar.gz
+
+ - Fix documentation to clarify that users are responsible for
+ UTF-8 encoding/decoding
+
+0.004 2011-09-06 09:42:52 America/New_York
+
+ - Generated from ADAMK/YAML-Tiny-1.50.tar.gz
+
+0.003 2011-01-02 17:32:05 EST5EDT
+
+ - Generated from ADAMK/YAML-Tiny-1.46.tar.gz
+
+ - Updated SEE ALSO documentation at Ingy's request
+
+ - Remove CompileTests plugin from dist.ini
+
+0.002 2010-12-17 12:31:12 EST5EDT
+
+ - Generated from ADAMK/YAML-Tiny-1.46.tar.gz
+
+ - Removed source $VERSION and replaced with our own
+
+ - Added a SYNOPSIS to the generated Pod
+
+ - Omits the dist.ini from the distribution
+
+0.001 2010-12-17 08:53:42 EST5EDT
+
+ - Generated from ADAMK/YAML-Tiny-1.46.tar.gz
+
+# vim: ts=2 sts=2 sw=2 et:
use 5.008001; # sane UTF-8 support
use strict;
use warnings;
-package CPAN::Meta::YAML; # git description: v1.66-5-ge09e1ae
+package CPAN::Meta::YAML; # git description: v1.68-2-gcc5324e
# XXX-INGY is 5.8.1 too old/broken for utf8?
# XXX-XDG Lancaster consensus was that it was sufficient until
# proven otherwise
-$CPAN::Meta::YAML::VERSION = '0.016';
+$CPAN::Meta::YAML::VERSION = '0.017'; # TRIAL
; # original $VERSION removed by Doppelgaenger
#####################################################################
=head1 VERSION
-version 0.016
+version 0.017
=head1 SYNOPSIS
+++ /dev/null
-do { my $x = {
- 'configure' => {
- 'requires' => {
- 'ExtUtils::MakeMaker' => '6.17',
- 'perl' => '5.008001'
- }
- },
- 'develop' => {
- 'requires' => {
- 'Dist::Zilla' => '5',
- 'Dist::Zilla::Plugin::AppendExternalData' => '0',
- 'Dist::Zilla::Plugin::Doppelgaenger' => '0.007',
- 'Dist::Zilla::Plugin::Encoding' => '0',
- 'Dist::Zilla::Plugin::Git::NextVersion' => '0',
- 'Dist::Zilla::Plugin::MakeMaker::Highlander' => '0.003',
- 'Dist::Zilla::Plugin::MetaResources' => '0',
- 'Dist::Zilla::Plugin::PkgVersion' => '0',
- 'Dist::Zilla::Plugin::PodWeaver' => '0',
- 'Dist::Zilla::Plugin::PruneFiles' => '0',
- 'Dist::Zilla::Plugin::RemovePrereqs' => '0',
- 'Dist::Zilla::PluginBundle::DAGOLDEN' => '0.072',
- 'File::Spec' => '0',
- 'File::Temp' => '0',
- 'IO::Handle' => '0',
- 'IPC::Open3' => '0',
- 'Test::CPAN::Meta' => '0',
- 'Test::More' => '0',
- 'Test::Pod' => '1.41',
- 'Test::Version' => '1'
- }
- },
- 'runtime' => {
- 'requires' => {
- 'B' => '0',
- 'Carp' => '0',
- 'Exporter' => '0',
- 'Fcntl' => '0',
- 'Scalar::Util' => '0',
- 'perl' => '5.008001',
- 'strict' => '0',
- 'warnings' => '0'
- }
- },
- 'test' => {
- 'recommends' => {
- 'CPAN::Meta' => '2.120900'
- },
- 'requires' => {
- 'ExtUtils::MakeMaker' => '0',
- 'File::Basename' => '0',
- 'File::Find' => '0',
- 'File::Spec' => '0',
- 'File::Spec::Functions' => '0',
- 'File::Temp' => '0.19',
- 'IO::Dir' => '0',
- 'JSON::PP' => '0',
- 'Test::More' => '0.99',
- 'lib' => '0',
- 'perl' => '5.008001',
- 'utf8' => '0',
- 'vars' => '0'
- }
- }
- };
- $x;
- }
\ No newline at end of file
use warnings;
use lib 't/lib/';
-use Test::More 0.99;
+use Test::More 0.88;
+use SubtestCompat;
use TestBridge;
use CPAN::Meta::YAML;
$| = 1;
}
-use Test::More 0.99;
+use Test::More 0.88;
# Check their perl version
ok( $] ge '5.008001', "Your perl is new enough" );
use warnings;
use utf8;
use lib 't/lib/';
-use Test::More 0.99;
+use Test::More 0.88;
+use SubtestCompat;
use TestUtils;
use TestBridge;
use strict;
use warnings;
use lib 't/lib/';
-use Test::More 0.99;
+use Test::More 0.88;
+use SubtestCompat;
use TestUtils;
use TestBridge;
use strict;
use warnings;
use lib 't/lib/';
-use Test::More 0.99;
+use Test::More 0.88;
+use SubtestCompat;
use TestBridge;
use TestUtils;
use strict;
use warnings;
use lib 't/lib/';
-use Test::More 0.99;
+use Test::More 0.88;
+use SubtestCompat;
use TestUtils;
use TestBridge;
use strict;
use warnings;
use lib 't/lib/';
-use Test::More 0.99;
+use Test::More 0.88;
use TestUtils;
use File::Spec::Functions ':ALL';
use strict;
use warnings;
use lib 't/lib/';
-use Test::More 0.99;
+use Test::More 0.88;
use TestBridge;
use File::Spec::Functions 'catfile';
use File::Temp 0.19; # newdir
use strict;
use warnings;
use lib 't/lib';
-use Test::More 0.99;
+use Test::More 0.88;
+use SubtestCompat;
use TestBridge;
use TestUtils;
my $JSON = json_class()
or Test::More::plan skip_all => 'no JSON backends available!?';
-diag 'using JSON backend: ' . $JSON;
+diag 'using JSON backend: ' . $JSON . ' ' . $JSON->VERSION
+ if not $ENV{PERL_CORE};
# Each spec test will need a different bridge and arguments:
my @spec_tests = (
my $code = sub {
my ($file, $blocks) = @_;
subtest "YAML Spec Test; file: $file" => sub {
- plan tests => scalar @$blocks;
my $func = \&{$bridge};
$func->($_) for @$blocks;
};
use strict;
use warnings;
use lib 't/lib/';
-use Test::More 0.99;
+use Test::More 0.88;
use TestBridge;
use IO::Dir;
use File::Spec::Functions qw/catdir/;
use strict;
use warnings;
use lib 't/lib/';
-use Test::More 0.99;
+use Test::More 0.88;
use TestBridge;
run_all_testml_files(
Some .t files have complete inputs/outputs for their tests. Others iterate
over .tml files in the t/tml-* directories.
-A .t file should load Test::More and either use `done_testing` or provide a
-test plan. If tests iterate over external data, the use of `done_testing` is
-preferred so that external data can be updated with new tests without needing
-to also update a test plan.
+A .t file should load Test::More and use `done_testing` at the end
+to so that new tests may be added without needing to also update a test plan.
Currently, the convention is to name .t files matching the pattern
qr/^\d\d_\w+\.t$/
The test libraries are:
+* SubtestCompat
* TestML::Tiny
* TestBridge
* TestUtils
+The "SubtestCompat" library provides a limited emulation of
+Test::More::subtest that is reasonably compatible back to 0.88. If using
+subtests, you must not set a plan in the subtest and you must use
+done_testing in the *.t file.
+
The TestML::Tiny library contains functions for parsing and executing TestML
tests with callbacks. TestML is a data-driven testing language; TestML::Tiny
implements a small subset of its features. See the section on TestML, below,
--- /dev/null
+use 5.008001;
+use strict;
+use warnings;
+
+package SubtestCompat;
+
+# XXX must be used with no_plan or done_testing
+use Test::More 0.88;
+
+use base 'Exporter';
+our @EXPORT;
+
+our $INDENT = -2;
+
+# intercept 'skip_all' in subtest and turn into a regular skip
+sub _fake_plan {
+ my ( $self, $cmd, $arg ) = @_;
+
+ return unless $cmd;
+
+ if ( $cmd eq 'skip_all' ) {
+ die bless { reason => $arg }, "Subtest::SKIP";
+ }
+ else {
+ goto &Test::Builder::plan;
+ }
+}
+
+unless ( Test::More->can("subtest") ) {
+ *subtest = sub {
+ my ( $label, $code ) = @_;
+ local $Test::Builder::Level = $Test::Builder::Level + 1;
+
+ local $INDENT = $INDENT + 2;
+
+ $label = "TEST: $label";
+ my $sep_len = 60 - length($label);
+
+ note( " " x $INDENT . "$label { " . ( " " x ($sep_len-$INDENT-2) ) );
+ eval {
+ no warnings 'redefine';
+ local *Test::Builder::plan = \&_fake_plan;
+ # only want subtest error reporting to look up to the code ref
+ # for where test was called, not further up to *our* callers,
+ # so we *reset* the Level, rather than increment it
+ local $Test::Builder::Level = 1;
+ $code->();
+ };
+ if ( my $err = $@ ) {
+ if ( ref($err) eq 'Subtest::SKIP' ) {
+ SKIP: {
+ skip $err->{reason}, 1;
+ }
+ }
+ else {
+ fail("SUBTEST: $label");
+ diag("Caught exception: $err");
+ die "$err\n";
+ }
+ }
+ note( " " x $INDENT . "}" );
+ };
+ push @EXPORT, 'subtest';
+}
+
+1;
use strict;
use warnings;
-
-use Test::More 0.99;
+use lib 't/lib';
+use Test::More 0.88;
+use SubtestCompat;
use TestUtils;
use TestML::Tiny;
# run_all_testml_files
#
# Iterate over all .tml files in a directory using a particular test bridge
-# code # reference. Each file is wrapped in a subtest with a test plan
-# equal to the number of blocks.
+# code # reference. Each file is wrapped in a subtest.
#--------------------------------------------------------------------------#
sub run_all_testml_files {
my $code = sub {
my ($file, $blocks) = @_;
subtest "$label: $file" => sub {
- plan tests => scalar @$blocks;
$bridge->($_, @args) for @$blocks;
};
};
; # original $VERSION removed by Doppelgaenger
use Carp();
-use Test::More 0.99 ();
+use Test::More 0.88 ();
# use XXX;
use strict;
use warnings;
use lib 'lib', 't/lib/';
-use Test::More 0.99;
+use Test::More 0.88;
+use SubtestCompat;
use Getopt::Long qw/:config passthrough/;
use List::Util qw/first/;
use TestBridge;
sub {
my ($file, $blocks) = @_;
subtest "TestML dev runner: $file" => sub {
- plan tests => scalar @$blocks;
$BRIDGE_MAP{$bridge}->($_) for @$blocks;
};
done_testing;