Code Monkey home page Code Monkey logo

app-cpanminus-reporter's People

Contributors

ambs avatar brunobuss avatar garu avatar haarg avatar ioanrogers avatar jkeenan avatar karenetheridge avatar mnlagrasta avatar nawglan avatar plicease avatar wolfsage avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

app-cpanminus-reporter's Issues

version 0.20 fails to install against system perl on FreeBSD-12

Today I attempted to install version 0.20 of App::cpanminus::reporter against the system perl on FreeBSD-12. The attempt failed, for reasons I do not understand.

$ uname -mrs
FreeBSD 12.3-RELEASE-p6 amd64

$ perl -v | head -2 | tail -1
This is perl 5, version 32, subversion 1 (v5.32.1) built for amd64-freebsd-thread-multi

$ sudo cpan App::cpanminus::reporter
Loading internal logger. Log::Log4perl recommended for better logging
Reading '/root/.cpan/Metadata'
  Database was generated on Tue, 09 May 2023 16:54:03 GMT
Running install for module 'App::cpanminus::reporter'
CPAN: LWP::UserAgent loaded ok (v6.67)
Fetching with LWP:
https://www.cpan.org/authors/id/G/GA/GARU/App-cpanminus-reporter-0.20.tar.gz
CPAN: YAML loaded ok (v1.26)
CPAN: Digest::SHA loaded ok (v6.02)
Fetching with LWP:
https://www.cpan.org/authors/id/G/GA/GARU/CHECKSUMS
CPAN: Compress::Zlib loaded ok (v2.093)
Checksum for /root/.cpan/sources/authors/id/G/GA/GARU/App-cpanminus-reporter-0.20.tar.gz ok
App-cpanminus-reporter-0.20/t/data/build.compilation_error.log: Cannot restore extended attributes: com.apple.quarantine com.apple.quarantine
tar: Error exit delayed from previous errors.
Uncompressed /root/.cpan/sources/authors/id/G/GA/GARU/App-cpanminus-reporter-0.20.tar.gz successfully
Using Tar:/usr/bin/tar xf "App-cpanminus-reporter-0.20.tar":
App-cpanminus-reporter-0.20/t/data/build.compilation_error.log: Cannot restore extended attributes: com.apple.quarantine com.apple.quarantine
tar: Error exit delayed from previous errors.
Couldn't untar App-cpanminus-reporter-0.20.tar: child exited with value 1
  GARU/App-cpanminus-reporter-0.20.tar.gz
  Had problems unarchiving. Please build manually

On the very same machine, minutes later, I was able to install version 0.20 against blead perl:

$ ./bin/perl -v | head -2 | tail -1
This is perl 5, version 37, subversion 12 (v5.37.12 (v5.37.11-34-g48e8a9d396)) built for amd64-freebsd-thread-multi

$ ./bin/cpan App::cpanminus::reporter
...
CPAN::Reporter: Test result is 'pass', All tests successful.
CPAN::Reporter: preparing a CPAN Testers report for App-cpanminus-reporter-0.20
CPAN::Reporter: sending test report with 'pass' via Metabase
  GARU/App-cpanminus-reporter-0.20.tar.gz
  /usr/bin/make test -- OK
Running make install for GARU/App-cpanminus-reporter-0.20.tar.gz
Installing /home/jkeenan/testing/blead/lib/perl5/site_perl/5.37.12/App/cpanminus/reporter.pm
Installing /home/jkeenan/testing/blead/bin/cpanm-reporter
Appending installation info to /home/jkeenan/testing/blead/lib/perl5/5.37.12/amd64-freebsd-thread-multi/perllocal.pod
  GARU/App-cpanminus-reporter-0.20.tar.gz
  make install  -- OK

Do you have any idea why the attempt to install (as root) against the system perl failed?

Thanks.

Test suite does not cover 3 URI schemes

The code in lib/App/cpanminus/reporter.pm suggests that it is now capable of handling 5 different URI schemes:

   my %eligible_schemes = map {$_ => 1} (qw| http https ftp cpan file |);

However, the test suite only exercises 2 of these: http and file. If you insert the following debugging statement into the module:

