Hello community, here is the log from the commit of package perl-FFI-CheckLib for openSUSE:Factory checked in at 2020-01-27 00:21:10 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-FFI-CheckLib (Old) and /work/SRC/openSUSE:Factory/.perl-FFI-CheckLib.new.26092 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-FFI-CheckLib" Mon Jan 27 00:21:10 2020 rev:2 rq:766581 version:0.26 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-FFI-CheckLib/perl-FFI-CheckLib.changes 2019-11-26 16:53:50.124217389 +0100 +++ /work/SRC/openSUSE:Factory/.perl-FFI-CheckLib.new.26092/perl-FFI-CheckLib.changes 2020-01-27 00:21:25.169454103 +0100 @@ -1,0 +2,11 @@ +Thu Jan 23 03:08:20 UTC 2020 - <[email protected]> + +- updated to 0.26 + see /usr/share/doc/packages/perl-FFI-CheckLib/Changes + + 0.26 2020-01-22 05:54:02 -0700 + - Name check on alien option is always done, even if the Alien is already + loaded (gh#21) + - Remove dependency on Module::Load (gh#21) + +------------------------------------------------------------------- Old: ---- FFI-CheckLib-0.25.tar.gz New: ---- FFI-CheckLib-0.26.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-FFI-CheckLib.spec ++++++ --- /var/tmp/diff_new_pack.gPtaw6/_old 2020-01-27 00:21:27.041455701 +0100 +++ /var/tmp/diff_new_pack.gPtaw6/_new 2020-01-27 00:21:27.045455705 +0100 @@ -1,7 +1,7 @@ # # spec file for package perl-FFI-CheckLib # -# Copyright (c) 2019 SUSE LLC. +# Copyright (c) 2020 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,25 +17,24 @@ Name: perl-FFI-CheckLib -Version: 0.25 +Version: 0.26 Release: 0 %define cpan_name FFI-CheckLib Summary: Check that a library is available for FFI License: Artistic-1.0 OR GPL-1.0-or-later Group: Development/Libraries/Perl -URL: https://metacpan.org/release/%{cpan_name} +Url: https://metacpan.org/release/%{cpan_name} Source0: https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/%{cpan_name}-%{version}.tar.gz Source1: cpanspec.yml BuildArch: noarch +BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: perl BuildRequires: perl-macros -BuildRequires: perl(Module::Load) BuildRequires: perl(Test2::API) >= 1.302015 BuildRequires: perl(Test2::Mock) >= 0.000060 BuildRequires: perl(Test2::Require::EnvVar) >= 0.000060 BuildRequires: perl(Test2::Require::Module) >= 0.000060 BuildRequires: perl(Test2::V0) >= 0.000060 -Requires: perl(Module::Load) %{perl_requires} %description @@ -48,7 +47,7 @@ %prep %setup -q -n %{cpan_name}-%{version} -find . -type f ! -name \*.pl -print0 | xargs -0 chmod 644 +find . -type f ! -path "*/t/*" ! -name "*.pl" ! -path "*/bin/*" ! -path "*/script/*" ! -name "configure" -print0 | xargs -0 chmod 644 %build perl Makefile.PL INSTALLDIRS=vendor @@ -64,9 +63,7 @@ %files -f %{name}.files %defattr(-,root,root,755) -# MANUAL BEGIN -%doc Changes README -# MANUAL END +%doc author.yml Changes example README %license LICENSE %changelog ++++++ FFI-CheckLib-0.25.tar.gz -> FFI-CheckLib-0.26.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.25/Changes new/FFI-CheckLib-0.26/Changes --- old/FFI-CheckLib-0.25/Changes 2019-06-25 18:28:01.000000000 +0200 +++ new/FFI-CheckLib-0.26/Changes 2020-01-22 13:54:05.000000000 +0100 @@ -1,5 +1,10 @@ Revision history for FFI-CheckLib +0.26 2020-01-22 05:54:02 -0700 + - Name check on alien option is always done, even if the Alien is already + loaded (gh#21) + - Remove dependency on Module::Load (gh#21) + 0.25 2019-06-25 12:27:58 -0400 - Add support for Alien::Base with alien option (gh#18) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.25/MANIFEST new/FFI-CheckLib-0.26/MANIFEST --- old/FFI-CheckLib-0.25/MANIFEST 2019-06-25 18:28:01.000000000 +0200 +++ new/FFI-CheckLib-0.26/MANIFEST 2020-01-22 13:54:05.000000000 +0100 @@ -28,6 +28,7 @@ corpus/darwin/usr/lib/libfoo.dylib.1.2 corpus/darwin/usr/lib/libfoo.dylib.1.2.3 corpus/generic.dll +corpus/lib/Alien/libbar.pm corpus/unix/custom/libfoo.so corpus/unix/foo-1.00/src/libs/libbar.so corpus/unix/foo-1.00/src/libs/libbaz.so diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.25/META.json new/FFI-CheckLib-0.26/META.json --- old/FFI-CheckLib-0.25/META.json 2019-06-25 18:28:01.000000000 +0200 +++ new/FFI-CheckLib-0.26/META.json 2020-01-22 13:54:05.000000000 +0100 @@ -13,6 +13,11 @@ "version" : 2 }, "name" : "FFI-CheckLib", + "no_index" : { + "directory" : [ + "corpus" + ] + }, "prereqs" : { "configure" : { "requires" : { @@ -38,7 +43,6 @@ }, "runtime" : { "requires" : { - "Module::Load" : "0", "perl" : "5.006" } }, @@ -66,7 +70,7 @@ }, "x_IRC" : "irc://irc.perl.org/#native" }, - "version" : "0.25", + "version" : "0.26", "x_contributors" : [ "Graham Ollis <[email protected]>", "Bakkiaraj Murugesan (bakkiaraj)", @@ -75,8 +79,8 @@ "Shawn Laffan (SLAFFAN)", "Petr Pisar (ppisar)" ], - "x_generated_by_perl" : "v5.30.0", - "x_serialization_backend" : "Cpanel::JSON::XS version 4.11", + "x_generated_by_perl" : "v5.28.1", + "x_serialization_backend" : "Cpanel::JSON::XS version 4.12", "x_use_unsafe_inc" : 0 } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.25/META.yml new/FFI-CheckLib-0.26/META.yml --- old/FFI-CheckLib-0.25/META.yml 2019-06-25 18:28:01.000000000 +0200 +++ new/FFI-CheckLib-0.26/META.yml 2020-01-22 13:54:05.000000000 +0100 @@ -19,15 +19,17 @@ url: http://module-build.sourceforge.net/META-spec-v1.4.html version: '1.4' name: FFI-CheckLib +no_index: + directory: + - corpus requires: - Module::Load: '0' perl: '5.006' resources: IRC: irc://irc.perl.org/#native bugtracker: https://github.com/Perl5-FFI/FFI-CheckLib/issues homepage: https://metacpan.org/pod/FFI::CheckLib repository: git://github.com/Perl5-FFI/FFI-CheckLib.git -version: '0.25' +version: '0.26' x_contributors: - 'Graham Ollis <[email protected]>' - 'Bakkiaraj Murugesan (bakkiaraj)' @@ -35,6 +37,6 @@ - 'Ilya Pavlov (Ilya, ILUX)' - 'Shawn Laffan (SLAFFAN)' - 'Petr Pisar (ppisar)' -x_generated_by_perl: v5.30.0 +x_generated_by_perl: v5.28.1 x_serialization_backend: 'YAML::Tiny version 1.73' x_use_unsafe_inc: 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.25/Makefile.PL new/FFI-CheckLib-0.26/Makefile.PL --- old/FFI-CheckLib-0.25/Makefile.PL 2019-06-25 18:28:01.000000000 +0200 +++ new/FFI-CheckLib-0.26/Makefile.PL 2020-01-22 13:54:05.000000000 +0100 @@ -5,7 +5,7 @@ exit; } } -# This file was automatically generated by Dist::Zilla::Plugin::Author::Plicease::MakeMaker v2.36. +# This file was automatically generated by Dist::Zilla::Plugin::Author::Plicease::MakeMaker v2.42. use strict; use warnings; use 5.006; @@ -24,9 +24,7 @@ "PM" => { "lib/FFI/CheckLib.pm" => "\$(INST_LIB)/FFI/CheckLib.pm" }, - "PREREQ_PM" => { - "Module::Load" => 0 - }, + "PREREQ_PM" => {}, "TEST_REQUIRES" => { "Test2::API" => "1.302015", "Test2::Mock" => "0.000060", @@ -34,14 +32,13 @@ "Test2::Require::Module" => "0.000060", "Test2::V0" => "0.000060" }, - "VERSION" => "0.25", + "VERSION" => "0.26", "test" => { "TESTS" => "t/*.t" } ); my %FallbackPrereqs = ( - "Module::Load" => 0, "Test2::API" => "1.302015", "Test2::Mock" => "0.000060", "Test2::Require::EnvVar" => "0.000060", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.25/README new/FFI-CheckLib-0.26/README --- old/FFI-CheckLib-0.25/README 2019-06-25 18:28:01.000000000 +0200 +++ new/FFI-CheckLib-0.26/README 2020-01-22 13:54:05.000000000 +0100 @@ -4,7 +4,7 @@ VERSION - version 0.25 + version 0.26 SYNOPSIS @@ -93,12 +93,12 @@ lib => 'foo', verify => sub { my($name, $libpath) = @_; - + my $ffi = FFI::Platypus->new; $ffi->lib($libpath); - + my $f = $ffi->function('foo_version', [] => 'int'); - + return $f->call() >= 500; # we accept version 500 or better }, ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.25/corpus/lib/Alien/libbar.pm new/FFI-CheckLib-0.26/corpus/lib/Alien/libbar.pm --- old/FFI-CheckLib-0.25/corpus/lib/Alien/libbar.pm 1970-01-01 01:00:00.000000000 +0100 +++ new/FFI-CheckLib-0.26/corpus/lib/Alien/libbar.pm 2020-01-22 13:54:05.000000000 +0100 @@ -0,0 +1,11 @@ +package Alien::libbar; + +use strict; +use warnings; + +sub dynamic_libs +{ + 'corpus/unix/usr/lib/libbar.so.1.2.3'; +} + +1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.25/dist.ini new/FFI-CheckLib-0.26/dist.ini --- old/FFI-CheckLib-0.25/dist.ini 2019-06-25 18:28:01.000000000 +0200 +++ new/FFI-CheckLib-0.26/dist.ini 2020-01-22 13:54:05.000000000 +0100 @@ -3,7 +3,7 @@ license = Perl_5 copyright_holder = Graham Ollis copyright_year = 2014-2018 -version = 0.25 +version = 0.26 [@Author::Plicease] :version = 2.26 @@ -44,3 +44,5 @@ contributor = Shawn Laffan (SLAFFAN) contributor = Petr Pisar (ppisar) +[MetaNoIndex] +directory = corpus diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.25/lib/FFI/CheckLib.pm new/FFI-CheckLib-0.26/lib/FFI/CheckLib.pm --- old/FFI-CheckLib-0.25/lib/FFI/CheckLib.pm 2019-06-25 18:28:01.000000000 +0200 +++ new/FFI-CheckLib-0.26/lib/FFI/CheckLib.pm 2020-01-22 13:54:05.000000000 +0100 @@ -22,7 +22,7 @@ ); # ABSTRACT: Check that a library is available for FFI -our $VERSION = '0.25'; # VERSION +our $VERSION = '0.26'; # VERSION our $system_path = []; @@ -42,6 +42,7 @@ { $system_path = eval { require DynaLoader; + no warnings 'once'; \@DynaLoader::dl_library_path; }; die $@ if $@; @@ -162,20 +163,18 @@ foreach my $alien (@{ $args{alien} }) { + unless($alien =~ /^([A-Za-z_][A-Za-z_0-9]*)(::[A-Za-z_][A-Za-z_0-9]*)*$/) + { + croak "Doesn't appear to be a valid Alien name $alien"; + } unless(eval { $alien->can('dynamic_libs') }) { - if($alien =~ /^([A-Za-z_][A-Za-z_0-9]*)(::[A-Za-z_][A-Za-z_0-9]*)*$/) + my $pm = "$alien.pm"; + $pm =~ s/::/\//g; + require $pm; + unless(eval { $alien->can('dynamic_libs') }) { - require Module::Load; - Module::Load::load($alien); - unless(eval { $alien->can('dynamic_libs') }) - { - croak "Alien $alien doesn't provide a dynamic_libs method"; - } - } - else - { - croak "Doesn't appear to be a valid Alien name $alien"; + croak "Alien $alien doesn't provide a dynamic_libs method"; } } push @path, [$alien->dynamic_libs]; @@ -402,7 +401,7 @@ =head1 VERSION -version 0.25 +version 0.26 =head1 SYNOPSIS @@ -492,12 +491,12 @@ lib => 'foo', verify => sub { my($name, $libpath) = @_; - + my $ffi = FFI::Platypus->new; $ffi->lib($libpath); - + my $f = $ffi->function('foo_version', [] => 'int'); - + return $f->call() >= 500; # we accept version 500 or better }, ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.25/t/00_diag.t new/FFI-CheckLib-0.26/t/00_diag.t --- old/FFI-CheckLib-0.25/t/00_diag.t 2019-06-25 18:28:01.000000000 +0200 +++ new/FFI-CheckLib-0.26/t/00_diag.t 2020-01-22 13:54:05.000000000 +0100 @@ -1,7 +1,7 @@ use Test2::V0 -no_srand => 1; use Config; -eval q{ require Test::More }; +eval { require 'Test/More.pm' }; # This .t file is generated. # make changes instead to dist.ini @@ -13,7 +13,6 @@ DynaLoader ExtUtils::MakeMaker FFI::Platypus - Module::Load Test2::API Test2::Mock Test2::Require::EnvVar @@ -37,7 +36,7 @@ my $max = 1; $max = $_ > $max ? $_ : $max for map { length $_ } @modules; -our $format = "%-${max}s %s"; +our $format = "%-${max}s %s"; spacer; @@ -46,13 +45,13 @@ if(@keys > 0) { diag "$_=$ENV{$_}" for @keys; - + if($ENV{PERL5LIB}) { spacer; diag "PERL5LIB path"; diag $_ for split $Config{path_sep}, $ENV{PERL5LIB}; - + } elsif($ENV{PERLLIB}) { @@ -60,7 +59,7 @@ diag "PERLLIB path"; diag $_ for split $Config{path_sep}, $ENV{PERLLIB}; } - + spacer; } @@ -68,9 +67,11 @@ foreach my $module (sort @modules) { - if(eval qq{ require $module; 1 }) + my $pm = "$module.pm"; + $pm =~ s{::}{/}g; + if(eval { require $pm; 1 }) { - my $ver = eval qq{ \$$module\::VERSION }; + my $ver = eval { $module->VERSION }; $ver = 'undef' unless defined $ver; diag sprintf $format, $module, $ver; } @@ -89,3 +90,4 @@ spacer; done_testing; + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.25/t/ffi_checklib.t new/FFI-CheckLib-0.26/t/ffi_checklib.t --- old/FFI-CheckLib-0.25/t/ffi_checklib.t 2019-06-25 18:28:01.000000000 +0200 +++ new/FFI-CheckLib-0.26/t/ffi_checklib.t 2020-01-22 13:54:05.000000000 +0100 @@ -24,7 +24,7 @@ $FFI::CheckLib::system_path = []; my @libs = find_lib( - libpath => File::Spec->catdir( 'corpus', 'unix', 'foo-1.00' ), + libpath => File::Spec->catdir( 'corpus', 'unix', 'foo-1.00' ), lib => '*', recursive => 1, ); @@ -78,7 +78,7 @@ ); subtest 'with name' => sub { - + is( [where('foo')], ['/usr/lib/libfoo.so.1.2.3','/usr/lib/libbar.so.1.2.3'] ); is( \%find_lib_args, @@ -92,7 +92,7 @@ }; subtest 'with wildcard' => sub { - + is( [where('*')], ['/usr/lib/libfoo.so.1.2.3','/usr/lib/libbar.so.1.2.3'] ); is( \%find_lib_args, @@ -157,21 +157,48 @@ @{ $FFI::CheckLib::system_path } = (); - my $alien = mock 'Alien::libfoo' => ( - add => [ - dynamic_libs => sub { - 'corpus/unix/lib/libfoo.so.2.3.4', + subtest 'preloaded' => sub { + + my $alien = mock 'Alien::libfoo' => ( + add => [ + dynamic_libs => sub { + 'corpus/unix/lib/libfoo.so.2.3.4', + }, + ], + ); + + is( + [FFI::CheckLib::find_lib( lib => 'foo', alien => ['Alien::libfoo'])], + array { + item 0 => match qr/foo/; + end; }, - ], - ); + ); - is( - [FFI::CheckLib::find_lib( lib => 'foo', alien => ['Alien::libfoo'])], - array { - item 0 => match qr/foo/; - end; - }, - ); + }; + + subtest 'autoload' => sub { + + local @INC = @INC; + unshift @INC, 'corpus/lib'; + + is( + [FFI::CheckLib::find_lib( lib => 'bar', alien => ['Alien::libbar'])], + array { + item 0 => match qr/bar/; + end; + }, + ); + + }; + + subtest 'invalid name' => sub { + + local $@ = ''; + eval { FFI::CheckLib::find_lib( lib => 'bar', alien => ['x..y']) }; + like "$@", qr/Doesn't appear to be a valid Alien name x\.\.y/; + + }; }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.25/t/ffi_checklib__exit.t new/FFI-CheckLib-0.26/t/ffi_checklib__exit.t --- old/FFI-CheckLib-0.25/t/ffi_checklib__exit.t 2019-06-25 18:28:01.000000000 +0200 +++ new/FFI-CheckLib-0.26/t/ffi_checklib__exit.t 2020-01-22 13:54:05.000000000 +0100 @@ -12,11 +12,11 @@ ); subtest 'check_lib_or_exit' => sub { - + subtest 'found' => sub { never_exits_ok { check_lib_or_exit( lib => 'foo' ) }; }; - + subtest 'not found' => sub { exits_zero { note_stderr { check_lib_or_exit( lib => 'foobar') } }; }; @@ -24,7 +24,7 @@ }; subtest 'find_lib_or_exit' => sub { - + subtest 'found' => sub { my $path; never_exits_ok { $path = find_lib_or_exit( lib => 'foo' ) }; @@ -33,7 +33,7 @@ my $path2 = eval { find_lib_or_exit( lib => 'foo' ) }; is $path, $path2, 'scalar context'; }; - + subtest 'not found' => sub { exits_zero { note_stderr { find_lib_or_exit( lib => 'foobar') } }; }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.25/t/ffi_checklib__os_cygwin.t new/FFI-CheckLib-0.26/t/ffi_checklib__os_cygwin.t --- old/FFI-CheckLib-0.25/t/ffi_checklib__os_cygwin.t 2019-06-25 18:28:01.000000000 +0200 +++ new/FFI-CheckLib-0.26/t/ffi_checklib__os_cygwin.t 2020-01-22 13:54:05.000000000 +0100 @@ -16,7 +16,7 @@ subtest 'find_lib (good)' => sub { my($path) = find_lib( lib => 'dinosaur' ); ok -r $path, "path = $path is readable"; - + my $path2 = find_lib( lib => 'dinosaur' ); is $path, $path2, 'scalar context'; }; @@ -24,7 +24,7 @@ subtest 'find_lib (good) with lib and version' => sub { my($path) = find_lib( lib => 'apatosaurus' ); ok -r $path, "path = $path is readable"; - + my $path2 = find_lib( lib => 'apatosaurus' ); is $path, $path2, 'scalar context'; }; @@ -32,18 +32,18 @@ subtest 'find_lib (good)' => sub { my($path) = find_lib( lib => 'foo' ); ok -r $path, "path = $path is readable"; - + my $path2 = find_lib( lib => 'foo' ); is $path, $path2, 'scalar context'; - - my $dll = TestDLL->new($path); + + my $dll = TestDLL->new($path); is $dll->name, 'foo', 'dll.name = foo'; is $dll->version, '1.2.3', 'dll.version = 1.2.3'; }; subtest 'find_lib (fail)' => sub { my @path = find_lib( lib => 'foobar' ); - + ok @path == 0, 'libfoobar not found'; }; @@ -64,13 +64,13 @@ is $bar->name, 'bar', 'dll.name = bar'; is $bar->version, '1.2.3', 'dll.version = 1.2.3'; }; - + }; subtest 'find_lib libpath' => sub { my($path) = find_lib( lib => 'foo', libpath => 'corpus/unix/custom' ); ok -r $path, "path = $path is readable"; - my $dll = TestDLL->new($path); + my $dll = TestDLL->new($path); is $dll->name, 'foo', 'dll.name = foo'; is $dll->version, '1.2.3a', 'dll.version = 1.2.3a'; }; @@ -78,7 +78,7 @@ subtest 'find_lib libpath (list)' => sub { my($path) = find_lib( lib => 'foo', libpath => ['corpus/unix/custom']); ok -r $path, "path = $path is readable"; - my $dll = TestDLL->new($path); + my $dll = TestDLL->new($path); is $dll->name, 'foo', 'dll.name = foo'; is $dll->version, '1.2.3a', 'dll.version = 1.2.3a'; }; @@ -86,9 +86,9 @@ subtest 'find_lib symbol' => sub { my($path) = find_lib( lib => 'foo', symbol => 'foo_init' ); ok -r $path, "path = $path is readable"; - my $dll = TestDLL->new($path); + my $dll = TestDLL->new($path); is $dll->name, 'foo', 'dll.name = foo'; - is $dll->version, '1.2.3', 'dll.version = 1.2.3'; + is $dll->version, '1.2.3', 'dll.version = 1.2.3'; }; subtest 'find_lib symbol (bad)' => sub { @@ -99,9 +99,9 @@ subtest 'find_lib symbol (list)' => sub { my($path) = find_lib( lib => 'foo', symbol => ['foo_init', 'foo_new', 'foo_delete'] ); ok -r $path, "path = $path is readable"; - my $dll = TestDLL->new($path); + my $dll = TestDLL->new($path); is $dll->name, 'foo', 'dll.name = foo'; - is $dll->version, '1.2.3', 'dll.version = 1.2.3'; + is $dll->version, '1.2.3', 'dll.version = 1.2.3'; }; subtest 'find_lib symbol (list) (bad)' => sub { @@ -110,20 +110,20 @@ }; subtest 'assert_lib' => sub { - + subtest 'found' => sub { eval { assert_lib( lib => 'foo' ) }; is $@, '', 'no exception'; }; - + subtest 'not found' => sub { eval { assert_lib( lib => 'foobar') }; - isnt $@, '', 'exception'; + isnt $@, '', 'exception'; }; }; subtest 'check_lib' => sub { - + is check_lib( lib => 'foo' ), 1, 'found'; is check_lib( lib => 'foobar'), 0, 'not found'; }; @@ -134,14 +134,14 @@ lib => 'foo', verify => sub { 0 }, ); - + ok @lib == 0, 'returned empty list'; @lib = find_lib( lib => 'foo', verify => [ sub { 0 } ], ); - + ok @lib == 0, 'returned empty list'; }; @@ -156,7 +156,7 @@ $lib->version ne '1.2.3' }, ); - + ok -r $lib, "path = $lib is readable"; my $dll = TestDLL->new($lib); is $dll->name, 'foo', 'dll.name = foo'; @@ -180,7 +180,7 @@ @_ ]; }; - + is( $process->(qw( cygfoo-1.dll cygbar-2.dll cygbaz-0.dll )), [ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.25/t/ffi_checklib__os_darwin.t new/FFI-CheckLib-0.26/t/ffi_checklib__os_darwin.t --- old/FFI-CheckLib-0.25/t/ffi_checklib__os_darwin.t 2019-06-25 18:28:01.000000000 +0200 +++ new/FFI-CheckLib-0.26/t/ffi_checklib__os_darwin.t 2020-01-22 13:54:05.000000000 +0100 @@ -15,18 +15,18 @@ subtest 'find_lib (good)' => sub { my($path) = find_lib( lib => 'foo' ); ok -r $path, "path = $path is readable"; - + my $path2 = find_lib( lib => 'foo' ); is $path, $path2, 'scalar context'; - - my $dll = TestDLL->new($path); + + my $dll = TestDLL->new($path); is $dll->name, 'foo', 'dll.name = foo'; is $dll->version, '1.2.3', 'dll.version = 1.2.3'; }; subtest 'find_lib (fail)' => sub { my @path = find_lib( lib => 'foobar' ); - + ok @path == 0, 'libfoobar not found'; }; @@ -47,13 +47,13 @@ is $bar->name, 'bar', 'dll.name = bar'; is $bar->version, '1.2.3', 'dll.version = 1.2.3'; }; - + }; subtest 'find_lib libpath' => sub { my($path) = find_lib( lib => 'foo', libpath => 'corpus/darwin/custom' ); ok -r $path, "path = $path is readable"; - my $dll = TestDLL->new($path); + my $dll = TestDLL->new($path); is $dll->name, 'foo', 'dll.name = foo'; is $dll->version, '1.2.3a', 'dll.version = 1.2.3a'; }; @@ -61,7 +61,7 @@ subtest 'find_lib libpath (list)' => sub { my($path) = find_lib( lib => 'foo', libpath => ['corpus/darwin/custom']); ok -r $path, "path = $path is readable"; - my $dll = TestDLL->new($path); + my $dll = TestDLL->new($path); is $dll->name, 'foo', 'dll.name = foo'; is $dll->version, '1.2.3a', 'dll.version = 1.2.3a'; }; @@ -69,9 +69,9 @@ subtest 'find_lib symbol' => sub { my($path) = find_lib( lib => 'foo', symbol => 'foo_init' ); ok -r $path, "path = $path is readable"; - my $dll = TestDLL->new($path); + my $dll = TestDLL->new($path); is $dll->name, 'foo', 'dll.name = foo'; - is $dll->version, '1.2.3', 'dll.version = 1.2.3'; + is $dll->version, '1.2.3', 'dll.version = 1.2.3'; }; subtest 'find_lib symbol (bad)' => sub { @@ -82,9 +82,9 @@ subtest 'find_lib symbol (list)' => sub { my($path) = find_lib( lib => 'foo', symbol => ['foo_init', 'foo_new', 'foo_delete'] ); ok -r $path, "path = $path is readable"; - my $dll = TestDLL->new($path); + my $dll = TestDLL->new($path); is $dll->name, 'foo', 'dll.name = foo'; - is $dll->version, '1.2.3', 'dll.version = 1.2.3'; + is $dll->version, '1.2.3', 'dll.version = 1.2.3'; }; subtest 'find_lib symbol (list) (bad)' => sub { @@ -93,20 +93,20 @@ }; subtest 'assert_lib' => sub { - + subtest 'found' => sub { eval { assert_lib( lib => 'foo' ) }; is $@, '', 'no exception'; }; - + subtest 'not found' => sub { eval { assert_lib( lib => 'foobar') }; - isnt $@, '', 'exception'; + isnt $@, '', 'exception'; }; }; subtest 'check_lib' => sub { - + is check_lib( lib => 'foo' ), 1, 'found'; is check_lib( lib => 'foobar'), 0, 'not found'; }; @@ -117,14 +117,14 @@ lib => 'foo', verify => sub { 0 }, ); - + ok @lib == 0, 'returned empty list'; @lib = find_lib( lib => 'foo', verify => [ sub { 0 } ], ); - + ok @lib == 0, 'returned empty list'; }; @@ -139,7 +139,7 @@ $lib->version ne '1.2.3' }, ); - + ok -r $lib, "path = $lib is readable"; my $dll = TestDLL->new($lib); is $dll->name, 'foo', 'dll.name = foo'; @@ -163,7 +163,7 @@ @_ ]; }; - + is( $process->(qw( libfoo.1.2.3.dylib libbar.3.4.5.dylib libbaz.0.0.0.dylib )), [ @@ -204,7 +204,7 @@ ], 'no version before version', ); - + is( $process->(qw( libfoo.2.3.4.dylib libfoo.1.2.3.dylib libfoo.3.4.5.dylib )), [ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.25/t/ffi_checklib__os_mswin32.t new/FFI-CheckLib-0.26/t/ffi_checklib__os_mswin32.t --- old/FFI-CheckLib-0.25/t/ffi_checklib__os_mswin32.t 2019-06-25 18:28:01.000000000 +0200 +++ new/FFI-CheckLib-0.26/t/ffi_checklib__os_mswin32.t 2020-01-22 13:54:05.000000000 +0100 @@ -11,21 +11,21 @@ subtest 'find_lib (good)' => sub { my($path) = find_lib( lib => 'dinosaur' ); ok -r $path, "path = $path is readable"; - + my $path2 = find_lib( lib => 'dinosaur' ); is $path, $path2, 'scalar context'; }; subtest 'find_lib (fail)' => sub { my @path = find_lib( lib => 'foobar' ); - + ok @path == 0, 'libfoobar not found'; }; subtest 'find_lib (good) with lib and version' => sub { my($path) = find_lib( lib => 'apatosaurus' ); ok -r $path, "path = $path is readable"; - + my $path2 = find_lib( lib => 'apatosaurus' ); is $path, $path2, 'scalar context'; }; @@ -34,7 +34,7 @@ local $ENV{PATH} = $ENV{PATH}; @PATH = qw( foo bar baz ); - + is( $FFI::CheckLib::system_path, [qw( foo bar baz )], @@ -45,28 +45,28 @@ subtest 'lib with name like libname-1-2-3.dll' => sub { my($path) = find_lib( lib => 'maiasaura' ); ok -r $path, "path = $path is readable"; - + my $path2 = find_lib( lib => 'maiasaura' ); is $path, $path2, 'scalar context'; - + }; subtest 'lib with name like name-1-2-3.dll' => sub { my($path) = find_lib( lib => 'dromornis_planei' ); ok -r $path, "path = $path is readable"; - + my $path2 = find_lib( lib => 'dromornis_planei' ); is $path, $path2, 'scalar context'; - + }; subtest 'lib with name like libname-1-2___.dll' => sub { my($path) = find_lib( lib => 'thylacaleo_carnifex' ); ok -r $path, "path = $path is readable"; - + my $path2 = find_lib( lib => 'thylacaleo_carnifex' ); is $path, $path2, 'scalar context'; - + }; @@ -86,7 +86,7 @@ @_ ]; }; - + is( $process->(qw( foo-1.dll bar-2.dll baz-0.dll )), [ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.25/t/ffi_checklib__os_msys.t new/FFI-CheckLib-0.26/t/ffi_checklib__os_msys.t --- old/FFI-CheckLib-0.25/t/ffi_checklib__os_msys.t 2019-06-25 18:28:01.000000000 +0200 +++ new/FFI-CheckLib-0.26/t/ffi_checklib__os_msys.t 2020-01-22 13:54:05.000000000 +0100 @@ -19,7 +19,7 @@ @_ ]; }; - + is( $process->(qw( msys-foo-1.dll msys-bar-2.dll msys-baz-0.dll )), [ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.25/t/ffi_checklib__os_unix.t new/FFI-CheckLib-0.26/t/ffi_checklib__os_unix.t --- old/FFI-CheckLib-0.25/t/ffi_checklib__os_unix.t 2019-06-25 18:28:01.000000000 +0200 +++ new/FFI-CheckLib-0.26/t/ffi_checklib__os_unix.t 2020-01-22 13:54:05.000000000 +0100 @@ -16,18 +16,18 @@ subtest 'find_lib (good)' => sub { my($path) = find_lib( lib => 'foo' ); ok -r $path, "path = $path is readable"; - + my $path2 = find_lib( lib => 'foo' ); is $path, $path2, 'scalar context'; - - my $dll = TestDLL->new($path); + + my $dll = TestDLL->new($path); is $dll->name, 'foo', 'dll.name = foo'; is $dll->version, '1.2.3', 'dll.version = 1.2.3'; }; subtest 'find_lib (fail)' => sub { my @path = find_lib( lib => 'foobar' ); - + ok @path == 0, 'libfoobar not found'; }; @@ -48,13 +48,13 @@ is $bar->name, 'bar', 'dll.name = bar'; is $bar->version, '1.2.3', 'dll.version = 1.2.3'; }; - + }; subtest 'find_lib libpath' => sub { my($path) = find_lib( lib => 'foo', libpath => 'corpus/unix/custom' ); ok -r $path, "path = $path is readable"; - my $dll = TestDLL->new($path); + my $dll = TestDLL->new($path); is $dll->name, 'foo', 'dll.name = foo'; is $dll->version, '1.2.3a', 'dll.version = 1.2.3a'; }; @@ -62,7 +62,7 @@ subtest 'find_lib libpath (list)' => sub { my($path) = find_lib( lib => 'foo', libpath => ['corpus/unix/custom']); ok -r $path, "path = $path is readable"; - my $dll = TestDLL->new($path); + my $dll = TestDLL->new($path); is $dll->name, 'foo', 'dll.name = foo'; is $dll->version, '1.2.3a', 'dll.version = 1.2.3a'; }; @@ -70,9 +70,9 @@ subtest 'find_lib symbol' => sub { my($path) = find_lib( lib => 'foo', symbol => 'foo_init' ); ok -r $path, "path = $path is readable"; - my $dll = TestDLL->new($path); + my $dll = TestDLL->new($path); is $dll->name, 'foo', 'dll.name = foo'; - is $dll->version, '1.2.3', 'dll.version = 1.2.3'; + is $dll->version, '1.2.3', 'dll.version = 1.2.3'; }; subtest 'find_lib symbol (bad)' => sub { @@ -83,9 +83,9 @@ subtest 'find_lib symbol (list)' => sub { my($path) = find_lib( lib => 'foo', symbol => ['foo_init', 'foo_new', 'foo_delete'] ); ok -r $path, "path = $path is readable"; - my $dll = TestDLL->new($path); + my $dll = TestDLL->new($path); is $dll->name, 'foo', 'dll.name = foo'; - is $dll->version, '1.2.3', 'dll.version = 1.2.3'; + is $dll->version, '1.2.3', 'dll.version = 1.2.3'; }; subtest 'find_lib symbol (list) (bad)' => sub { @@ -94,20 +94,20 @@ }; subtest 'assert_lib' => sub { - + subtest 'found' => sub { eval { assert_lib( lib => 'foo' ) }; is $@, '', 'no exception'; }; - + subtest 'not found' => sub { eval { assert_lib( lib => 'foobar') }; - isnt $@, '', 'exception'; + isnt $@, '', 'exception'; }; }; subtest 'check_lib' => sub { - + is check_lib( lib => 'foo' ), 1, 'found'; is check_lib( lib => 'foobar'), 0, 'not found'; }; @@ -118,14 +118,14 @@ lib => 'foo', verify => sub { 0 }, ); - + ok @lib == 0, 'returned empty list'; @lib = find_lib( lib => 'foo', verify => [ sub { 0 } ], ); - + ok @lib == 0, 'returned empty list'; }; @@ -140,7 +140,7 @@ $lib->version ne '1.2.3' }, ); - + ok -r $lib, "path = $lib is readable"; my $dll = TestDLL->new($lib); is $dll->name, 'foo', 'dll.name = foo'; @@ -161,29 +161,29 @@ my($lib) = find_lib( lib => 'xor', ); - + is(basename($lib), 'libxor.so.1.2.4'); - + }; - + subtest 'broken symlink' => sub { - + my($lib) = find_lib( lib => 'ganon', ); - + is($lib, undef); - + }; subtest 'infinite recurse symlink' => sub { - + my($lib) = find_lib( lib => 'link', ); - + is($lib, undef); - + }; }; @@ -193,10 +193,10 @@ my($lib) = find_lib( lib => 'crypto', ); - + is($lib, T()); is(basename($lib), 'libcrypto.so.1.0.0'); - + note "lib = $lib"; }; @@ -217,7 +217,7 @@ @_ ]; }; - + is( $process->(qw( libfoo.so.1.2.3 libbar.so.3.4.5 libbaz.so.0.0.0 )), [ @@ -258,7 +258,7 @@ ], 'no version before version', ); - + is( $process->(qw( libfoo.so.2.3.4 libfoo.so.1.2.3 libfoo.so.3.4.5 )), [ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.25/t/lib/Test2/Plugin/FauxOS.pm new/FFI-CheckLib-0.26/t/lib/Test2/Plugin/FauxOS.pm --- old/FFI-CheckLib-0.25/t/lib/Test2/Plugin/FauxOS.pm 2019-06-25 18:28:01.000000000 +0200 +++ new/FFI-CheckLib-0.26/t/lib/Test2/Plugin/FauxOS.pm 2020-01-22 13:54:05.000000000 +0100 @@ -9,10 +9,10 @@ my(undef, $os) = @_; die "you must use Test2::Plugin::FauxOS prior to FFI::CheckLib" if $INC{'FFI/CheckLib.pm'}; $FFI::CheckLib::os = $os; - + test2_add_callback_exit(sub { my ($ctx, $real, $new) = @_; - + $ctx->note("faux os: $os"); $ctx->note("real os: $^O"); }); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.25/t/lib/Test2/Tools/FauxDynaLoader.pm new/FFI-CheckLib-0.26/t/lib/Test2/Tools/FauxDynaLoader.pm --- old/FFI-CheckLib-0.25/t/lib/Test2/Tools/FauxDynaLoader.pm 2019-06-25 18:28:01.000000000 +0200 +++ new/FFI-CheckLib-0.26/t/lib/Test2/Tools/FauxDynaLoader.pm 2020-01-22 13:54:05.000000000 +0100 @@ -33,7 +33,7 @@ my $lib = $libref[$libref]; $lib->has_symbol($symbol); }); - + $mock; } @@ -43,7 +43,7 @@ sub new { my($class, $filename) = @_; - + my @list = do { my $fh; open $fh, '<', $filename; @@ -51,13 +51,13 @@ close $fh; @list; }; - + chomp @list; - + my $name = shift @list; my $version = shift @list; my %symbols = map { $_ => 1 } @list; - + bless { filename => $filename, name => $name, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.25/xt/author/eol.t new/FFI-CheckLib-0.26/xt/author/eol.t --- old/FFI-CheckLib-0.25/xt/author/eol.t 2019-06-25 18:28:01.000000000 +0200 +++ new/FFI-CheckLib-0.26/xt/author/eol.t 2020-01-22 13:54:05.000000000 +0100 @@ -1,8 +1,8 @@ use strict; use warnings; use Test::More; -BEGIN { - plan skip_all => 'test requires Test::EOL' +BEGIN { + plan skip_all => 'test requires Test::EOL' unless eval q{ use Test::EOL; 1 }; }; use Test::EOL; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.25/xt/author/no_tabs.t new/FFI-CheckLib-0.26/xt/author/no_tabs.t --- old/FFI-CheckLib-0.25/xt/author/no_tabs.t 2019-06-25 18:28:01.000000000 +0200 +++ new/FFI-CheckLib-0.26/xt/author/no_tabs.t 2020-01-22 13:54:05.000000000 +0100 @@ -1,8 +1,8 @@ use strict; use warnings; use Test::More; -BEGIN { - plan skip_all => 'test requires Test::NoTabs' +BEGIN { + plan skip_all => 'test requires Test::NoTabs' unless eval q{ use Test::NoTabs; 1 }; }; use Test::NoTabs; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.25/xt/author/pod.t new/FFI-CheckLib-0.26/xt/author/pod.t --- old/FFI-CheckLib-0.25/xt/author/pod.t 2019-06-25 18:28:01.000000000 +0200 +++ new/FFI-CheckLib-0.26/xt/author/pod.t 2020-01-22 13:54:05.000000000 +0100 @@ -1,8 +1,8 @@ use strict; use warnings; use Test::More; -BEGIN { - plan skip_all => 'test requires Test::Pod' +BEGIN { + plan skip_all => 'test requires Test::Pod' unless eval q{ use Test::Pod; 1 }; }; use Test::Pod; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.25/xt/author/pod_coverage.t new/FFI-CheckLib-0.26/xt/author/pod_coverage.t --- old/FFI-CheckLib-0.25/xt/author/pod_coverage.t 2019-06-25 18:28:01.000000000 +0200 +++ new/FFI-CheckLib-0.26/xt/author/pod_coverage.t 2020-01-22 13:54:05.000000000 +0100 @@ -1,13 +1,15 @@ use strict; use warnings; use Test::More; -BEGIN { +BEGIN { plan skip_all => 'test requires 5.010 or better' unless $] >= 5.010; - plan skip_all => 'test requires Test::Pod::Coverage' + plan skip_all => 'test requires Test::Pod::Coverage' unless eval q{ use Test::Pod::Coverage; 1 }; plan skip_all => 'test requires YAML' unless eval q{ use YAML; 1; }; + plan skip_all => 'test does not always work in cip check' + if defined $ENV{CIPSTATIC} && $ENV{CIPSTATIC} eq 'true'; }; use Test::Pod::Coverage; use YAML qw( LoadFile ); @@ -62,12 +64,12 @@ SKIP: { my($is_private_class) = map { 1 } grep { $class =~ $_->{regex} && $_->{all} } @private_classes; skip "private class: $class", 1 if $is_private_class; - + my %methods = map {; $_ => 1 } map { split /,/, $_->{method} } grep { $class =~ $_->{regex} } @private_classes; $methods{$_} = 1 for keys %private_methods; - + my $also_private = eval 'qr{^' . join('|', keys %methods ) . '$}'; - + pod_coverage_ok $class, { also_private => [$also_private] }; }; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.25/xt/author/pod_spelling_common.t new/FFI-CheckLib-0.26/xt/author/pod_spelling_common.t --- old/FFI-CheckLib-0.25/xt/author/pod_spelling_common.t 2019-06-25 18:28:01.000000000 +0200 +++ new/FFI-CheckLib-0.26/xt/author/pod_spelling_common.t 2020-01-22 13:54:05.000000000 +0100 @@ -1,8 +1,8 @@ use strict; use warnings; use Test::More; -BEGIN { - plan skip_all => 'test requires Test::Pod::Spelling::CommonMistakes' +BEGIN { + plan skip_all => 'test requires Test::Pod::Spelling::CommonMistakes' unless eval q{ use Test::Pod::Spelling::CommonMistakes; 1 }; plan skip_all => 'test requires YAML' unless eval q{ use YAML qw( LoadFile ); 1 }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.25/xt/author/pod_spelling_system.t new/FFI-CheckLib-0.26/xt/author/pod_spelling_system.t --- old/FFI-CheckLib-0.25/xt/author/pod_spelling_system.t 2019-06-25 18:28:01.000000000 +0200 +++ new/FFI-CheckLib-0.26/xt/author/pod_spelling_system.t 2020-01-22 13:54:05.000000000 +0100 @@ -1,8 +1,8 @@ use strict; use warnings; use Test::More; -BEGIN { - plan skip_all => 'test requires Test::Spelling' +BEGIN { + plan skip_all => 'test requires Test::Spelling' unless eval q{ use Test::Spelling; 1 }; plan skip_all => 'test requires YAML' unless eval q{ use YAML; 1; }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.25/xt/author/strict.t new/FFI-CheckLib-0.26/xt/author/strict.t --- old/FFI-CheckLib-0.25/xt/author/strict.t 2019-06-25 18:28:01.000000000 +0200 +++ new/FFI-CheckLib-0.26/xt/author/strict.t 2020-01-22 13:54:05.000000000 +0100 @@ -1,8 +1,8 @@ use strict; use warnings; use Test::More; -BEGIN { - plan skip_all => 'test requires Test::Strict' +BEGIN { + plan skip_all => 'test requires Test::Strict' unless eval q{ use Test::Strict; 1 }; }; use Test::Strict; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.25/xt/author/version.t new/FFI-CheckLib-0.26/xt/author/version.t --- old/FFI-CheckLib-0.25/xt/author/version.t 2019-06-25 18:28:01.000000000 +0200 +++ new/FFI-CheckLib-0.26/xt/author/version.t 2020-01-22 13:54:05.000000000 +0100 @@ -6,10 +6,10 @@ plan skip_all => "test requires Test::Version 2.00" unless eval q{ - use Test::Version 2.00 qw( version_all_ok ), { + use Test::Version 2.00 qw( version_all_ok ), { has_version => 1, filename_match => sub { $_[0] !~ m{/(ConfigData|Install/Files)\.pm$} }, - }; + }; 1 }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.25/xt/release/changes.t new/FFI-CheckLib-0.26/xt/release/changes.t --- old/FFI-CheckLib-0.25/xt/release/changes.t 2019-06-25 18:28:01.000000000 +0200 +++ new/FFI-CheckLib-0.26/xt/release/changes.t 2020-01-22 13:54:05.000000000 +0100 @@ -1,8 +1,8 @@ use strict; use warnings; use Test::More; -BEGIN { - plan skip_all => 'test requires Test::CPAN::Changes' +BEGIN { + plan skip_all => 'test requires Test::CPAN::Changes' unless eval q{ use Test::CPAN::Changes; 1 }; }; use Test::CPAN::Changes; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.25/xt/release/fixme.t new/FFI-CheckLib-0.26/xt/release/fixme.t --- old/FFI-CheckLib-0.25/xt/release/fixme.t 2019-06-25 18:28:01.000000000 +0200 +++ new/FFI-CheckLib-0.26/xt/release/fixme.t 2020-01-22 13:54:05.000000000 +0100 @@ -1,8 +1,8 @@ use strict; use warnings; use Test::More; -BEGIN { - plan skip_all => 'test requires Test::Fixme' +BEGIN { + plan skip_all => 'test requires Test::Fixme' unless eval q{ use Test::Fixme 0.14; 1 }; }; use Test::Fixme 0.07;
