Hello community, here is the log from the commit of package perl-Config-Any for openSUSE:Factory checked in at 2017-05-03 15:57:33 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Config-Any (Old) and /work/SRC/openSUSE:Factory/.perl-Config-Any.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "perl-Config-Any" Wed May 3 15:57:33 2017 rev:12 rq:492412 version:0.32 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Config-Any/perl-Config-Any.changes 2017-04-11 09:36:42.724710800 +0200 +++ /work/SRC/openSUSE:Factory/.perl-Config-Any.new/perl-Config-Any.changes 2017-05-03 15:57:35.216864732 +0200 @@ -1,0 +2,22 @@ +Tue Apr 25 05:17:47 UTC 2017 - coolo@suse.com + +- updated to 0.32 + see /usr/share/doc/packages/perl-Config-Any/Changes + + 0.32 - 2017-04-23 + - allow YAML::Syck to fail its error tests + - improved diagnostics in YAML test + - include a full list of modules used in JSON documentation + - be less strict checking error messages in tests + - add test to report optional prereq versions + + 0.31 - 2017-04-23 + - test cleanups + - better diagnostics for test failures + - don't run pod tests on user machines + - handle unsupported Config::General versions better + - refactored module loading + - include optional prereqs in suggests + - pod cleanups + +------------------------------------------------------------------- Old: ---- Config-Any-0.30.tar.gz New: ---- Config-Any-0.32.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Config-Any.spec ++++++ --- /var/tmp/diff_new_pack.IYIGbA/_old 2017-05-03 15:57:36.084742211 +0200 +++ /var/tmp/diff_new_pack.IYIGbA/_new 2017-05-03 15:57:36.088741646 +0200 @@ -17,7 +17,7 @@ Name: perl-Config-Any -Version: 0.30 +Version: 0.32 Release: 0 %define cpan_name Config-Any Summary: Load configuration from different file formats, transparently ++++++ Config-Any-0.30.tar.gz -> Config-Any-0.32.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-Any-0.30/Changes new/Config-Any-0.32/Changes --- old/Config-Any-0.30/Changes 2017-03-29 00:57:23.000000000 +0200 +++ new/Config-Any-0.32/Changes 2017-04-23 23:51:15.000000000 +0200 @@ -1,5 +1,21 @@ Revision history for Config-Any +0.32 - 2017-04-23 + - allow YAML::Syck to fail its error tests + - improved diagnostics in YAML test + - include a full list of modules used in JSON documentation + - be less strict checking error messages in tests + - add test to report optional prereq versions + +0.31 - 2017-04-23 + - test cleanups + - better diagnostics for test failures + - don't run pod tests on user machines + - handle unsupported Config::General versions better + - refactored module loading + - include optional prereqs in suggests + - pod cleanups + 0.30 - 2017-03-28 - don't use YAML::Syck on perl 5.8.8 or below, where it is broken - ensure tarball does not contain SCHILY headers @@ -14,7 +30,7 @@ - load perl files directly, never possibly searching @INC 0.27 2016-03-31 - - depend on Module::Pluggable::Object directly instead of assuming it is + - depend on Module::Pluggable::Object directly instead of assuming it is bundled with Module::Pluggable (RT #113148) 0.26 2015-04-29 @@ -31,7 +47,7 @@ - fix test suite's method of checking availability of plugins 0.22 2011-07-04 - - add XML::NamespaceSupport to XML format deps, silence YAML warnings in + - add XML::NamespaceSupport to XML format deps, silence YAML warnings in tests (caelum) 0.21 2011-05-25 @@ -125,7 +141,7 @@ + 'force_plugins => [ qw(Config::Any::Foo Config::Any::Blah) ]' parameter to load_(files|stems) + $Config::Any::INI::MAP_SECTION_SPACE_TO_NESTED_KEY - boolean, defaulting - to on, controlling whether to map spaces in INI section headings + to on, controlling whether to map spaces in INI section headings to nested hashrefs 0.04 2006-08-07 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-Any-0.30/MANIFEST new/Config-Any-0.32/MANIFEST --- old/Config-Any-0.30/MANIFEST 2017-03-29 00:57:47.000000000 +0200 +++ new/Config-Any-0.32/MANIFEST 2017-04-23 23:52:20.000000000 +0200 @@ -10,7 +10,7 @@ maint/Makefile.PL.include Makefile.PL MANIFEST This list of files -t/01-use.t +t/00-report-prereqs.t t/10-branches.t t/20-parse.t t/50-general.t @@ -46,9 +46,9 @@ t/lib/Config/Any/Unsupported.pm t/multi/conf.yml t/perl-taint.t -t/pod-coverage.t -t/pod.t t/supported/conf.pl +xt/author/pod-coverage.t +xt/author/pod.t META.yml Module YAML meta-data (added by MakeMaker) META.json Module JSON meta-data (added by MakeMaker) README README file (added by Distar) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-Any-0.30/META.json new/Config-Any-0.32/META.json --- old/Config-Any-0.30/META.json 2017-03-29 00:57:46.000000000 +0200 +++ new/Config-Any-0.32/META.json 2017-04-23 23:52:20.000000000 +0200 @@ -22,9 +22,29 @@ "prereqs" : { "build" : {}, "configure" : {}, + "develop" : { + "requires" : { + "Config::General" : "2.47", + "Config::Tiny" : "0", + "Cpanel::JSON::XS" : "0", + "Test::Pod" : "0", + "Test::Pod::Coverage" : "0", + "XML::NamespaceSupport" : "0", + "XML::Simple" : "0", + "YAML::XS" : "0" + } + }, "runtime" : { "requires" : { "Module::Pluggable::Object" : "3.6" + }, + "suggests" : { + "Config::General" : "2.47", + "Config::Tiny" : "0", + "Cpanel::JSON::XS" : "0", + "XML::NamespaceSupport" : "0", + "XML::Simple" : "0", + "YAML::XS" : "0" } }, "test" : { @@ -48,7 +68,7 @@ "web" : "http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit/Config-Any.git;a=summ..." } }, - "version" : "0.30", + "version" : "0.32", "x_authority" : "cpan:RATAXIS", "x_serialization_backend" : "JSON::PP version 2.27300" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-Any-0.30/META.yml new/Config-Any-0.32/META.yml --- old/Config-Any-0.30/META.yml 2017-03-29 00:57:46.000000000 +0200 +++ new/Config-Any-0.32/META.yml 2017-04-23 23:52:20.000000000 +0200 @@ -21,6 +21,6 @@ bugtracker: https://rt.cpan.org/Public/Dist/Display.html?Name=Config-Any license: http://dev.perl.org/licenses/ repository: git://git.shadowcat.co.uk/p5sagit/Config-Any.git -version: '0.30' +version: '0.32' x_authority: cpan:RATAXIS x_serialization_backend: 'CPAN::Meta::YAML version 0.018' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-Any-0.30/Makefile.PL new/Config-Any-0.32/Makefile.PL --- old/Config-Any-0.30/Makefile.PL 2017-02-21 18:21:24.000000000 +0100 +++ new/Config-Any-0.32/Makefile.PL 2017-04-09 16:02:27.000000000 +0200 @@ -9,9 +9,31 @@ test => { requires => { 'Test::More' => 0, } }, - runtime => { requires => { - 'Module::Pluggable::Object' => '3.6', - } }, + runtime => { + requires => { + 'Module::Pluggable::Object' => '3.6', + }, + suggests => { + 'Config::General' => '2.47', + 'Config::Tiny' => 0, + 'Cpanel::JSON::XS' => 0, + 'XML::Simple' => 0, + 'XML::NamespaceSupport' => 0, + 'YAML::XS' => 0, + }, + }, + develop => { + requires => { + 'Config::General' => '2.47', + 'Config::Tiny' => 0, + 'Cpanel::JSON::XS' => 0, + 'XML::Simple' => 0, + 'XML::NamespaceSupport' => 0, + 'YAML::XS' => 0, + 'Test::Pod' => 0, + 'Test::Pod::Coverage' => 0, + }, + }, }, resources => { repository => { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-Any-0.30/README new/Config-Any-0.32/README --- old/Config-Any-0.30/README 2017-03-29 00:57:47.000000000 +0200 +++ new/Config-Any-0.32/README 2017-04-23 23:52:20.000000000 +0200 @@ -126,7 +126,7 @@ Please report any bugs or feature requests to "bug-config-any@rt.cpan.org", or through the web interface at - http://rt.cpan.org. + https://rt.cpan.org/Public/Dist/Display.html?Name=Config-Any. AUTHOR Joel Bernstein <rataxis@cpan.org> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-Any-0.30/lib/Config/Any/Base.pm new/Config-Any-0.32/lib/Config/Any/Base.pm --- old/Config-Any-0.30/lib/Config/Any/Base.pm 2017-02-21 18:21:24.000000000 +0100 +++ new/Config-Any-0.32/lib/Config/Any/Base.pm 2017-04-09 16:12:40.000000000 +0200 @@ -38,15 +38,16 @@ sub is_supported { my ( $class ) = shift; + local $@; if ( $class->can( 'requires_all_of' ) ) { - eval join( '', map { _require_line( $_ ) } $class->requires_all_of ); - return $@ ? 0 : 1; + return eval { + _require($_) for $class->requires_all_of; + 1; + } || 0; } if ( $class->can( 'requires_any_of' ) ) { - for ( $class->requires_any_of ) { - eval _require_line( $_ ); - return 1 unless $@; - } + eval { _require( $_ ); 1 } and return 1 + for $class->requires_any_of; return 0; } @@ -54,27 +55,28 @@ return 1; } -sub _require_line { +sub _require { my ( $input ) = shift; my ( $module, $version ) = ( ref $input ? @$input : $input ); - return "require $module;" - . ( $version ? "${module}->VERSION('${version}');" : '' ); + (my $file = "$module.pm") =~ s{::}{/}g; + require $file; + $module->VERSION if $version; } =head1 AUTHOR -Brian Cassidy E<lt>bricas@cpan.orgE<gt> +Brian Cassidy <bricas@cpan.org> =head1 COPYRIGHT AND LICENSE Copyright 2008-2009 by Brian Cassidy This library is free software; you can redistribute it and/or modify -it under the same terms as Perl itself. +it under the same terms as Perl itself. =head1 SEE ALSO -=over 4 +=over 4 =item * LConfig::Any diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-Any-0.30/lib/Config/Any/General.pm new/Config-Any-0.32/lib/Config/Any/General.pm --- old/Config-Any-0.30/lib/Config/Any/General.pm 2017-02-21 18:21:24.000000000 +0100 +++ new/Config-Any-0.32/lib/Config/Any/General.pm 2017-04-09 16:16:00.000000000 +0200 @@ -64,15 +64,15 @@ =cut -sub requires_all_of { [ 'Config::General' ] } +sub requires_all_of { [ 'Config::General' => '2.47' ] } =head1 AUTHOR -Brian Cassidy E<lt>bricas@cpan.orgE<gt> +Brian Cassidy <bricas@cpan.org> =head1 CONTRIBUTORS -Joel Bernstein E<lt>rataxis@cpan.orgE<gt> +Joel Bernstein <rataxis@cpan.org> =head1 COPYRIGHT AND LICENSE @@ -81,11 +81,11 @@ Portions Copyright 2006 Portugal Telecom This library is free software; you can redistribute it and/or modify -it under the same terms as Perl itself. +it under the same terms as Perl itself. =head1 SEE ALSO -=over 4 +=over 4 =item * L<Catalyst> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-Any-0.30/lib/Config/Any/INI.pm new/Config-Any-0.32/lib/Config/Any/INI.pm --- old/Config-Any-0.30/lib/Config/Any/INI.pm 2017-02-21 18:21:24.000000000 +0100 +++ new/Config-Any-0.32/lib/Config/Any/INI.pm 2017-04-09 16:15:42.000000000 +0200 @@ -16,10 +16,10 @@ Loads INI files. Example: name=TestApp - + [Controller::Foo] foo=bar - + [Model::Baz] qux=xyzzy @@ -85,7 +85,7 @@ This variable controls whether spaces in INI section headings will be expanded into nested hash keys. e.g. it controls whether [Full Power] maps to $config->{'Full Power'} or $config->{'Full'}->{'Power'} -By default it is set to 1 (i.e. true). +By default it is set to 1 (i.e. true). Set it to 0 to preserve literal spaces in section headings: @@ -97,20 +97,20 @@ =head1 AUTHORS -Brian Cassidy E<lt>bricas@cpan.orgE<gt> +Brian Cassidy <bricas@cpan.org> -Joel Bernstein E<lt>rataxis@cpan.orgE<gt> +Joel Bernstein <rataxis@cpan.org> =head1 COPYRIGHT AND LICENSE Copyright 2006-2016 by Brian Cassidy, portions copyright 2006, 2007 by Joel Bernstein This library is free software; you can redistribute it and/or modify -it under the same terms as Perl itself. +it under the same terms as Perl itself. =head1 SEE ALSO -=over 4 +=over 4 =item * L<Catalyst> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-Any-0.30/lib/Config/Any/JSON.pm new/Config-Any-0.32/lib/Config/Any/JSON.pm --- old/Config-Any-0.30/lib/Config/Any/JSON.pm 2017-02-21 18:21:24.000000000 +0100 +++ new/Config-Any-0.32/lib/Config/Any/JSON.pm 2017-04-23 22:51:05.000000000 +0200 @@ -87,32 +87,45 @@ =head2 requires_any_of( ) -Specifies that this modules requires one of, LJSON::DWIW, LJSON::XS, -LJSON::Syck or L<JSON> in order to work. +Specifies that this modules requires one of, LCpanel::JSON::XS, +LJSON::MaybeXS, LJSON::DWIW, LJSON::XS, LJSON::Syck, LJSON::PP or +L<JSON> in order to work. =cut -sub requires_any_of { 'JSON::DWIW', 'JSON::XS', 'JSON::Syck', 'JSON::PP', 'JSON' } +sub requires_any_of { qw( + Cpanel::JSON::XS + JSON::MaybeXS + JSON::DWIW + JSON::XS + JSON::Syck + JSON::PP + JSON +) } =head1 AUTHOR -Brian Cassidy E<lt>bricas@cpan.orgE<gt> +Brian Cassidy <bricas@cpan.org> =head1 COPYRIGHT AND LICENSE Copyright 2006-2016 by Brian Cassidy This library is free software; you can redistribute it and/or modify -it under the same terms as Perl itself. +it under the same terms as Perl itself. =head1 SEE ALSO -=over 4 +=over 4 =item * L<Catalyst> =item * LConfig::Any +=item * LCpanel::JSON::XS + +=item * LJSON::MaybeXS + =item * LJSON::DWIW =item * LJSON::XS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-Any-0.30/lib/Config/Any/Perl.pm new/Config-Any-0.32/lib/Config/Any/Perl.pm --- old/Config-Any-0.30/lib/Config/Any/Perl.pm 2017-03-19 19:47:49.000000000 +0100 +++ new/Config-Any-0.32/lib/Config/Any/Perl.pm 2017-04-09 16:14:15.000000000 +0200 @@ -65,18 +65,18 @@ =head1 AUTHOR -Brian Cassidy E<lt>bricas@cpan.orgE<gt> +Brian Cassidy <bricas@cpan.org> =head1 COPYRIGHT AND LICENSE Copyright 2006-2016 by Brian Cassidy This library is free software; you can redistribute it and/or modify -it under the same terms as Perl itself. +it under the same terms as Perl itself. =head1 SEE ALSO -=over 4 +=over 4 =item * L<Catalyst> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-Any-0.30/lib/Config/Any/XML.pm new/Config-Any-0.32/lib/Config/Any/XML.pm --- old/Config-Any-0.30/lib/Config/Any/XML.pm 2017-02-21 18:21:24.000000000 +0100 +++ new/Config-Any-0.32/lib/Config/Any/XML.pm 2017-04-09 16:14:33.000000000 +0200 @@ -96,20 +96,20 @@ =head1 AUTHORS -Brian Cassidy E<lt>bricas@cpan.orgE<gt> +Brian Cassidy <bricas@cpan.org> -Joel Bernstein E<lt>rataxis@cpan.orgE<gt> +Joel Bernstein <rataxis@cpan.org> =head1 COPYRIGHT AND LICENSE Copyright 2006-2016 by Brian Cassidy This library is free software; you can redistribute it and/or modify -it under the same terms as Perl itself. +it under the same terms as Perl itself. =head1 SEE ALSO -=over 4 +=over 4 =item * L<Catalyst> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-Any-0.30/lib/Config/Any/YAML.pm new/Config-Any-0.32/lib/Config/Any/YAML.pm --- old/Config-Any-0.30/lib/Config/Any/YAML.pm 2017-03-28 00:42:30.000000000 +0200 +++ new/Config-Any-0.32/lib/Config/Any/YAML.pm 2017-04-09 16:15:25.000000000 +0200 @@ -21,7 +21,6 @@ foo: bar Model::Baz: qux: xyzzy - =head1 METHODS @@ -72,18 +71,18 @@ =head1 AUTHOR -Brian Cassidy E<lt>bricas@cpan.orgE<gt> +Brian Cassidy <bricas@cpan.org> =head1 COPYRIGHT AND LICENSE Copyright 2006-2016 by Brian Cassidy This library is free software; you can redistribute it and/or modify -it under the same terms as Perl itself. +it under the same terms as Perl itself. =head1 SEE ALSO -=over 4 +=over 4 =item * L<Catalyst> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-Any-0.30/lib/Config/Any.pm new/Config-Any-0.32/lib/Config/Any.pm --- old/Config-Any-0.30/lib/Config/Any.pm 2017-03-29 00:57:11.000000000 +0200 +++ new/Config-Any-0.32/lib/Config/Any.pm 2017-04-23 23:51:13.000000000 +0200 @@ -6,7 +6,7 @@ use Carp; use Module::Pluggable::Object (); -our $VERSION = '0.30'; +our $VERSION = '0.32'; =head1 NAME @@ -33,16 +33,14 @@ JSON, Apache-style configuration, Windows INI files, and even Perl code. The rationale for this module is as follows: Perl programs are deployed on many different -platforms and integrated with many different systems. Systems administrators and end +platforms and integrated with many different systems. Systems administrators and end users may prefer different configuration formats than the developers. The flexibility -inherent in a multiple format configuration loader allows different users to make +inherent in a multiple format configuration loader allows different users to make different choices, without generating extra work for the developers. As a developer you only need to learn a single interface to be able to use the power of different configuration formats. -=head1 INTERFACE - -=cut +=head1 INTERFACE =head2 load_files( %args ) @@ -54,15 +52,15 @@ C<load_files()> attempts to load configuration from the list of files passed in the C<files> parameter, if the file exists. -If the C<filter> parameter is set, it is used as a callback to modify the configuration -data before it is returned. It will be passed a single hash-reference parameter which +If the C<filter> parameter is set, it is used as a callback to modify the configuration +data before it is returned. It will be passed a single hash-reference parameter which it should modify in-place. If the C<use_ext> parameter is defined, the loader will attempt to parse the file extension from each filename and will skip the file unless it matches a standard extension for the loading plugins. Only plugins whose standard extensions match the file extension will be used. For efficiency reasons, its use is encouraged, but -be aware that you will lose flexibility -- for example, a file called C<myapp.cfg> +be aware that you will lose flexibility -- for example, a file called C<myapp.cfg> containing YAML data will not be offered to the YAML plugin, whereas C<myapp.yml> or C<myapp.yaml> would be. @@ -70,9 +68,9 @@ keyed on the file names, as opposed to the usual list of single-key hashes. C<load_files()> also supports a 'force_plugins' parameter, whose value should be an -arrayref of plugin names like CConfig::Any::INI. Its intended use is to allow the use +arrayref of plugin names like CConfig::Any::INI. Its intended use is to allow the use of a non-standard file extension while forcing it to be offered to a particular parser. -It is not compatible with 'use_ext'. +It is not compatible with 'use_ext'. You can supply a C<driver_args> hashref to pass special options to a particular parser object. Example: @@ -102,7 +100,7 @@ Config::Any->load_stems( { stems => @stems, flatten_to_hash => 1 } ); C<load_stems()> attempts to load configuration from a list of files which it generates -by combining the filename stems list passed in the C<stems> parameter with the +by combining the filename stems list passed in the C<stems> parameter with the potential filename extensions from each loader, which you can check with the C<extensions()> classmethod described below. Once this list of possible filenames is built it is treated exactly as in C<load_files()> above, as which it takes the same @@ -245,7 +243,7 @@ =head2 finder( ) -The C<finder()> classmethod returns the +The C<finder()> classmethod returns the LModule::Pluggable::Object|Module::Pluggable::Object object which is used to load the plugins. See the documentation for that module for more information. @@ -264,7 +262,7 @@ =head2 plugins( ) -The C<plugins()> classmethod returns the names of configuration loading plugins as +The C<plugins()> classmethod returns the names of configuration loading plugins as found by LModule::Pluggable::Object|Module::Pluggable::Object. =cut @@ -335,15 +333,15 @@ Please report any bugs or feature requests to C<bug-config-any@rt.cpan.org>, or through the web interface at -Lhttp://rt.cpan.org. +Lhttps://rt.cpan.org/Public/Dist/Display.html?Name=Config-Any. =head1 AUTHOR -Joel Bernstein E<lt>rataxis@cpan.orgE<gt> +Joel Bernstein <rataxis@cpan.org> =head1 CONTRIBUTORS -This module was based on the original +This module was based on the original LCatalyst::Plugin::ConfigLoader|Catalyst::Plugin::ConfigLoader module by Brian Cassidy C<< <bricas@cpan.org> >>. @@ -384,7 +382,7 @@ =head1 SEE ALSO -LCatalyst::Plugin::ConfigLoader|Catalyst::Plugin::ConfigLoader +LCatalyst::Plugin::ConfigLoader|Catalyst::Plugin::ConfigLoader -- now a wrapper around this module. =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-Any-0.30/t/00-report-prereqs.t new/Config-Any-0.32/t/00-report-prereqs.t --- old/Config-Any-0.30/t/00-report-prereqs.t 1970-01-01 01:00:00.000000000 +0100 +++ new/Config-Any-0.32/t/00-report-prereqs.t 2017-04-23 23:51:12.000000000 +0200 @@ -0,0 +1,40 @@ +use strict; +use warnings; + +if (!eval { require ExtUtils::MakeMaker }) { + print "1..0 # SKIP ExtUtils::MakeMaker not available\n"; + exit 0; +} + +print "1..1\n"; +print "ok 1\n"; +print STDERR "#\n# Optional Prereq Versions:\n"; +for my $module (qw( + Config::General + Config::Tiny + Cpanel::JSON::XS + JSON::MaybeXS + JSON::DWIW + JSON::XS + JSON::Syck + JSON::PP + JSON + XML::Simple + XML::NamespaceSupport + YAML::XS + YAML::Syck + YAML +)) { + my $file = "$module.pm"; + $file =~ s{::}{/}g; + my ($full_file) = grep -e, map "$_/$file", @INC; + my $v; + if (defined $full_file) { + $v = MM->parse_version($full_file); + } + else { + $v = 'missing'; + } + printf STDERR "# %-25s %s\n", $module, $v; +} +print STDERR "#\n"; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-Any-0.30/t/01-use.t new/Config-Any-0.32/t/01-use.t --- old/Config-Any-0.30/t/01-use.t 2017-02-21 18:21:24.000000000 +0100 +++ new/Config-Any-0.32/t/01-use.t 1970-01-01 01:00:00.000000000 +0100 @@ -1,13 +0,0 @@ -use strict; -use warnings; - -use Test::More tests => 6; - -BEGIN { - use_ok( 'Config::Any' ); - use_ok( 'Config::Any::INI' ); - use_ok( 'Config::Any::JSON' ); - use_ok( 'Config::Any::Perl' ); - use_ok( 'Config::Any::XML' ); - use_ok( 'Config::Any::YAML' ); -} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-Any-0.30/t/10-branches.t new/Config-Any-0.32/t/10-branches.t --- old/Config-Any-0.30/t/10-branches.t 2017-02-21 18:21:24.000000000 +0100 +++ new/Config-Any-0.32/t/10-branches.t 2017-04-08 18:42:04.000000000 +0200 @@ -3,10 +3,10 @@ no warnings 'once'; # use Test::Without::Module qw(YAML YAML::Syck Config::General XML::Simple JSON JSON::Syck Config::Tiny ); -use Test::More tests => 11; +use Test::More tests => 9; -use_ok( 'Config::Any' ); -use_ok( 'Config::Any::YAML' ); +use Config::Any; +use Config::Any::YAML; { @@ -64,11 +64,11 @@ Config::Any->load_files( { files => @files, use_ext => 1, - filter => sub { die } + filter => sub { die "reject" } } ); }; -ok( $@, "filter breaks" ); +like $@, qr/reject/, "filter breaks"; my @stems = qw(t/supported/conf); ok( Config::Any->load_stems( { stems => @stems, use_ext => 1 } ), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-Any-0.30/t/20-parse.t new/Config-Any-0.32/t/20-parse.t --- old/Config-Any-0.30/t/20-parse.t 2017-02-21 18:21:24.000000000 +0100 +++ new/Config-Any-0.32/t/20-parse.t 2017-04-23 23:23:04.000000000 +0200 @@ -3,8 +3,7 @@ use warnings; no warnings 'once'; -$|++; -use Test::More tests => 54; +use Test::More tests => 6*9; use Scalar::Util qw(blessed reftype); use Config::Any; use Config::Any::General; @@ -34,8 +33,9 @@ for my $f ( map { "t/conf/conf.$_" } keys %ext_map ) { my ( $skip, $mod ) = load_parser_for( $f ); -SKIP: { - skip "File loading backend for $mod not found", 9 if $skip; + SKIP: { + skip "File loading backend for $mod not found", 9 + if $skip && !$ENV{RELEASE_TESTING}; ok( my $c_arr = Config::Any->load_files( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-Any-0.30/t/50-general.t new/Config-Any-0.32/t/50-general.t --- old/Config-Any-0.30/t/50-general.t 2017-02-21 18:21:24.000000000 +0100 +++ new/Config-Any-0.32/t/50-general.t 2017-04-23 23:23:04.000000000 +0200 @@ -5,7 +5,7 @@ use Config::Any; use Config::Any::General; -if ( !Config::Any::General->is_supported ) { +if ( !Config::Any::General->is_supported && !$ENV{RELEASE_TESTING}) { plan skip_all => 'Config::General format not supported'; } else { @@ -36,8 +36,8 @@ my $file = 't/invalid/conf.conf'; my $config = eval { Config::Any::General->load( $file ) }; - ok( !$config, 'config load failed' ); - ok( $@, "error thrown ($@)" ); + is $config, undef, 'config load failed'; + isnt $@, '', 'error thrown'; } # parse error generated on invalid config @@ -45,6 +45,6 @@ my $file = 't/invalid/conf.conf'; my $config = eval { Config::Any->load_files( { files => [$file], use_ext => 1} ) }; - ok( !$config, 'config load failed' ); - ok( $@, "error thrown ($@)" ); + is $config, undef, 'config load failed'; + isnt $@, '', 'error thrown'; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-Any-0.30/t/51-ini.t new/Config-Any-0.32/t/51-ini.t --- old/Config-Any-0.30/t/51-ini.t 2017-02-21 18:21:24.000000000 +0100 +++ new/Config-Any-0.32/t/51-ini.t 2017-04-09 15:20:16.000000000 +0200 @@ -5,7 +5,7 @@ use Config::Any; use Config::Any::INI; -if ( !Config::Any::INI->is_supported ) { +if ( !Config::Any::INI->is_supported && !$ENV{RELEASE_TESTING} ) { plan skip_all => 'INI format not supported'; } else { @@ -53,8 +53,8 @@ my $file = 't/invalid/conf.ini'; my $config = eval { Config::Any::INI->load( $file ) }; - ok( !$config, 'config load failed' ); - ok( $@, "error thrown ($@)" ); + is $config, undef, 'config load failed'; + isnt $@, '', 'error thrown'; } # parse error generated on invalid config @@ -62,6 +62,6 @@ my $file = 't/invalid/conf.ini'; my $config = eval { Config::Any->load_files( { files => [$file], use_ext => 1} ) }; - ok( !$config, 'config load failed' ); - ok( $@, "error thrown ($@)" ); + is $config, undef, 'config load failed'; + isnt $@, '', 'error thrown'; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-Any-0.30/t/52-json.t new/Config-Any-0.32/t/52-json.t --- old/Config-Any-0.30/t/52-json.t 2017-02-21 18:21:24.000000000 +0100 +++ new/Config-Any-0.32/t/52-json.t 2017-04-23 23:23:04.000000000 +0200 @@ -5,7 +5,7 @@ use Config::Any; use Config::Any::JSON; -if ( !Config::Any::JSON->is_supported ) { +if ( !Config::Any::JSON->is_supported && !$ENV{RELEASE_TESTING} ) { plan skip_all => 'JSON format not supported'; } else { @@ -23,8 +23,8 @@ my $file = 't/invalid/conf.json'; my $config = eval { Config::Any::JSON->load( $file ) }; - ok( !$config, 'config load failed' ); - ok( $@, "error thrown ($@)" ); + is $config, undef, 'config load failed'; + isnt $@, '', 'error thrown'; } # parse error generated on invalid config @@ -32,6 +32,6 @@ my $file = 't/invalid/conf.json'; my $config = eval { Config::Any->load_files( { files => [$file], use_ext => 1} ) }; - ok( !$config, 'config load failed' ); - ok( $@, "error thrown ($@)" ); + is $config, undef, 'config load failed'; + isnt $@, '', 'error thrown'; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-Any-0.30/t/53-perl.t new/Config-Any-0.32/t/53-perl.t --- old/Config-Any-0.30/t/53-perl.t 2017-03-19 19:47:49.000000000 +0100 +++ new/Config-Any-0.32/t/53-perl.t 2017-04-23 22:48:13.000000000 +0200 @@ -25,9 +25,9 @@ 1; }; - ok( !$loaded, 'config load failed' ); - ok( !$config, 'config load failed' ); - ok( $@, "error thrown ($@)" ); + ok !$loaded, 'config load failed'; + is $config, undef, 'config load failed'; + like $@, qr/syntax error/, 'error thrown'; } # parse error generated on invalid config @@ -40,9 +40,9 @@ 1; }; - ok( !$loaded, 'config load failed' ); - ok( !$config, 'config load failed' ); - ok( $@, "error thrown ($@)" ); + ok !$loaded, 'config load failed'; + is $config, undef, 'config load failed'; + like $@, qr/syntax error/, 'error thrown'; } # test missing config @@ -54,7 +54,7 @@ 1; }; - ok( !$loaded, 'config load failed' ); - ok( !$config, 'config load failed' ); - ok( $@, "error thrown ($@)" ); + ok !$loaded, 'config load failed'; + is $config, undef, 'config load failed'; + isnt $@, '', 'error thrown'; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-Any-0.30/t/54-xml.t new/Config-Any-0.32/t/54-xml.t --- old/Config-Any-0.30/t/54-xml.t 2017-02-21 18:21:24.000000000 +0100 +++ new/Config-Any-0.32/t/54-xml.t 2017-04-09 15:16:06.000000000 +0200 @@ -5,17 +5,28 @@ use Config::Any; use Config::Any::XML; -if ( !Config::Any::XML->is_supported ) { +if ( !Config::Any::XML->is_supported && !$ENV{RELEASE_TESTING} ) { plan skip_all => 'XML format not supported'; } else { - plan tests => 8; + plan tests => 7; } { my $config = Config::Any::XML->load( 't/conf/conf.xml' ); - ok( $config ); - is( $config->{ name }, 'TestApp' ); + is_deeply $config, { + 'Component' => { + 'Controller::Foo' => { + 'foo' => 'bar' + }, + }, + 'name' => 'TestApp', + 'Model' => { + 'Model::Baz' => { + 'qux' => 'xyzzy', + }, + }, + }, 'config loaded'; } # test invalid config @@ -28,8 +39,8 @@ my $file = 't/invalid/conf.xml'; my $config = eval { Config::Any::XML->load( $file ) }; - ok( !$config, 'config load failed' ); - ok( $@, "error thrown ($@)" ); + is $config, undef, 'config load failed'; + isnt $@, '', 'error thrown'; } # test conf file with array ref @@ -37,8 +48,20 @@ my $file = 't/conf/conf_arrayref.xml'; my $config = eval { Config::Any::XML->load( $file ) }; - ok( $config, 'config loaded' ); - ok( !$@, 'no error thrown' ); + is_deeply $config, { + 'indicator' => 'submit', + 'elements' => [ + { + 'label' => 'Label1', + 'type' => 'Text', + }, + { + 'label' => 'Label2', + 'type' => 'Text', + }, + ], + }, 'config loaded'; + is $@, '', 'no error thrown'; } # parse error generated on invalid config @@ -46,7 +69,7 @@ my $file = 't/invalid/conf.xml'; my $config = eval { Config::Any->load_files( { files => [$file], use_ext => 1} ) }; - ok( !$config, 'config load failed' ); - ok( $@, "error thrown ($@)" ); + is $config, undef, 'config load failed'; + isnt $@, '', 'error thrown'; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-Any-0.30/t/55-yaml.t new/Config-Any-0.32/t/55-yaml.t --- old/Config-Any-0.30/t/55-yaml.t 2017-02-21 18:21:24.000000000 +0100 +++ new/Config-Any-0.32/t/55-yaml.t 2017-04-23 23:51:13.000000000 +0200 @@ -5,8 +5,18 @@ use Test::More; use Config::Any; use Config::Any::YAML; +use Data::Dumper; -if ( !Config::Any::YAML->is_supported ) { +sub _dump { + local $Data::Dumper::Terse = 1; + local $Data::Dumper::Sortkeys = 1; + local $Data::Dumper::Indent = 1; + my $out = Data::Dumper::Dumper(@_); + $out =~ s/\s*\z//; + $out eq 'undef' ? undef : $out; +} + +if ( !Config::Any::YAML->is_supported && !$ENV{RELEASE_TESTING} ) { plan skip_all => 'YAML format not supported'; } else { @@ -21,18 +31,23 @@ # test invalid config { + local $TODO = 'YAML::Syck parses invalid files' + if $INC{'YAML/Syck.pm'}; my $file = 't/invalid/conf.yml'; my $config = eval { Config::Any::YAML->load( $file ) }; - ok( !$config, 'config load failed' ); - ok( $@, "error thrown ($@)" ); + + is _dump($config), undef, 'config load failed'; + isnt $@, '', 'error thrown'; } # parse error generated on invalid config { + local $TODO = 'YAML::Syck parses invalid files' + if $INC{'YAML/Syck.pm'}; my $file = 't/invalid/conf.yml'; my $config = eval { Config::Any->load_files( { files => [$file], use_ext => 1} ) }; - ok( !$config, 'config load failed' ); - ok( $@, "error thrown ($@)" ); + is _dump($config), undef, 'config load failed'; + isnt $@, '', 'error thrown'; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-Any-0.30/t/conf/conf.foo new/Config-Any-0.32/t/conf/conf.foo --- old/Config-Any-0.30/t/conf/conf.foo 2017-02-21 18:21:24.000000000 +0100 +++ new/Config-Any-0.32/t/conf/conf.foo 2017-04-09 15:51:47.000000000 +0200 @@ -1,5 +1,5 @@ name=TestApp - + [Component Controller::Foo] foo=bar diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-Any-0.30/t/conf/conf.ini new/Config-Any-0.32/t/conf/conf.ini --- old/Config-Any-0.30/t/conf/conf.ini 2017-02-21 18:21:24.000000000 +0100 +++ new/Config-Any-0.32/t/conf/conf.ini 2017-04-09 15:51:43.000000000 +0200 @@ -1,5 +1,5 @@ name=TestApp - + [Component Controller::Foo] foo=bar diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-Any-0.30/t/conf/conf2.ini new/Config-Any-0.32/t/conf/conf2.ini --- old/Config-Any-0.30/t/conf/conf2.ini 2017-02-21 18:21:24.000000000 +0100 +++ new/Config-Any-0.32/t/conf/conf2.ini 2017-04-09 15:51:39.000000000 +0200 @@ -1,5 +1,5 @@ name=TestApp - + [Controller::Foo] foo=bar diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-Any-0.30/t/invalid/conf.ini new/Config-Any-0.32/t/invalid/conf.ini --- old/Config-Any-0.30/t/invalid/conf.ini 2017-02-21 18:21:24.000000000 +0100 +++ new/Config-Any-0.32/t/invalid/conf.ini 2017-04-09 15:51:34.000000000 +0200 @@ -1,5 +1,5 @@ name=TestApp - + [Component Controller::Foo foo=bar diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-Any-0.30/t/invalid/conf.yml new/Config-Any-0.32/t/invalid/conf.yml --- old/Config-Any-0.30/t/invalid/conf.yml 2017-02-21 18:21:24.000000000 +0100 +++ new/Config-Any-0.32/t/invalid/conf.yml 2017-04-09 16:02:27.000000000 +0200 @@ -1,7 +1,7 @@ --- name: TestApp Component: - Controller::Foo: + Controller::Foo foo: bar Model: Model::Baz: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-Any-0.30/t/pod-coverage.t new/Config-Any-0.32/t/pod-coverage.t --- old/Config-Any-0.30/t/pod-coverage.t 2017-02-21 18:21:24.000000000 +0100 +++ new/Config-Any-0.32/t/pod-coverage.t 1970-01-01 01:00:00.000000000 +0100 @@ -1,9 +0,0 @@ -use strict; -use warnings; -use Test::More; - -eval "use Test::Pod::Coverage 1.04"; - -plan skip_all => "Test::Pod::Coverage 1.04 required for testing POD coverage" - if $@; -all_pod_coverage_ok(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-Any-0.30/t/pod.t new/Config-Any-0.32/t/pod.t --- old/Config-Any-0.30/t/pod.t 2017-02-21 18:21:24.000000000 +0100 +++ new/Config-Any-0.32/t/pod.t 1970-01-01 01:00:00.000000000 +0100 @@ -1,8 +0,0 @@ -use strict; -use warnings; -use Test::More; - -eval "use Test::Pod 1.14"; - -plan skip_all => "Test::Pod 1.14 required for testing POD" if $@; -all_pod_files_ok(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-Any-0.30/xt/author/pod-coverage.t new/Config-Any-0.32/xt/author/pod-coverage.t --- old/Config-Any-0.30/xt/author/pod-coverage.t 1970-01-01 01:00:00.000000000 +0100 +++ new/Config-Any-0.32/xt/author/pod-coverage.t 2017-04-09 15:11:20.000000000 +0200 @@ -0,0 +1,7 @@ +use strict; +use warnings; +use Test::More; + +use Test::Pod::Coverage 1.04; + +all_pod_coverage_ok; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Config-Any-0.30/xt/author/pod.t new/Config-Any-0.32/xt/author/pod.t --- old/Config-Any-0.30/xt/author/pod.t 1970-01-01 01:00:00.000000000 +0100 +++ new/Config-Any-0.32/xt/author/pod.t 2017-04-09 15:11:19.000000000 +0200 @@ -0,0 +1,7 @@ +use strict; +use warnings; +use Test::More; + +use Test::Pod 1.14; + +all_pod_files_ok;