diff --git a/lib/App/cpanminus/reporter.pm b/lib/App/cpanminus/reporter.pm
index eb28667..872878c 100644
--- a/lib/App/cpanminus/reporter.pm
+++ b/lib/App/cpanminus/reporter.pm
@@ -467,6 +467,7 @@ sub parse_uri {
 
   my $uri = URI->new( $resource );
   my $scheme = lc $uri->scheme;
+print STDERR "SCHEME: $scheme\n";
   my %eligible_schemes = map {$_ => 1} (qw| http https ftp cpan file |);
   if (! $eligible_schemes{$scheme}) {
     print "invalid scheme '$scheme' for resource '$resource'. Skipping...\n"

... and then run make test and collate the output, you get the count for each scheme actually tested:

$ make test 2>&1 | grep SCHEME | cut -d ' ' -f2 | uniq -c
      1 file
     60 http

Now, I have to admit that I don't really know what the cpan scheme does, and my guess is that https works just like http. So I don't know whether the lack of tests of 3 schemes is important or not. Your call.

Downstream breakage in CPAN-cpanminus-reporter-RetainReports (probably now fixed)

This is not a bug report per se; rather, it is a report on how I dealt with breakage in a CPAN module that depends on App-cpanminus-reporter.

My CPAN distribution CPAN-cpanminus-reporter-RetainReports (hereinafter, C-c-r-R) recently began to experience test failures as reported by CPANtesters. See, for example, these reports run against perl-5.36.1. Andreas (@andk) diagnosed the cause of the failures as recent changes to prerequisite module App::cpanminus::reporter (hereinafter, A-c-r).

Ironically, the changes in the latter module that triggered the test failures appear to have come from a pull request I myself submitted more than five years ago and was recently merged, probably during the recent Perl Toolchain Summit. So the wound was partially self-inflicted. ;-)

I originally wrote C-c-r-R when I was doing "CPAN River-style" testing of the Perl 5 core distribution. That entailed installing a monthly development release, installing cpanm and C-c-r-R against that perl, then attempting to install 3000 CPAN distributions in a list pre-sorted to reflect CPAN dependencies (the "CPAN River"). C-c-r-R does not actually send a report to CPANtesters. It saves the JSON report to disk where it can subsequently be analyzed for changes in PASS/FAIL status. I wrote C-c-r-R such that it subclassed A-c-r, overwriting A-c-r methods as needed. At the time I wrote C-c-r-R, the production version of A-c-r was 0.17.

I discontinued the CPAN River testing in 2020, IIRC, as the amount of new information it generated was not worth the machine and human time it took. So at that point my need to actively maintain C-c-r-R lapsed and, for a variety of reasons, mainly used Task::CPAN::Reporter as my CPANtesters reporting tool. As a consequence, these test failure reports for C-c-r-R caught me by surprise. It took me some time to realize that:

  • A-c-r's get_author() method now accommodated the file URI scheme. Hence there was no longer need for a get_author() method in C-c-r-R that overrode the one inherited from A-c-r.

  • But get_author still assumes that the path inside a file URI is constructed "CPAN-style", i.e., /M/ME/METATEST/tarball.tar.gz, which in turn requires that dummy tarballs included in the distribution and used for testing need to be positioned in directories that reflect that convention.

I have created a pull request for C-c-r-R which I believe reflects these changes. If you would like to take a look at that p.r., please do so (though I'm not requesting a formal code review).

Thank you very much.
Jim Keenan

cpanm-reporter dies when Test::Reporter::Transport::Metabase fails to send a report

Parsing /Users/buss/.cpanm/latest-build/build.log...
sending: (http://www.cpan.org/authors/id/G/GA/GARU/CPAN-Testers-Common-Client-0.07.tar.gz, GARU, CPAN-Testers-Common-Client-0.07, PASS)
sending: (http://www.cpan.org/authors/id/G/GA/GARU/App-cpanminus-reporter-0.09.tar.gz, GARU, App-cpanminus-reporter-0.09, PASS)
sending: (http://www.cpan.org/authors/id/B/BI/BINGOS/Archive-Tar-1.92.tar.gz, BINGOS, Archive-Tar-1.92, PASS)
sending: (http://www.cpan.org/authors/id/P/PJ/PJF/autodie-2.20.tar.gz, PJF, autodie-2.20, PASS)
sending: (http://www.cpan.org/authors/id/P/PM/PMQS/Compress-Raw-Bzip2-2.061.tar.gz, PMQS, Compress-Raw-Bzip2-2.061, PASS)
sending: (http://www.cpan.org/authors/id/P/PM/PMQS/Compress-Raw-Zlib-2.061.tar.gz, PMQS, Compress-Raw-Zlib-2.061, PASS)
sending: (http://www.cpan.org/authors/id/P/PM/PMQS/IO-Compress-2.061.tar.gz, PMQS, IO-Compress-2.061, PASS)
sending: (http://www.cpan.org/authors/id/H/HM/HMBRAND/Config-Perl-V-0.18.tgz, HMBRAND, Config-Perl-V-0.18, PASS)
sending: (http://www.cpan.org/authors/id/D/DA/DAGOLDEN/CPAN-Meta-2.131560.tar.gz, DAGOLDEN, CPAN-Meta-2.131560, PASS)
sending: (http://www.cpan.org/authors/id/B/BI/BINGOS/CPANPLUS-0.9138.tar.gz, BINGOS, CPANPLUS-0.9138, PASS)
sending: (http://www.cpan.org/authors/id/G/GA/GAAS/Data-Dump-1.22.tar.gz, GAAS, Data-Dump-1.22, PASS)
sending: (http://www.cpan.org/authors/id/P/PM/PMQS/DB_File-1.828.tar.gz, PMQS, DB_File-1.828, PASS)
sending: (http://www.cpan.org/authors/id/B/BI/BINGOS/ExtUtils-MakeMaker-6.68.tar.gz, BINGOS, ExtUtils-MakeMaker-6.68, PASS)
sending: (http://www.cpan.org/authors/id/J/JV/JV/Getopt-Long-2.40.tar.gz, JV, Getopt-Long-2.40, PASS)
Test::Reporter: error from 'Test::Reporter::Transport::Metabase:'
fact submission failed: Can't connect to metabase.cpantesters.org:443 at /Users/buss/perl5/perlbrew/perls/perl-5.16.3/lib/site_perl/5.16.3/Metabase/Client/Simple.pm line 100.
    Metabase::Client::Simple::submit_fact('Metabase::Client::Simple=HASH(0x7f91abe73e68)', 'CPAN::Testers::Report=HASH(0x7f91abe606e8)') called at /Users/buss/perl5/perlbrew/perls/perl-5.16.3/lib/site_perl/5.16.3/Test/Reporter/Transport/Metabase.pm line 132
    Test::Reporter::Transport::Metabase::send('Test::Reporter::Transport::Metabase=HASH(0x7f91abd40930)', 'Test::Reporter=HASH(0x7f91abe5ff08)') called at /Users/buss/perl5/perlbrew/perls/perl-5.16.3/lib/site_perl/5.16.3/Test/Reporter.pm line 271
    eval {...} called at /Users/buss/perl5/perlbrew/perls/perl-5.16.3/lib/site_perl/5.16.3/Test/Reporter.pm line 271
    Test::Reporter::send('Test::Reporter=HASH(0x7f91abe5ff08)') called at /Users/buss/perl5/perlbrew/perls/perl-5.16.3/lib/site_perl/5.16.3/App/cpanminus/reporter.pm line 260
    App::cpanminus::reporter::make_report('App::cpanminus::reporter=HASH(0x7f91ab828fa0)', 'http://www.cpan.org/authors/id/J/JV/JV/Getopt-Long-2.40.tar.gz', 'Getopt-Long-2.40', 'PASS', 'Building and testing Getopt-Long-2.40\x{a}', 'cp lib/Getopt/Long.pm blib/lib/Getopt/Long.pm\x{a}', 'cp lib/newgetopt.pl blib/lib/newgetopt.pl\x{a}', 'Manifying blib/man3/Getopt::Long.3\x{a}', 'PERL_DL_NONLAZY=1 /Users/buss/perl5/perlbrew/perls/perl-5.16....', ...) called at /Users/buss/perl5/perlbrew/perls/perl-5.16.3/lib/site_perl/5.16.3/App/cpanminus/reporter.pm line 183
    App::cpanminus::reporter::__ANON__('Getopt-Long-2.40', 'http://www.cpan.org/authors/id/J/JV/JV/Getopt-Long-2.40.tar.gz') called at /Users/buss/perl5/perlbrew/perls/perl-5.16.3/lib/site_perl/5.16.3/App/cpanminus/reporter.pm line 164
    App::cpanminus::reporter::__ANON__() called at /Users/buss/perl5/perlbrew/perls/perl-5.16.3/lib/site_perl/5.16.3/App/cpanminus/reporter.pm line 191
    App::cpanminus::reporter::run('App::cpanminus::reporter=HASH(0x7f91ab828fa0)') called at /Users/buss/perl5/perlbrew/perls/perl-5.16.3/bin/cpanm-reporter line 25

The strange thing is that it only failed after sending a few reports. Anyway, I think that maybe cpanm-reporter should catch the problem, signal that the sending failed and continue (or ask to) with other submissions? What you think Garu?

Not all installations are being reported now

Hi there, I'm doing this as part of the PR challenge.

There's a bug described in https://rt.cpan.org/Public/Bug/Display.html?id=103866

I believe this bug is actually in CPAN-Testers-Common-Client.

I'm looking at commit ffa25a4 and not finding anything out of place. It'd be nice if the history checking was opt-in instead of opt-out.

My belief is that the issue is in $client->duplicate. I'm justifying my belief on the basis that the only output ether saw was "sending: ", which is triggered around here:

if (!$self->skip_history && $client->is_duplicate) {

cpan-reporter 0.05 error.

Hi

My metabase_id.json file is at ~/.cpanreporter/metabase_id.json
But cpanm-reporter can't find metabase_id.json file.

$ cpanm  G/GA/GARU/App-cpanminus-reporter-0.05.tar.gz
--> Working on G/GA/GARU/App-cpanminus-reporter-0.05.tar.gz
Fetching http://www.cpan.org/authors/id/G/GA/GARU/App-cpanminus-reporter-0.05.tar.gz ... OK
Configuring App-cpanminus-reporter-0.05 ... OK
Building and testing App-cpanminus-reporter-0.05 ... OK
Successfully installed App-cpanminus-reporter-0.05
1 distribution installed

$ cpanm-reporter
Parsing /home/aero/.cpanm/latest-build/build.log...
sending: (http://www.cpan.org/authors/id/G/GA/GARU/App-cpanminus-reporter-0.05.tar.gz, GARU, App-cpanminus-reporter-0.05, PASS)
Test::Reporter: error from 'Test::Reporter::Transport::Metabase:'
Test::Reporter::Transport::Metabase: could not read ID file 'metabase_id.json'
No such file or directory at /home/aero/perl5/perlbrew/perls/perl-5.16/lib/site_perl/5.16.3/Test/Reporter/Transport/Metabase.pm line 138.
        Test::Reporter::Transport::Metabase::_load_id_file('Test::Reporter::Transport::Metabase=HASH(0x151269f8)') called at /home/aero/perl5/perlbrew/perls/perl-5.16/lib/site_perl/5.16.3/Test/Reporter/Transport/Metabase.pm line 77
        Test::Reporter::Transport::Metabase::send('Test::Reporter::Transport::Metabase=HASH(0x151269f8)', 'Test::Reporter=HASH(0x14f68560)') called at /home/aero/perl5/perlbrew/perls/perl-5.16/lib/site_perl/5.16.3/Test/Reporter.pm line 271
        eval {...} called at /home/aero/perl5/perlbrew/perls/perl-5.16/lib/site_perl/5.16.3/Test/Reporter.pm line 271
        Test::Reporter::send('Test::Reporter=HASH(0x14f68560)') called at /home/aero/perl5/perlbrew/perls/perl-5.16/lib/site_perl/5.16.3/App/cpanminus/reporter.pm line 267
        App::cpanminus::reporter::make_report('App::cpanminus::reporter=HASH(0x13ca6338)', 'http://www.cpan.org/authors/id/G/GA/GARU/App-cpanminus-report...', 'App-cpanminus-reporter-0.05', 'PASS', 'Building and testing App-cpanminus-reporter-0.05\x{a}', 'cp lib/App/cpanminus/reporter.pm blib/lib/App/cpanminus/repor...', 'cp bin/cpanm-reporter blib/script/cpanm-reporter\x{a}', '/home/aero/perl5/perlbrew/perls/perl-5.16/bin/perl -MExtUtils...', 'Manifying blib/man1/cpanm-reporter.1\x{a}', ...) called at /home/aero/perl5/perlbrew/perls/perl-5.16/lib/site_perl/5.16.3/App/cpanminus/reporter.pm line 184
        App::cpanminus::reporter::__ANON__('App-cpanminus-reporter-0.05', 'http://www.cpan.org/authors/id/G/GA/GARU/App-cpanminus-report...') called at /home/aero/perl5/perlbrew/perls/perl-5.16/lib/site_perl/5.16.3/App/cpanminus/reporter.pm line 165
        App::cpanminus::reporter::__ANON__() called at /home/aero/perl5/perlbrew/perls/perl-5.16/lib/site_perl/5.16.3/App/cpanminus/reporter.pm line 192
        App::cpanminus::reporter::run('App::cpanminus::reporter=HASH(0x13ca6338)') called at /home/aero/perl5/perlbrew/perls/perl-5.16/bin/cpanm-reporter line 18

"Parsing error, this should not happen, send us a report!"

5 distributions installed
Parsing error. This should not happen. Please send us a report! at /home/kent/perl5/perlbrew/perls/blead/bin/cpanm-reporter line 29.
 cpanm-reporter  -v
Parsing /home/kent/.cpanm/build.log...
entering Search-Elasticsearch-1.14, http://cpan.metacpan.org/authors/id/D/DR/DRTECH/Search-Elasticsearch-1.14.tar.gz
entering Log-Any-Adapter-0.11, http://cpan.metacpan.org/authors/id/J/JS/JSWARTZ/Log-Any-Adapter-0.11.tar.gz
entering Guard-1.022, http://cpan.metacpan.org/authors/id/M/ML/MLEHMANN/Guard-1.022.tar.gz
recording Guard-1.022
Parsing error. This should not happen. Please send us a report! at /home/kent/perl5/perlbrew/perls/blead/bin/cpanm-reporter line 29.

Probably related to the fact I chose "look", interactively fixed it by hand, and then exited out and hit 'retry' on cpanm.

cpanm (App::cpanminus) 1.7004 on perl 5.021003 built for x86_64-linux
Work directory is /home/kent/.cpanm/work/1408597013.317747
You have make /usr/bin/make
You have LWP 6.08
You have /bin/tar: tar (GNU tar) 1.28
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by John Gilmore and Jay Fenlason.
You have /usr/bin/unzip
Searching Search::Elasticsearch on cpanmetadb ...
--> Working on Search::Elasticsearch
Fetching http://cpan.metacpan.org/authors/id/D/DR/DRTECH/Search-Elasticsearch-1.14.tar.gz
-> OK
Fetching http://cpan.metacpan.org/authors/id/D/DR/DRTECH/CHECKSUMS
-> OK
Verifying the signature of CHECKSUMS
Verified OK!
Verifying the SHA1 for Search-Elasticsearch-1.14.tar.gz
Checksum for Search-Elasticsearch-1.14.tar.gz: Verified!
Unpacking Search-Elasticsearch-1.14.tar.gz
Entering Search-Elasticsearch-1.14
Checking configure dependencies from META.json
Checking if you have ExtUtils::MakeMaker 6.30 ... Yes (6.98)
Configuring Search-Elasticsearch-1.14
Running Makefile.PL
-> OK
Checking dependencies from MYMETA.json ...
Checking if you have Test::More 0.98 ... Yes (1.001003)
Checking if you have Any::URI::Escape 0 ... Yes (0.01)
Checking if you have HTTP::Tiny 0.043 ... Yes (0.047)
Checking if you have HTTP::Request 0 ... Yes (6.00)
Checking if you have Sub::Exporter 0 ... Yes (0.987)
Checking if you have Log::Any::Adapter 0 ... No
Checking if you have File::Temp 0 ... Yes (0.2304)
Checking if you have Encode 0 ... Yes (2.62)
Checking if you have Module::Runtime 0 ... Yes (0.014)
Checking if you have Time::HiRes 0 ... Yes (1.9726)
Checking if you have overload 0 ... Yes (1.22)
Checking if you have LWP::UserAgent 0 ... Yes (6.06)
Checking if you have Test::Pod 1.41 ... Yes (1.48)
Checking if you have Test::NoTabs 0 ... Yes (1.3)
Checking if you have IO::Uncompress::Inflate 0 ... Yes (2.064)
Checking if you have HTTP::Headers 0 ... Yes (6.05)
Checking if you have IO::Select 0 ... Yes (1.22)
Checking if you have Try::Tiny 0 ... Yes (0.22)
Checking if you have Hijk 0.12 ... Yes (0.13)
Checking if you have Moo::Role 0 ... Yes (1.006000)
Checking if you have MIME::Base64 0 ... Yes (3.14)
Checking if you have strict 0 ... Yes (1.08)
Checking if you have Log::Any 0 ... Yes (0.15)
Checking if you have JSON::PP 0 ... Yes (2.27203)
Checking if you have Scalar::Util 0 ... Yes (1.39)
Checking if you have lib 0 ... Yes (0.63)
Checking if you have Data::Dumper 0 ... Yes (2.152)
Checking if you have POSIX 0 ... Yes (1.42)
Checking if you have IO::Socket 0 ... Yes (1.37)
Checking if you have URI 0 ... Yes (1.64)
Checking if you have Moo 1.003 ... Yes (1.006000)
Checking if you have namespace::clean 0 ... Yes (0.25)
Checking if you have IO::Socket::SSL 0 ... Yes (1.997)
Checking if you have warnings 0 ... Yes (1.26)
Checking if you have List::Util 0 ... Yes (1.39)
Checking if you have Log::Any::Adapter::Callback 0 ... No
Checking if you have Test::Exception 0 ... Yes (0.32)
Checking if you have Test::Deep 0 ... Yes (0.112)
Checking if you have JSON::MaybeXS 1.002002 ... Yes (1.002002)
Checking if you have Mojo::IOLoop 0 ... Yes (undef)
Checking if you have Mojo::UserAgent 0 ... Yes (undef)
Checking if you have JSON::XS 0 ... Yes (3.01)
Checking if you have URI::Escape::XS 0 ... No
Checking if you have Cpanel::JSON::XS 0 ... Yes (3.0104)
==> Found dependencies: Log::Any::Adapter, Log::Any::Adapter::Callback, URI::Escape::XS
Searching Log::Any::Adapter on cpanmetadb ...
--> Working on Log::Any::Adapter
Fetching http://cpan.metacpan.org/authors/id/J/JS/JSWARTZ/Log-Any-Adapter-0.11.tar.gz
-> OK
Fetching http://cpan.metacpan.org/authors/id/J/JS/JSWARTZ/CHECKSUMS
-> OK
Verifying the signature of CHECKSUMS
Verified OK!
Verifying the SHA1 for Log-Any-Adapter-0.11.tar.gz
Checksum for Log-Any-Adapter-0.11.tar.gz: Verified!
Unpacking Log-Any-Adapter-0.11.tar.gz
Entering Log-Any-Adapter-0.11
Checking configure dependencies from META.json
Checking if you have ExtUtils::MakeMaker 6.30 ... Yes (6.98)
Configuring Log-Any-Adapter-0.11
Running Makefile.PL
-> OK
Checking dependencies from MYMETA.json ...
Checking if you have Capture::Tiny 0.12 ... Yes (0.25)
Checking if you have Devel::GlobalDestruction 0 ... Yes (0.13)
Checking if you have IO::File 0 ... Yes (1.16)
Checking if you have Guard 0 ... No
Checking if you have Test::More 0 ... Yes (1.001003)
Checking if you have Carp 0 ... Yes (1.34)
Checking if you have Log::Any 0 ... Yes (0.15)
==> Found dependencies: Guard
Searching Guard on cpanmetadb ...
--> Working on Guard
Fetching http://cpan.metacpan.org/authors/id/M/ML/MLEHMANN/Guard-1.022.tar.gz
-> OK
Fetching http://cpan.metacpan.org/authors/id/M/ML/MLEHMANN/CHECKSUMS
-> OK
Verifying the signature of CHECKSUMS
Verified OK!
Verifying the SHA1 for Guard-1.022.tar.gz
Checksum for Guard-1.022.tar.gz: Verified!
Unpacking Guard-1.022.tar.gz
Entering Guard-1.022
Checking configure dependencies from META.json
Checking if you have ExtUtils::MakeMaker 0 ... Yes (6.98)
Configuring Guard-1.022
Running Makefile.PL
-> OK
Checking dependencies from MYMETA.json ...
Checking if you have ExtUtils::MakeMaker 0 ... Yes (6.98)
Building and testing Guard-1.022
cp Guard.pm blib/lib/Guard.pm
Running Mkbootstrap for Guard ()
chmod 644 Guard.bs
/home/kent/perl5/perlbrew/perls/blead/bin/perl5.21.3 /home/kent/perl5/perlbrew/perls/blead/lib/5.21.3/ExtUtils/xsubpp  -typemap /home/kent/perl5/perlbrew/perls/blead/lib/5.21.3/ExtUtils/typemap  Guard.xs > Guard.xsc && mv Guard.xsc Guard.c
cc -c   -DPERL_HASH_FUNC_SDBM -DUSE_C_BACKTRACE_ON_ERROR -fwrapv -fno-strict-aliasing -pipe -fstack-protector -DUSE_C_BACKTRACE -g -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O3 -march=native -mtune=native -g -ggdb3   -DVERSION=\"1.022\" -DXS_VERSION=\"1.022\" -fPIC "-I/home/kent/perl5/perlbrew/perls/blead/lib/5.21.3/x86_64-linux/CORE"   Guard.c
Guard.xs: In function ‘XS_Guard_guard’:
Guard.xs:113:11: error: ‘PL_sv_objcount’ undeclared (first use in this function)
         ++PL_sv_objcount;
           ^
Guard.xs:113:11: note: each undeclared identifier is reported only once for each function it appears in
Makefile:326: recipe for target 'Guard.o' failed
make: *** [Guard.o] Error 1
Entering /home/kent/.cpanm/work/1408597013.317747/Guard-1.022 with /bin/bash
Running Mkbootstrap for Guard ()
chmod 644 Guard.bs
PERL_DL_NONLAZY=1 /home/kent/perl5/perlbrew/perls/blead/bin/perl5.21.3 "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00_load.t .... ok
t/01_scoped.t .. ok
t/02_guard.t ... ok
t/03_die.t ..... ok
All tests successful.
Files=4, Tests=33,  0 wallclock secs ( 0.04 usr  0.01 sys +  0.04 cusr  0.03 csys =  0.12 CPU)
Result: PASS
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/x86_64-linux/auto/Guard/Guard.so
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/x86_64-linux/Guard.pm
Appending installation info to /home/kent/perl5/perlbrew/perls/blead/lib/5.21.3/x86_64-linux/perllocal.pod
-> OK
Successfully installed Guard-1.022
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/x86_64-linux/.meta/Guard-1.022/MYMETA.json
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/x86_64-linux/.meta/Guard-1.022/install.json
Building and testing Log-Any-Adapter-0.11
cp lib/Log/Any/Adapter/Stdout.pm blib/lib/Log/Any/Adapter/Stdout.pm
cp lib/Log/Any/Adapter/File.pm blib/lib/Log/Any/Adapter/File.pm
cp lib/Log/Any/Adapter/FileScreenBase.pm blib/lib/Log/Any/Adapter/FileScreenBase.pm
cp lib/Log/Any/Manager.pm blib/lib/Log/Any/Manager.pm
cp lib/Log/Any/Adapter/Util.pm blib/lib/Log/Any/Adapter/Util.pm
cp lib/Log/Any/Adapter/Development.pod blib/lib/Log/Any/Adapter/Development.pod
cp lib/Log/Any/Adapter/Base.pm blib/lib/Log/Any/Adapter/Base.pm
cp lib/Log/Any/Adapter/Test/Memory.pm blib/lib/Log/Any/Adapter/Test/Memory.pm
cp lib/Log/Any/Adapter.pm blib/lib/Log/Any/Adapter.pm
cp lib/Log/Any/Adapter/Stderr.pm blib/lib/Log/Any/Adapter/Stderr.pm
PERL_DL_NONLAZY=1 /home/kent/perl5/perlbrew/perls/blead/bin/perl5.21.3 "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
# Testing Log::Any 0.15, Perl 5.021003, /home/kent/perl5/perlbrew/perls/blead/bin/perl5.21.3
t/00-load.t ..... ok
t/errors.t ...... ok
t/filescreen.t .. ok
t/import.t ...... ok
t/memory.t ...... ok
t/sprintf.t ..... ok
All tests successful.
Files=6, Tests=43,  0 wallclock secs ( 0.05 usr  0.02 sys +  0.30 cusr  0.08 csys =  0.45 CPU)
Result: PASS
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Log/Any/Manager.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Log/Any/Adapter.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Log/Any/Adapter/Util.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Log/Any/Adapter/FileScreenBase.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Log/Any/Adapter/File.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Log/Any/Adapter/Stderr.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Log/Any/Adapter/Development.pod
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Log/Any/Adapter/Base.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Log/Any/Adapter/Stdout.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Log/Any/Adapter/Test/Memory.pm
Appending installation info to /home/kent/perl5/perlbrew/perls/blead/lib/5.21.3/x86_64-linux/perllocal.pod
-> OK
Successfully installed Log-Any-Adapter-0.11
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/x86_64-linux/.meta/Log-Any-Adapter-0.11/MYMETA.json
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/x86_64-linux/.meta/Log-Any-Adapter-0.11/install.json
Searching Log::Any::Adapter::Callback on cpanmetadb ...
--> Working on Log::Any::Adapter::Callback
Fetching http://cpan.metacpan.org/authors/id/S/SH/SHARYANTO/Log-Any-Adapter-Callback-0.09.tar.gz
-> OK
Fetching http://cpan.metacpan.org/authors/id/S/SH/SHARYANTO/CHECKSUMS
-> OK
Verifying the signature of CHECKSUMS
Verified OK!
Verifying the SHA1 for Log-Any-Adapter-Callback-0.09.tar.gz
Checksum for Log-Any-Adapter-Callback-0.09.tar.gz: Verified!
Unpacking Log-Any-Adapter-Callback-0.09.tar.gz
Entering Log-Any-Adapter-Callback-0.09
Checking configure dependencies from META.json
Checking if you have ExtUtils::MakeMaker 6.30 ... Yes (6.98)
Configuring Log-Any-Adapter-Callback-0.09
Running Makefile.PL
-> OK
Checking dependencies from MYMETA.json ...
Checking if you have Log::Any::Adapter 0.11 ... Yes (0.11)
Checking if you have IO::Handle 0 ... Yes (1.35)
Checking if you have IPC::Open3 0 ... Yes (1.18)
Checking if you have Test::More 0.98 ... Yes (1.001003)
Checking if you have File::Spec 0 ... Yes (3.49)
Building and testing Log-Any-Adapter-Callback-0.09
cp lib/Log/Any/Adapter/Callback.pm blib/lib/Log/Any/Adapter/Callback.pm
PERL_DL_NONLAZY=1 /home/kent/perl5/perlbrew/perls/blead/bin/perl5.21.3 "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00-compile.t ............ ok
t/01-basics.t ............. ok
t/release-pod-coverage.t .. skipped: these tests are for release candidate testing
t/release-pod-syntax.t .... skipped: these tests are for release candidate testing
t/release-rinci.t ......... skipped: these tests are for release candidate testing
All tests successful.
Files=5, Tests=2,  0 wallclock secs ( 0.03 usr  0.01 sys +  0.17 cusr  0.06 csys =  0.27 CPU)
Result: PASS
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Log/Any/Adapter/Callback.pm
Appending installation info to /home/kent/perl5/perlbrew/perls/blead/lib/5.21.3/x86_64-linux/perllocal.pod
-> OK
Successfully installed Log-Any-Adapter-Callback-0.09
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/x86_64-linux/.meta/Log-Any-Adapter-Callback-0.09/MYMETA.json
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/x86_64-linux/.meta/Log-Any-Adapter-Callback-0.09/install.json
Searching URI::Escape::XS on cpanmetadb ...
--> Working on URI::Escape::XS
Fetching http://cpan.metacpan.org/authors/id/D/DA/DANKOGAI/URI-Escape-XS-0.12.tar.gz
-> OK
Fetching http://cpan.metacpan.org/authors/id/D/DA/DANKOGAI/CHECKSUMS
-> OK
Verifying the signature of CHECKSUMS
Verified OK!
Verifying the SHA1 for URI-Escape-XS-0.12.tar.gz
Checksum for URI-Escape-XS-0.12.tar.gz: Verified!
Unpacking URI-Escape-XS-0.12.tar.gz
Entering URI-Escape-XS-0.12
Checking configure dependencies from META.json
Checking if you have ExtUtils::MakeMaker 0 ... Yes (6.98)
Configuring URI-Escape-XS-0.12
Running Makefile.PL
-> OK
Checking dependencies from MYMETA.json ...
Checking if you have ExtUtils::MakeMaker 0 ... Yes (6.98)
Checking if you have Test::More 0 ... Yes (1.001003)
Building and testing URI-Escape-XS-0.12
cp lib/URI/Escape/XS.pm blib/lib/URI/Escape/XS.pm
Running Mkbootstrap for URI::Escape::XS ()
chmod 644 XS.bs
/home/kent/perl5/perlbrew/perls/blead/bin/perl5.21.3 /home/kent/perl5/perlbrew/perls/blead/lib/5.21.3/ExtUtils/xsubpp  -typemap /home/kent/perl5/perlbrew/perls/blead/lib/5.21.3/ExtUtils/typemap  XS.xs > XS.xsc && mv XS.xsc XS.c
cc -c   -DPERL_HASH_FUNC_SDBM -DUSE_C_BACKTRACE_ON_ERROR -fwrapv -fno-strict-aliasing -pipe -fstack-protector -DUSE_C_BACKTRACE -g -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O3 -march=native -mtune=native -g -ggdb3   -DVERSION=\"0.12\" -DXS_VERSION=\"0.12\" -fPIC "-I/home/kent/perl5/perlbrew/perls/blead/lib/5.21.3/x86_64-linux/CORE"   XS.c
rm -f blib/arch/auto/URI/Escape/XS/XS.so
cc  -shared -O3 -march=native -mtune=native -g -ggdb3 -L/usr/local/lib -fstack-protector XS.o  -o blib/arch/auto/URI/Escape/XS/XS.so    \
        \

chmod 755 blib/arch/auto/URI/Escape/XS/XS.so
/home/kent/perl5/perlbrew/perls/blead/bin/perl5.21.3 -MExtUtils::Command::MM -e 'cp_nonempty' -- XS.bs blib/arch/auto/URI/Escape/XS/XS.bs 644
Running Mkbootstrap for URI::Escape::XS ()
chmod 644 XS.bs
PERL_DL_NONLAZY=1 /home/kent/perl5/perlbrew/perls/blead/bin/perl5.21.3 "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
# Testing URI::Escape::XS 0.12, Perl 5.021003, /home/kent/perl5/perlbrew/perls/blead/bin/perl5.21.3
t/00-load.t ....... ok
t/01-compat.t ..... ok
t/02-basic.t ...... ok
t/03-hashu.t ...... ok
t/04-idn.t ........ ok
t/05-null.t ....... ok
t/06-nonstr.t ..... ok
t/boilerplate.t ... ok
t/pod-coverage.t .. ok
t/pod.t ........... ok
All tests successful.
Files=10, Tests=549,  1 wallclock secs ( 0.13 usr  0.03 sys +  0.51 cusr  0.12 csys =  0.79 CPU)
Result: PASS
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/x86_64-linux/auto/URI/Escape/XS/XS.so
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/x86_64-linux/URI/Escape/XS.pm
Appending installation info to /home/kent/perl5/perlbrew/perls/blead/lib/5.21.3/x86_64-linux/perllocal.pod
-> OK
Successfully installed URI-Escape-XS-0.12
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/x86_64-linux/.meta/URI-Escape-XS-0.12/MYMETA.json
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/x86_64-linux/.meta/URI-Escape-XS-0.12/install.json
Building and testing Search-Elasticsearch-1.14
cp lib/Search/Elasticsearch/Client/Direct/Cluster.pm blib/lib/Search/Elasticsearch/Client/Direct/Cluster.pm
cp lib/Search/Elasticsearch/Error.pm blib/lib/Search/Elasticsearch/Error.pm
cp lib/Search/Elasticsearch.pm blib/lib/Search/Elasticsearch.pm
cp lib/Search/Elasticsearch/CxnPool/Static/NoPing.pm blib/lib/Search/Elasticsearch/CxnPool/Static/NoPing.pm
cp lib/Search/Elasticsearch/Role/Client.pm blib/lib/Search/Elasticsearch/Role/Client.pm
cp lib/Search/Elasticsearch/Client/Direct/Snapshot.pm blib/lib/Search/Elasticsearch/Client/Direct/Snapshot.pm
cp lib/Search/Elasticsearch/Role/CxnPool.pm blib/lib/Search/Elasticsearch/Role/CxnPool.pm
cp lib/Search/Elasticsearch/Cxn/Hijk.pm blib/lib/Search/Elasticsearch/Cxn/Hijk.pm
cp lib/Search/Elasticsearch/Cxn/HTTPTiny.pm blib/lib/Search/Elasticsearch/Cxn/HTTPTiny.pm
cp lib/Search/Elasticsearch/Cxn/LWP.pm blib/lib/Search/Elasticsearch/Cxn/LWP.pm
cp lib/Search/Elasticsearch/Client/0_90/Direct.pm blib/lib/Search/Elasticsearch/Client/0_90/Direct.pm
cp lib/Search/Elasticsearch/Role/Cxn.pm blib/lib/Search/Elasticsearch/Role/Cxn.pm
cp lib/Search/Elasticsearch/Role/API.pm blib/lib/Search/Elasticsearch/Role/API.pm
cp lib/Search/Elasticsearch/Logger/LogAny.pm blib/lib/Search/Elasticsearch/Logger/LogAny.pm
cp lib/Search/Elasticsearch/Role/Bulk.pm blib/lib/Search/Elasticsearch/Role/Bulk.pm
cp lib/Search/Elasticsearch/CxnPool/Static.pm blib/lib/Search/Elasticsearch/CxnPool/Static.pm
cp lib/Search/Elasticsearch/Cxn/Factory.pm blib/lib/Search/Elasticsearch/Cxn/Factory.pm
cp lib/Search/Elasticsearch/Client/0_90/Direct/Cluster.pm blib/lib/Search/Elasticsearch/Client/0_90/Direct/Cluster.pm
cp lib/Search/Elasticsearch/Client/Direct/Indices.pm blib/lib/Search/Elasticsearch/Client/Direct/Indices.pm
cp lib/Search/Elasticsearch/Client/Direct.pm blib/lib/Search/Elasticsearch/Client/Direct.pm
cp lib/Search/Elasticsearch/Role/Client/Direct.pm blib/lib/Search/Elasticsearch/Role/Client/Direct.pm
cp lib/Search/Elasticsearch/Client/Direct/Cat.pm blib/lib/Search/Elasticsearch/Client/Direct/Cat.pm
cp lib/Search/Elasticsearch/Client/0_90/Direct/Indices.pm blib/lib/Search/Elasticsearch/Client/0_90/Direct/Indices.pm
cp lib/Search/Elasticsearch/Bulk.pm blib/lib/Search/Elasticsearch/Bulk.pm
cp lib/Search/Elasticsearch/CxnPool/Sniff.pm blib/lib/Search/Elasticsearch/CxnPool/Sniff.pm
cp lib/Search/Elasticsearch/Role/API/0_90.pm blib/lib/Search/Elasticsearch/Role/API/0_90.pm
cp lib/Search/Elasticsearch/Client/Direct/Nodes.pm blib/lib/Search/Elasticsearch/Client/Direct/Nodes.pm
cp lib/Search/Elasticsearch/Role/CxnPool/Sniff.pm blib/lib/Search/Elasticsearch/Role/CxnPool/Sniff.pm
cp lib/Search/Elasticsearch/Role/Cxn/HTTP.pm blib/lib/Search/Elasticsearch/Role/Cxn/HTTP.pm
cp lib/Search/Elasticsearch/Role/Is_Sync.pm blib/lib/Search/Elasticsearch/Role/Is_Sync.pm
cp lib/Search/Elasticsearch/TestServer.pm blib/lib/Search/Elasticsearch/TestServer.pm
cp lib/Search/Elasticsearch/Role/Transport.pm blib/lib/Search/Elasticsearch/Role/Transport.pm
cp lib/Search/Elasticsearch/Role/Serializer.pm blib/lib/Search/Elasticsearch/Role/Serializer.pm
cp lib/Search/Elasticsearch/Scroll.pm blib/lib/Search/Elasticsearch/Scroll.pm
cp lib/Search/Elasticsearch/Role/CxnPool/Static/NoPing.pm blib/lib/Search/Elasticsearch/Role/CxnPool/Static/NoPing.pm
cp lib/Search/Elasticsearch/Util/API/QS.pm blib/lib/Search/Elasticsearch/Util/API/QS.pm
cp lib/Search/Elasticsearch/Transport.pm blib/lib/Search/Elasticsearch/Transport.pm
cp lib/Search/Elasticsearch/Role/Scroll.pm blib/lib/Search/Elasticsearch/Role/Scroll.pm
cp lib/Search/Elasticsearch/Role/CxnPool/Static.pm blib/lib/Search/Elasticsearch/Role/CxnPool/Static.pm
cp lib/Search/Elasticsearch/Util/API/Path.pm blib/lib/Search/Elasticsearch/Util/API/Path.pm
cp lib/Search/Elasticsearch/Util.pm blib/lib/Search/Elasticsearch/Util.pm
cp lib/Search/Elasticsearch/Serializer/JSON.pm blib/lib/Search/Elasticsearch/Serializer/JSON.pm
cp lib/Search/Elasticsearch/Role/Logger.pm blib/lib/Search/Elasticsearch/Role/Logger.pm
cp lib/Search/Elasticsearch/Serializer/JSON/XS.pm blib/lib/Search/Elasticsearch/Serializer/JSON/XS.pm
cp lib/Search/Elasticsearch/Serializer/JSON/Cpanel.pm blib/lib/Search/Elasticsearch/Serializer/JSON/Cpanel.pm
cp lib/Search/Elasticsearch/Role/Serializer/JSON.pm blib/lib/Search/Elasticsearch/Role/Serializer/JSON.pm
cp lib/Search/Elasticsearch/Serializer/JSON/PP.pm blib/lib/Search/Elasticsearch/Serializer/JSON/PP.pm
PERL_DL_NONLAZY=1 /home/kent/perl5/perlbrew/perls/blead/bin/perl5.21.3 "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/10_Basic/*.t t/20_Serializer/*.t t/30_Logger/*.t t/40_Transport/*.t t/50_Cxn_Pool/*.t t/60_Cxn/*.t t/70_Helper/*.t t/90_Client_Spec/*.t
t/10_Basic/10_load.t .......................... ok
t/20_Serializer/10_load_cpanel.t .............. ok
t/20_Serializer/11_load_xs.t .................. ok
t/20_Serializer/12_load_pp.t .................. ok
t/20_Serializer/13_preload_cpanel.t ........... ok
t/20_Serializer/14_preload_xs.t ............... ok
t/20_Serializer/20_xs_encode_decode.t ......... ok
t/20_Serializer/21_xs_encode_bulk.t ........... ok
t/20_Serializer/22_xs_encode_pretty.t ......... ok
t/20_Serializer/30_cpanel_encode_decode.t ..... ok
t/20_Serializer/31_cpanel_encode_bulk.t ....... ok
t/20_Serializer/32_cpanel_encode_pretty.t ..... ok
t/20_Serializer/40_pp_encode_decode.t ......... ok
t/20_Serializer/41_pp_encode_bulk.t ........... ok
t/20_Serializer/42_pp_encode_pretty.t ......... ok
Current cxns: ['http://localhost:9200']
Forcing ping before next use on all live cxns
Ping [http://localhost:9200] before next request
t/30_Logger/10_explicit.t ..................... ok
Current cxns: ['http://localhost:9200']
Forcing ping before next use on all live cxns
Ping [http://localhost:9200] before next request
t/30_Logger/20_implicit.t ..................... ok
Redundant argument in sprintf at /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Log/Any/Adapter/Core.pm line 34.
Redundant argument in sprintf at /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Log/Any/Adapter/Core.pm line 34.
Redundant argument in sprintf at /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Log/Any/Adapter/Core.pm line 34.
Redundant argument in sprintf at /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Log/Any/Adapter/Core.pm line 34.
Redundant argument in sprintf at /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Log/Any/Adapter/Core.pm line 34.
Redundant argument in sprintf at /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Log/Any/Adapter/Core.pm line 34.
t/30_Logger/30_log_methods.t .................. ok
t/30_Logger/40_trace_request.t ................ ok
t/30_Logger/50_trace_response.t ............... ok
t/30_Logger/60_trace_error.t .................. ok
t/30_Logger/70_trace_comment.t ................ ok
t/40_Transport/10_tidy_request.t .............. ok
t/40_Transport/20_send_body_as.t .............. ok
t/40_Transport/30_perform_request.t ........... ok
t/50_Cxn_Pool/10_static_normal.t .............. ok
t/50_Cxn_Pool/11_static_node_missing.t ........ ok
t/50_Cxn_Pool/12_static_node_fails.t .......... ok
t/50_Cxn_Pool/13_static_node_timesout.t ....... ok
t/50_Cxn_Pool/14_static_both_nodes_timeout.t .. ok
t/50_Cxn_Pool/15_static_both_nodes_fail.t ..... ok
t/50_Cxn_Pool/16_static_nodes_starting.t ...... ok
t/50_Cxn_Pool/17_static_runaway_nodes.t ....... ok
t/50_Cxn_Pool/30_sniff_normal.t ............... ok
t/50_Cxn_Pool/31_sniff_new_nodes.t ............ ok
t/50_Cxn_Pool/32_sniff_node_fails.t ........... ok
t/50_Cxn_Pool/33_sniff_both_nodes_fail.t ...... ok
t/50_Cxn_Pool/34_sniff_node_timeout.t ......... ok
t/50_Cxn_Pool/35_sniff_both_nodes_timeout.t ... ok
t/50_Cxn_Pool/36_sniff_nodes_starting.t ....... ok
t/50_Cxn_Pool/37_sniff_runaway_nodes.t ........ ok
t/50_Cxn_Pool/38_bad_sniff.t .................. ok
t/50_Cxn_Pool/39_sniff_max_content.t .......... ok
t/50_Cxn_Pool/50_noping_normal.t .............. ok
t/50_Cxn_Pool/51_noping_node_fails.t .......... ok
t/50_Cxn_Pool/52_noping_node_timesout.t ....... ok
t/50_Cxn_Pool/53_noping_all_nodes_fail.t ...... ok
t/50_Cxn_Pool/54_noping_nodes_starting.t ...... ok
t/50_Cxn_Pool/55_noping_runaway_nodes.t ....... ok
t/50_Cxn_Pool/56_max_retries.t ................ ok
t/50_Cxn_Pool/70_live.t ....................... skipped: No Elasticsearch test node available
t/60_Cxn/10_basic.t ........................... ok
t/60_Cxn/20_process_response.t ................ ok
t/60_Cxn/30_http.t ............................ ok
t/60_Cxn/40_fork_httptiny.t ................... skipped: No Elasticsearch test node available
t/60_Cxn/41_fork_lwp.t ........................ skipped: No Elasticsearch test node available
t/60_Cxn/42_fork_hijk.t ....................... skipped: No Elasticsearch test node available
t/60_Cxn/43_fork_netcurl.t .................... skipped: No Elasticsearch test node available
t/70_Helper/10_bulk_add_action.t .............. skipped: No Elasticsearch test node available
t/70_Helper/20_bulk_helpers.t ................. skipped: No Elasticsearch test node available
t/70_Helper/30_bulk_flush.t ................... skipped: No Elasticsearch test node available
t/70_Helper/40_bulk_errors.t .................. skipped: No Elasticsearch test node available
t/70_Helper/50_scroll.t ....................... skipped: No Elasticsearch test node available
t/70_Helper/60_reindex.t ...................... skipped: No Elasticsearch test node available
t/90_Client_Spec/00_print_version.t ........... skipped: No Elasticsearch test node available
t/release-eol.t ............................... skipped: these tests are for release candidate testing
t/release-no-tabs.t ........................... skipped: these tests are for release candidate testing
t/release-pod-syntax.t ........................ skipped: these tests are for release candidate testing
All tests successful.
Files=68, Tests=488, 13 wallclock secs ( 0.31 usr  0.14 sys + 10.72 cusr  1.93 csys = 13.10 CPU)
Result: PASS
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Util.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Transport.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Bulk.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/TestServer.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Scroll.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Error.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Serializer/JSON.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Serializer/JSON/PP.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Serializer/JSON/Cpanel.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Serializer/JSON/XS.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Util/API/Path.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Util/API/QS.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Logger/LogAny.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/CxnPool/Static.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/CxnPool/Sniff.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/CxnPool/Static/NoPing.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Cxn/LWP.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Cxn/Hijk.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Cxn/HTTPTiny.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Cxn/Factory.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Role/Cxn.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Role/API.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Role/CxnPool.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Role/Transport.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Role/Bulk.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Role/Logger.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Role/Scroll.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Role/Serializer.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Role/Is_Sync.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Role/Client.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Role/Serializer/JSON.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Role/CxnPool/Static.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Role/CxnPool/Sniff.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Role/CxnPool/Static/NoPing.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Role/Cxn/HTTP.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Role/API/0_90.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Role/Client/Direct.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Client/Direct.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Client/Direct/Nodes.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Client/Direct/Cluster.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Client/Direct/Indices.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Client/Direct/Snapshot.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Client/Direct/Cat.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Client/0_90/Direct.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Client/0_90/Direct/Cluster.pm
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/Search/Elasticsearch/Client/0_90/Direct/Indices.pm
Appending installation info to /home/kent/perl5/perlbrew/perls/blead/lib/5.21.3/x86_64-linux/perllocal.pod
-> OK
Successfully installed Search-Elasticsearch-1.14
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/x86_64-linux/.meta/Search-Elasticsearch-1.14/MYMETA.json
Installing /home/kent/perl5/perlbrew/perls/blead/lib/site_perl/5.21.3/x86_64-linux/.meta/Search-Elasticsearch-1.14/install.json
5 distributions installed

cpanm-reporter sends a single report then exits

This is new behavior as of 5.38.0-RC1 or -RC2, I'm not sure which, but I've also just observed it on multiple machines while installing 5.38.0:

> plenv install-cpanm && cpanm App::cpanminus::reporter && cpanm Task::BeLike::GENEHACK
_many many MANY lines elided_
Successfully installed Task-BeLike-GENEHACK-0.402
416 distributions installed
sending: (http://www.cpan.org/authors/id/S/SH/SHANCOCK/Perl-Tidy-20230701.tar.gz, SHANCOCK, Perl-Tidy-20230701, PASS)

Exits with 0; running cpanm-reporter again does not send any additional reports. Observed on MacOS and Linux systems.

Bug when cpanm reports string missmatches between phases

I was wondering why BOBW/X86-Udis86-1.7.2.3.tar.gz didn't send a report

Parsing /home/kent/.cpanm/build.log...
entering X86-Udis86-1.7.2.3, http://www.cpan.org/authors/id/B/BO/BOBW/X86-Udis86-1.7.2.3.tar.gz
left X86-Udis86-1.7.2.3, http://www.cpan.org/authors/id/B/BO/BOBW/X86-Udis86-1.7.2.3.tar.gz
Finished.

^^ Huh. Thats weird.

After looking through the parser, I find that its these lines having different strings that cause a failure:

Note: No v

Unpacking X86-Udis86-1.7.2.3.tar.gz
Entering X86-Udis86-1.7.2.3

...
Note: v

Configuring X86-Udis86-v1.7.2.3
...
Building and testing X86-Udis86-v1.7.2.3
...
Successfully installed X86-Udis86-v1.7.2.3

But the code in reporter.pm is looking for lines without the v for the Building and testing parts, so it entirely misses the data :(

The cause is this:

 "version" : "v1.7.2.3"

This is correct per CPAN::Meta Specification.

However, cpanm reports the name of the tarball for the Entering statement, and uses the value of version from META.json from then on.

This means you're essentially relying the whole tarballs name exactly matching the distributions name + version, which is a somewhat flimsy assumption.

Error parsing module name from URL

Sometimes it is useful to use direct links to the tarball (from the recent page).
When using that, we get:

[ambs@stravinski tmp]$ cpanm -S http://cpan.metacpan.org/authors/id/A/AM/AMBS/Math/Math-GSL-0.30_5.tar.gz
--> Working on http://cpan.metacpan.org/authors/id/A/AM/AMBS/Math/Math-GSL-0.30_5.tar.gz
Fetching http://cpan.metacpan.org/authors/id/A/AM/AMBS/Math/Math-GSL-0.30_5.tar.gz ... OK
Configuring Math-GSL-0.30_5 ... OK
Building and testing Math-GSL-0.30_5 ... OK
Successfully installed Math-GSL-0.30_5
1 distribution installed
[ambs@stravinski tmp]$ cpanm-reporter
sending: (http://cpan.metacpan.org/authors/id/A/AM/AMBS/Math/Math-GSL-0.30_5.tar.gz, AMBS, Math-GSL-0.30_5, PASS)
Error while sending this report, continuing with the next one...
[ambs@stravinski tmp]$ cpanm-reporter -v
Parsing /Users/ambs/.cpanm/build.log...
entering Math-GSL-0.30_5, http://cpan.metacpan.org/authors/id/A/AM/AMBS/Math/Math-GSL-0.30_5.tar.gz
recording Math-GSL-0.30_5
sending: (http://cpan.metacpan.org/authors/id/A/AM/AMBS/Math/Math-GSL-0.30_5.tar.gz, AMBS, Math-GSL-0.30_5, PASS)
Error while sending this report, continuing with the next one...
DEBUG: Test::Reporter: error from 'Test::Reporter::Transport::Metabase:'
'Math/Math-GSL-0.30_5.tar.gz' can't be parsed as a CPAN distfile at /opt/perl/lib/site_perl/5.20.0/Metabase/Resource/cpan/distfile.pm line 72.
        Metabase::Resource::cpan::distfile::_validate_distfile(Metabase::Resource::cpan::distfile=HASH(0x7f88b9e0ffb0), "Math/Math-GSL-0.30_5.tar.gz") called at /opt/perl/lib/site_perl/5.20.0/Metabase/Resource/cpan/distfile.pm line 31
        Metabase::Resource::cpan::distfile::_init(Metabase::Resource::cpan::distfile=HASH(0x7f88b9e0ffb0)) called at /opt/perl/lib/site_perl/5.20.0/Metabase/Resource.pm line 83
        Metabase::Resource::new("Metabase::Resource", "cpan:///distfile/Math/Math-GSL-0.30_5.tar.gz") called at /opt/perl/lib/site_perl/5.20.0/Metabase/Fact.pm line 59
        Metabase::Fact::validate_resource(CPAN::Testers::Report=HASH(0x7f88ba18b568), "cpan:///distfile/Math/Math-GSL-0.30_5.tar.gz") called at /opt/perl/lib/site_perl/5.20.0/Metabase/Fact.pm line 142
        Metabase::Fact::_init_guts("CPAN::Testers::Report", HASH(0x7f88ba183af8)) called at /opt/perl/lib/site_perl/5.20.0/Metabase/Report.pm line 62
        Metabase::Report::open("CPAN::Testers::Report", "resource", "cpan:///distfile/Math/Math-GSL-0.30_5.tar.gz") called at /opt/perl/lib/site_perl/5.20.0/Test/Reporter/Transport/Metabase.pm line 99
        Test::Reporter::Transport::Metabase::send(Test::Reporter::Transport::Metabase=HASH(0x7f88bae73178), Test::Reporter=HASH(0x7f88bb97adb8)) called at /opt/perl/lib/site_perl/5.20.0/Test/Reporter.pm line 271
        eval {...} called at /opt/perl/lib/site_perl/5.20.0/Test/Reporter.pm line 271
        Test::Reporter::send(Test::Reporter=HASH(0x7f88bb97adb8)) called at /opt/perl/lib/site_perl/5.20.0/App/cpanminus/reporter.pm line 314
        App::cpanminus::reporter::try {...} () called at /opt/perl/lib/site_perl/5.20.0/Try/Tiny.pm line 81
        eval {...} called at /opt/perl/lib/site_perl/5.20.0/Try/Tiny.pm line 72
        Try::Tiny::try(CODE(0x7f88bb98cf38), Try::Tiny::Catch=REF(0x7f88bb975f38)) called at /opt/perl/lib/site_perl/5.20.0/App/cpanminus/reporter.pm line 319
        App::cpanminus::reporter::make_report(App::cpanminus::reporter=HASH(0x7f88b9af95c8), "http://cpan.metacpan.org/authors/id/A/AM/AMBS/Math/Math-GSL-0"..., "Math-GSL-0.30_5", "PASS", "Building and testing Math-GSL-0.30_5\x{a}", "Building Math-GSL\x{a}", "Process XS files version 1.16 (GSL version 1.16)\x{a}", "xs/BLAS_wrap.1.16.c:3824:11: warning: variable 'arg2' is unin"..., "      if (arg2) free(arg2);\x{a}", ...) called at /opt/perl/lib/site_perl/5.20.0/App/cpanminus/reporter.pm line 235
        App::cpanminus::reporter::__ANON__("Math-GSL-0.30_5", "http://cpan.metacpan.org/authors/id/A/AM/AMBS/Math/Math-GSL-0"...) called at /opt/perl/lib/site_perl/5.20.0/App/cpanminus/reporter.pm line 206
        App::cpanminus::reporter::__ANON__() called at /opt/perl/lib/site_perl/5.20.0/App/cpanminus/reporter.pm line 243
        App::cpanminus::reporter::run(App::cpanminus::reporter=HASH(0x7f88b9af95c8)) called at /opt/perl/bin/cpanm-reporter line 25

left Math-GSL-0.30_5, http://cpan.metacpan.org/authors/id/A/AM/AMBS/Math/Math-GSL-0.30_5.tar.gz
Finished.

Parsing error: Found $SOMETHING without fetching first

[sorry if the formatting is rubbish - I didn't preview before sending, and can't preview while editing now]

I ran cpanm from an unpacked (source) directory:

  C:\Users\mark\src\sys-cmd>cpanm --installdeps --with-develop .                  
  --> Working on .                                                                
  Configuring C:/Users/mark/src/sys-cmd ... OK                                    
  ==> Found dependencies: Log::Any                                                
  --> Working on Log::Any                                                         
  Fetching http://www.cpan.org/authors/id/J/JS/JSWARTZ/Log-Any-0.15.tar.gz ... OK 
  Configuring Log-Any-0.15 ... OK                                                 
  Building and testing Log-Any-0.15 ... OK                                        
  Successfully installed Log-Any-0.15                                             
  <== Installed dependencies for .. Finishing.                                    
  1 distribution installed                                                        

Running cpanm-reporter afterwards resulting in the following:

  C:\Users\mark\src\sys-cmd>cpanm-reporter
  Parsing error. Found 'C:/Users/mark/src/sys-cmd' without fetching first. at C:\strawberry\perl\site  \bin/cpanm-reporter line 26.

The contents of the build.log file were as follows:

  panm (App::cpanminus) 1.7001 on perl 5.018002 built for MSWin32-x86-multithread-64int                                                                         
  Work directory is C:\Users\mark/.cpanm/work/1409924271.1416                     
  You have make C:\strawberry\c\bin\dmake.exe                                     
  You have LWP 6.05                                                               
  You have "C:\Program Files (x86)\Git\bin\tar.exe", "C:\Program Files (x86)\Git\b
  in\gzip.exe" and "C:\Program Files (x86)\Git\bin\bzip2.exe"                     
  You have "C:\Program Files (x86)\Git\bin\unzip.exe"                             
  --> Working on .                                                                
  Entering C:/Users/mark/src/sys-cmd                                              
  Configuring C:/Users/mark/src/sys-cmd                                           
  -> OK                                                                           
  Checking if you have Log::Any 0 ... No                                          
  Checking if you have IO::Handle 0 ... Yes (1.34)                                
  Checking if you have POSIX 0 ... Yes (1.32)                                     
  Checking if you have File::Which 0 ... Yes (1.09)                               
  Checking if you have Carp 0 ... Yes (1.3301)                                    
  Checking if you have Test::More 0 ... Yes (1.001003)                            
  Checking if you have File::chdir 0 ... Yes (0.1008)                             
  Checking if you have Data::Dumper 0 ... Yes (2.151)                             
  Checking if you have Exporter::Tidy 0 ... Yes (0.07)                            
  Checking if you have File::Spec 0 ... Yes (3.40)                                
  Checking if you have File::Temp 0 ... Yes (0.2304)                              
  Checking if you have Cwd 0 ... Yes (3.40)                                       
  ==> Found dependencies: Log::Any 

I'm guess that the parsing is expecting everything to be downloaded, instead of running cpanm on something which is already unpacked.

unable to differentiate actual tests and fake tests being printed inside tests

(originally submitted by @karenetheridge on RT#100337)

CPAN.pm has tests that output "Result: PASS", which are parsed by cpanm-reporter as PASS even if the test itself fails.

$ cpanm --mirror-only --mirror http://mirrors.gossamer-threads.com/CPAN/ CPAN; cpanm-reporter
CPAN
--> Working on CPAN
Fetching http://mirrors.gossamer-threads.com/CPAN/authors/id/A/AN/ANDK/CPAN-2.05.tar.gz ... OK
Configuring CPAN-2.05 ... OK
Building and testing CPAN-2.05 ... FAIL
! Installing CPAN failed. See /Users/ether/.cpanm/work/1415990050.50326/build.log for details. Retry with --force to force install it.
sending: (http://mirrors.gossamer-threads.com/CPAN/authors/id/A/AN/ANDK/CPAN-2.05.tar.gz, ANDK, CPAN-2.05, PASS)

Support any URL (including file:///) if it has an author in it?

Similar to #13 -- would it be possible to support sending reports for any source URL, as long as it is in the form of G/GA/GARU/App-cpanminus-reporter-0.123.tar.gz (or even just GARU/App-...)? This would make it possible for reports to be sent for local archived tarballs, as long as they were organized into the proper directory structure.

It would also let me eliminate this nasty hacky code :) -- https://metacpan.org/source/ETHER/Dist-Zilla-PluginBundle-Author-ETHER-0.069/lib/Dist/Zilla/PluginBundle/Author/ETHER.pm#L250

Missing 3 git tags

I have a checkout of this repository which I believe is up-to-date. Assuming that each CPAN release should have a git tag, there appear to be 3 missing tags.

$ git tag
0.02
...
0.15
0.19
0.20

The missing tags (0.16, 0.17, 0.18) would probably correspond to these releases documented in Changes.

0.18  2023-01-23
    OTHER:
      - reduced prereq tree by switching from File::HomeDir to
        File::HomeDir::Tiny.
 
0.17 2016-04-24
    BUG FIXES:
        - fixed support for extended paths on Windows
          (thanks Mithaldu and Sinan Unur)
 
0.16 2016-04-24
    NEW FEATURES:
        - exposes extra environment variables
    OTHER:
        - bumping up CTCC dependency
        - minor refactoring

Would it be possible to add these tags?

I ask because once I've locally installed something like version 0.19, I'm starting to get test failures in my CPAN distro CPAN-cpanminus-reporter-RetainReports, which has a dependency on App-cpanminus-reporter. These test failures are also appearing in CPANtesters reports where the tester has upgraded to 0.19 or 0.20. Having the tags would help in identifying the point where my tests began to break and point the way to revisions in my tests.

Thank you very much.
Jim Keenan

Failure on Strawberry Perl: unknown argument 'and'

Configuring OptArgs-0.1.10 ... OK
Building and testing OptArgs-0.1.10 ... OK
Successfully installed OptArgs-0.1.10
1 distribution installed
bash.exe"-3.1$ cpanm-reporter -v
Parsing C:\Documents and Settings\mark\.cpanm\build.log...
entering OptArgs-0.1.10, http://www.cpan.org/authors/id/M/ML/MLAWREN/OptArgs-0.1
.10.tar.gz
recording OptArgs-0.1.10
sending: (http://www.cpan.org/authors/id/M/ML/MLAWREN/OptArgs-0.1.10.tar.gz, MLA
WREN, OptArgs-0.1.10, PASS)
Error while sending this report, continuing with the next one...
DEBUG: Test::Reporter::Transport::Metabase unknown argument 'and'
 at c:/strawberry/perl/site/lib/Test/Reporter/Transport/Metabase.pm line 58.
        Test::Reporter::Transport::Metabase::new("Test::Reporter::Transport::Met
abase", "uri", "https://metabase.cpantesters.org/api/v1/", "id_file", "C:\\Docum
ents", "and", "Settings\\mark\\.cpanreporter\\metabase_id.json") called at c:/st
rawberry/perl/site/lib/Test/Reporter.pm line 269
        Test::Reporter::send(Test::Reporter=HASH(0x1f9e80c)) called at c:/strawb
erry/perl/site/lib/App/cpanminus/reporter.pm line 314
        App::cpanminus::reporter::try {...} () called at c:/strawberry/perl/vend
or/lib/Try/Tiny.pm line 81
        eval {...} called at c:/strawberry/perl/vendor/lib/Try/Tiny.pm line 72
        Try::Tiny::try(CODE(0x1f830ec), Try::Tiny::Catch=REF(0x1f68f1c)) called
at c:/strawberry/perl/site/lib/App/cpanminus/reporter.pm line 319
        App::cpanminus::reporter::make_report(App::cpanminus::reporter=HASH(0x1b
8d554), "http://www.cpan.org/authors/id/M/ML/MLAWREN/OptArgs-0.1.10.ta"..., "Opt
Args-0.1.10", "PASS", "Building and testing OptArgs-0.1.10\x{a}", "cp lib/OptArg
s.pm blib\\lib\\OptArgs.pm\x{a}", "cp lib/OptArgs.pod blib\\lib\\OptArgs.pod\x{a
}", "cp lib/App/optargs.pm blib\\lib\\App\\optargs.pm\x{a}", "C:\\strawberry\\pe
rl\\bin\\perl.exe \"-Iinc\" -MExtUtils::Command -"..., ...) called at c:/strawbe
rry/perl/site/lib/App/cpanminus/reporter.pm line 235
        App::cpanminus::reporter::__ANON__("OptArgs-0.1.10", "http://www.cpan.or
g/authors/id/M/ML/MLAWREN/OptArgs-0.1.10.ta"...) called at c:/strawberry/perl/si
te/lib/App/cpanminus/reporter.pm line 206
        App::cpanminus::reporter::__ANON__() called at c:/strawberry/perl/site/l
ib/App/cpanminus/reporter.pm line 243
        App::cpanminus::reporter::run(App::cpanminus::reporter=HASH(0x1b8d554))
called at c:/strawberry/perl/site/bin/cpanm-reporter line 22
left OptArgs-0.1.10, http://www.cpan.org/authors/id/M/ML/MLAWREN/OptArgs-0.1.10.
tar.gz
Finished.

Parsing error.

$ cpanm T/TO/TOKUHIROM/Minilla-v0.3.1.tar.gz
--> Working on T/TO/TOKUHIROM/Minilla-v0.3.1.tar.gz
Fetching http://www.cpan.org/authors/id/T/TO/TOKUHIROM/Minilla-v0.3.1.tar.gz ... OK
Configuring Minilla-v0.3.1 ... OK
Building and testing Minilla-v0.3.1 ... OK
Successfully installed Minilla-v0.3.1
1 distribution installed

$ cpanm-reporter
Parsing /home/aero/.cpanm/latest-build/build.log...
Parsing error. Found '/tmp/XC7vSbmFXh/Acme-FooXS' without fetching first. at /home/aero/perl5/perlbrew/perls/perl-5.16/bin/cpanm-reporter line 18.

build.log

cpanm (App::cpanminus) 1.6909 on perl 5.016003 built for x86_64-linux-thread-multi
Work directory is /home/aero/.cpanm/work/1367493899.9723
You have make /usr/bin/make
You have LWP 6.05
You have /bin/tar: tar (GNU tar) 1.15.1
You have /usr/bin/unzip
--> Working on .
Entering /tmp/XC7vSbmFXh/Acme-FooXS
Checking configure dependencies from META.json
Checking if you have CPAN::Meta 0 ... Yes (2.130880)
Checking if you have Module::Build 0.38 ... Yes (0.4005)
Checking if you have CPAN::Meta::Prereqs 0 ... Yes (2.130880)
Configuring Acme-FooXS-v0.1.0
-> OK
Checking if you have Test::More 0.98 ... Yes (0.98)
<== Installed dependencies for .. Finishing.

Setup

Maybe it would help if there are some hints for the setup.
People already testing have no problems, but new people will run into error messages.

I never created testreports before and I found the instructions here quite bad: http://wiki.cpantesters.org/wiki/QuickStart

Most steps in the QuickStart failed for me and it took me quite some work to get this now up and running with cpanm-reporter. At least before cpanm-reporter I directly gave up and ended in not-submitting-tests :-P

What I needed to do:

  1. Run metabase-profile and copy to ~/.cpantesters/metabase_id.json

  2. Create ~/.cpanreporter/config.ini by hand (copy from QuickStart) since following the advice in the QuickStart did not generate it.

  3. Change https in the config.ini to http, because SSL stuff fails on my machine and I didn't find any howtos yet that helped me fix this.

Maybe there could be some words about this stuff in the docs, or at least a hint or a link to what is needed..? I can also write it for you if you like.

error opening build log file

cpan-reporter dies with the following error:

error opening build log file 'C:\Users\Nathan\Desktop\strawberry-perl-5.18.1.1-64bit-portable\data\.cpanm\build.log' for reading: No such file or directory at C:\Users\Nathan\Desktop\strawberry-perl-5.18.1.1-64bit-portable\perl\site\bin/cpanm-reporter line 22.

I'm using Strawberry Perl Portable, 5.18.1.1. I zipped up my .cpanm folder (minus the sources folder) here.

Why is cpanm-reporter failing to report on this distro?

cpanm-reporter is failing to generate a report for a CPAN distribution which fails to install because two of its prerequisites fail to install. I would think that cpanm-reporter would generate a report in this case, so I'm puzzled as to why it is failing to do so.

My Procedure

  • I installed Perl 5 blead (commit d2e38af7) for testing purposes and installed cpanm against that perl. (I can supply you with the shell script I use for this purpose upon request.)

  • For readability, I renamed the directory under which perl was installed to reporter, i.e.:

      /home/jkeenan/testing/reporter/bin/perl
                                     bin/cpanm
                                     .cpanm/
                                     lib/
    

    I then created a symlink named d2e38af7 to reporter. (This was needed so that bin/cpanm did not get confused as to its perl interpreter.)

  • I created a .cpanreporter directory and set some environmental variables.

      $ mkdir .cpanreporter
      $ export PERL_CPANM_HOME=/home/jkeenan/testing/reporter/.cpanm
      $ export PERL_CPAN_REPORTER_DIR=/home/jkeenan/testing/reporter/.cpanreporter
    
  • I installed App::cpanminus::reporter using bin/cpanm.

      $ ./bin/cpanm App::cpanminus::reporter
    
  • I setup cpanm-reporter using defaults and copying an already existing metabase_id.json into .cpanreporter/.

      $ ./bin/cpanm-reporter --setup
    
  • I used bin/cpanm to install some modules, then used cpanm-reporter to generate and transmit reports. Because my cpanm is not located directly underneath my home directory, I created an alias to get a shorter version of the cpanm-reporter invocation.

      $ ./bin/cpanm Text::CSV_XS
      $ alias cpanm-reporter="./bin/cpanm-reporter --build_dir=$PERL_CPANM_HOME"
      $ cpanm-reporter
    
  • I verified that reports had been generated and transmitted.

      $ grep -n 'Text-CSV_XS' .cpanreporter/reports-sent.db
      4:test PASS Text-CSV_XS-1.34 (perl-5.27.8) x86_64-linux 4.4.0-104-generic
    
  • I went to fast-matrix.cpantesters.org and verified that my report had been received. (My report is the one dated 2017-12-24 15:05.)

  • From other information I had reason to believe that CPAN distribution Data-Thunk would fail to install against blead (or, for that matter, against perl-5.26) because two of its prerequisites, Data-Swap and UNIVERSAL-ref, would fail to install. I installed some, but not all, of its prerequisites and then tried Data-Thunk.

      $ ./bin/cpanm Data::Thunk
    

    Here are excerpts from the build.log for that run. I have trimmed out lines pertaining to modules which installed successfully.

      cpanm (App::cpanminus) 1.7043 on perl 5.027008 built for x86_64-linux
      Work directory is /home/jkeenan/testing/reporter/.cpanm/work/1514128817.1627
      You have make /usr/bin/make
      You have LWP 6.31
      You have /bin/tar: tar (GNU tar) 1.28
      Copyright (C) 2014 Free Software Foundation, Inc.
      License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
      This is free software: you are free to change and redistribute it.
      There is NO WARRANTY, to the extent permitted by law.
    
      Written by John Gilmore and Jay Fenlason.
      You have /usr/bin/unzip
      Searching Data::Thunk () on cpanmetadb ...
      --> Working on Data::Thunk
      Fetching http://www.cpan.org/authors/id/F/FL/FLORA/Data-Thunk-0.07.tar.gz
      -> OK
      Unpacking Data-Thunk-0.07.tar.gz
      Entering Data-Thunk-0.07
      Checking configure dependencies from META.json
      Checking if you have ExtUtils::MakeMaker 6.58 ... Yes (7.30)
      Configuring Data-Thunk-0.07
      Running Makefile.PL
      Warning: prerequisite Check::ISA 0 not found.
      Warning: prerequisite Data::Swap 0 not found.
      Warning: prerequisite Devel::Refcount 0 not found.
      Warning: prerequisite UNIVERSAL::ref 0 not found.
      Warning: prerequisite namespace::clean 0 not found.
      Checking if your kit is complete...
      Looks good
      Generating a Unix-style Makefile
      Writing Makefile for Data::Thunk
      Writing MYMETA.yml and MYMETA.json
      -> OK
      Checking dependencies from MYMETA.json ...
      Checking if you have overload 0 ... Yes (1.29)
      Checking if you have Carp 0 ... Yes (1.45)
      Checking if you have B 0 ... Yes (1.73)
      Checking if you have Test::More 0.89 ... Yes (1.302120)
      Checking if you have Check::ISA 0 ... No
      Checking if you have Devel::Refcount 0 ... No
      Checking if you have Data::Swap 0 ... No
      Checking if you have Sub::Exporter 0 ... Yes (0.987)
      Checking if you have UNIVERSAL::ref 0 ... No
      Checking if you have Try::Tiny 0 ... Yes (0.30)
      Checking if you have Scalar::Util 0 ... Yes (1.49)
      Checking if you have namespace::clean 0 ... No
      Checking if you have ok 0 ... Yes (1.302120)
      ==> Found dependencies: Check::ISA, Devel::Refcount, Data::Swap, UNIVERSAL::ref, namespace::clean
      Searching Check::ISA (0) on cpanmetadb ...
      --> Working on Check::ISA
      Fetching http://www.cpan.org/authors/id/M/MA/MANWAR/Check-ISA-0.09.tar.gz
      [snip]
      Successfully installed Check-ISA-0.09
      [snip]
      --> Working on Devel::Refcount
      Fetching http://www.cpan.org/authors/id/P/PE/PEVANS/Devel-Refcount-0.10.tar.gz
      [snip]
      Successfully installed Devel-Refcount-0.10
      [snip]
      --> Working on Data::Swap
      Fetching http://www.cpan.org/authors/id/X/XM/XMATH/Data-Swap-0.08.tar.gz
      -> OK
      Unpacking Data-Swap-0.08.tar.gz
      Entering Data-Swap-0.08
      Checking configure dependencies from META.yml
      Configuring Data-Swap-0.07
      Running Makefile.PL
      Checking if your kit is complete...
      Looks good
      Generating a Unix-style Makefile
      Writing Makefile for Data::Swap
      Writing MYMETA.yml and MYMETA.json
      -> OK
      Checking dependencies from MYMETA.json ...
      Checking if you have ExtUtils::MakeMaker 0 ... Yes (7.30)
      Building and testing Data-Swap-0.07
      cp lib/Data/Swap.pm blib/lib/Data/Swap.pm
      Running Mkbootstrap for Swap ()
      chmod 644 "Swap.bs"
      "/home/jkeenan/testing/reporter/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Swap.bs blib/arch/auto/Data/Swap/Swap.bs 644
      "/home/jkeenan/testing/reporter/bin/perl" "/home/jkeenan/testing/d2e38af7/lib/perl5/5.27.8/ExtUtils/xsubpp"  -typemap '/home/jkeenan/testing/d2e38af7/lib/perl5/5.27.8/ExtUtils/typemap'  Swap.xs > Swap.xsc
      mv Swap.xsc Swap.c
      cc -c   -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2   -DVERSION=\"0.08\" -DXS_VERSION=\"0.08\" -fPIC "-I/home/jkeenan/testing/d2e38af7/lib/perl5/5.27.8/x86_64-linux/CORE"   Swap.c
      rm -f blib/arch/auto/Data/Swap/Swap.so
      cc  -shared -O2 -L/usr/local/lib -fstack-protector-strong  Swap.o  -o blib/arch/auto/Data/Swap/Swap.so  \
            \
    
      chmod 755 blib/arch/auto/Data/Swap/Swap.so
      "/home/jkeenan/testing/reporter/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Swap.bs blib/arch/auto/Data/Swap/Swap.bs 644
      PERL_DL_NONLAZY=1 "/home/jkeenan/testing/reporter/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
      #     Failed test (t/01_deref.t at line 62)
      #                   undef
      #     doesn't match '(?^:^Tie::StdArray=ARRAY\(0x[0-9A-Fa-f]+\)\z)'
      # Looks like you failed 1 tests of 13.
      t/01_deref.t ..
      Dubious, test returned 1 (wstat 256, 0x100)
      Failed 1/13 subtests
      t/02_swap.t ... ok
    
      Test Summary Report
      -------------------
      t/01_deref.t (Wstat: 256 Tests: 13 Failed: 1)
        Failed test:  13
        Non-zero exit status: 1
      Files=2, Tests=33,  0 wallclock secs ( 0.02 usr  0.00 sys +  0.04 cusr  0.00 csys =  0.06 CPU)
      Result: FAIL
      Failed 1/2 test programs. 1/33 subtests failed.
      Makefile:949: recipe for target 'test_dynamic' failed
      make: *** [test_dynamic] Error 255
      -> FAIL Installing Data::Swap failed. See /home/jkeenan/testing/reporter/.cpanm/work/1514128817.1627/build.log for details. Retry with --force to force install it.
      Searching UNIVERSAL::ref (0) on cpanmetadb ...
      --> Working on UNIVERSAL::ref
      Fetching http://www.cpan.org/authors/id/J/JJ/JJORE/UNIVERSAL-ref-0.14.tar.gz
      -> OK
      Unpacking UNIVERSAL-ref-0.14.tar.gz
      Entering UNIVERSAL-ref-0.14
      Checking configure dependencies from META.yml
      Checking if you have ExtUtils::MakeMaker 6.58 ... Yes (7.30)
      Configuring UNIVERSAL-ref-0.14
      Running Makefile.PL
      Checking if your kit is complete...
      Looks good
      Generating a Unix-style Makefile
      Writing Makefile for UNIVERSAL::ref
      Writing MYMETA.yml and MYMETA.json
      -> OK
      Checking dependencies from MYMETA.json ...
      Checking if you have B 0 ... Yes (1.73)
      Checking if you have B::Utils 0 ... Yes (0.27)
      Checking if you have Test::More 0 ... Yes (1.302120)
      Checking if you have overload 0 ... Yes (1.29)
      Checking if you have XSLoader 0 ... Yes (0.29)
      Building and testing UNIVERSAL-ref-0.14
      cp lib/UNIVERSAL/ref.pm blib/lib/UNIVERSAL/ref.pm
      Running Mkbootstrap for ref ()
      chmod 644 "ref.bs"
      "/home/jkeenan/testing/reporter/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- ref.bs blib/arch/auto/UNIVERSAL/ref/ref.bs 644
      "/home/jkeenan/testing/reporter/bin/perl" "/home/jkeenan/testing/d2e38af7/lib/perl5/5.27.8/ExtUtils/xsubpp"  -typemap '/home/jkeenan/testing/d2e38af7/lib/perl5/5.27.8/ExtUtils/typemap' -typemap '/home/jkeenan/testing/reporter/.cpanm/work/1514128817.1627/UNIVERSAL-ref-0.14/typemap'  ref.xs > ref.xsc
      mv ref.xsc ref.c
      cc -c   -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2   -DVERSION=\"0.14\" -DXS_VERSION=\"0.14\" -fPIC "-I/home/jkeenan/testing/d2e38af7/lib/perl5/5.27.8/x86_64-linux/CORE"   ref.c
      ref.xs: In function ‘universal_ref_fixupop’:
      ref.xs:92:9: error: ‘OP {aka struct op}’ has no member named ‘op_sibling’
         if ( o->op_sibling ) {
               ^
      ref.xs:94:28: error: ‘OP {aka struct op}’ has no member named ‘op_sibling’
           universal_ref_fixupop(o->op_sibling);
                                  ^
      Makefile:333: recipe for target 'ref.o' failed
      make: *** [ref.o] Error 1
      -> FAIL Installing UNIVERSAL::ref failed. See /home/jkeenan/testing/reporter/.cpanm/work/1514128817.1627/build.log for details. Retry with --force to force install it.
      Searching namespace::clean (0) on cpanmetadb ...
      --> Working on namespace::clean
      Fetching http://www.cpan.org/authors/id/R/RI/RIBASUSHI/namespace-clean-0.27.tar.gz
      [snip]
      Successfully installed namespace-clean-0.27
      [snip]
      -> FAIL Installing the dependencies failed: Module 'UNIVERSAL::ref' is not installed, Module 'Data::Swap' is not installed
      -> FAIL Bailing out the installation for Data-Thunk-0.07.
      13 distributions installed
    

    The failures in Data-Swap and UNIVERSAL-ref first appeared in the 5.25.* development cycle and have not been corrected to date. Note that Data-Swap failed during make test while UNIVERSAL-ref failed during make.

  • I then ran cpanm-reporter again and inspected the results.

      $ cpanm-reporter
      $ $ ack '(Data-Swap|UNIVERSAL-ref|Data-Thunk)'   .cpanreporter/reports-sent.db
      test NA Data-Swap-0.08 (perl-5.27.8) x86_64-linux 4.4.0-104-generic
      test FAIL UNIVERSAL-ref-0.14 (perl-5.27.8) x86_64-linux 4.4.0-104-generic
    

    Note the following:

    • 1 Data-Swap was graded NA by cpanm-reporter despite being graded FAIL by the harness.
    • 2 UNIVERSAL-ref was graded FAIL.
    • 3 Most importantly, no report was generated for Data-Thunk, even though that was the only module specifically passed to bin/cpanm.

    I somewhat understand items 1 and 2 but was very surprised by item 3.

Thoughts

I would have expected a report to be generated for Data-Thunk, even if that report only said something to the effect that its prerequisites were not satisfied.

Now, I recognize that this is not just a problem with cpanm-reporter. If you go to the matrix, you see that there have been no reports generated for Data-Thunk later than perl-5.25.1 -- not even NA or UNKNOWN reports. I suspect that most CPANtesters reports are filed with programs based on cpan rather than cpanm. So there may be a problem with the way that all the various reporter programs are parsing build logs -- cpan build logs as well as cpanm build logs.

Summary

Do you have any insight as to why such reports are not being generated?

Feature or bug?

Is there anything we can do to rectify the situation?

Thank you very much.
Jim Keenan

metabase-profile exits without input

I ran cpanm-reporter --setup, and the part at the end didn't work so well:

Would you like to run 'metabase-profile' now to create '/Users/nglenn/.cpanreporter/metabase_id.json'? [y]
Running [/Users/nglenn/perl5/perlbrew/perls/perl-5.28.0/bin/metabase-profile --output /Users/nglenn/.cpanreporter/metabase_id.json --email [email protected] --secret 74ccf154]...
Enter full name:
Writing profile to '/Users/nglenn/.cpanreporter/metabase_id.json'

The call to metabse-profiler exited with no input before I could type anything.

https scheme is not supported

invalid scheme 'https' for resource 'https://cpan.metacpan.org/authors/id/E/ET/ETHER/Moose-2.1305-TRIAL.tar.gz'. Skipping... :(

(possibly duplicate of #15)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.