Subject: | No tests run, making validity of distribution unassessible |
The Thrift distribution does not do anything meaningful when 'make test' is called. This means that the PASS grade which this distribution gets from CPANtesters (http://matrix.cpantesters.org/?dist=Thrift+0.11.0-2) is not meaningful.
Suppose I download the tarball, unpack it and proceed as I normally would:
#####
[Thrift-0.11.0] 535 $ perl Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Thrift
Writing MYMETA.yml and MYMETA.json
[Thrift-0.11.0] 536 $ make
cp lib/Thrift/Socket.pm blib/lib/Thrift/Socket.pm
cp lib/Thrift/BufferedTransport.pm blib/lib/Thrift/BufferedTransport.pm
cp lib/Thrift/Protocol.pm blib/lib/Thrift/Protocol.pm
cp lib/Thrift/FramedTransport.pm blib/lib/Thrift/FramedTransport.pm
cp lib/Thrift/SSLSocket.pm blib/lib/Thrift/SSLSocket.pm
cp lib/Thrift/Server.pm blib/lib/Thrift/Server.pm
cp lib/Thrift/UnixServerSocket.pm blib/lib/Thrift/UnixServerSocket.pm
cp lib/Thrift/Exception.pm blib/lib/Thrift/Exception.pm
cp lib/Thrift/MultiplexedProcessor.pm blib/lib/Thrift/MultiplexedProcessor.pm
cp lib/Thrift/ProtocolDecorator.pm blib/lib/Thrift/ProtocolDecorator.pm
cp lib/Thrift/BinaryProtocol.pm blib/lib/Thrift/BinaryProtocol.pm
cp lib/Thrift/UnixSocket.pm blib/lib/Thrift/UnixSocket.pm
cp lib/Thrift/Type.pm blib/lib/Thrift/Type.pm
cp lib/Thrift.pm blib/lib/Thrift.pm
cp lib/Thrift/MultiplexedProtocol.pm blib/lib/Thrift/MultiplexedProtocol.pm
cp lib/Thrift/MemoryBuffer.pm blib/lib/Thrift/MemoryBuffer.pm
cp lib/Thrift/Transport.pm blib/lib/Thrift/Transport.pm
cp lib/Thrift/SSLServerSocket.pm blib/lib/Thrift/SSLServerSocket.pm
cp lib/Thrift/HttpClient.pm blib/lib/Thrift/HttpClient.pm
cp lib/Thrift/MessageType.pm blib/lib/Thrift/MessageType.pm
cp lib/Thrift/ServerSocket.pm blib/lib/Thrift/ServerSocket.pm
#####
So far, so good. But now I attempt to run tests.
#####
[Thrift-0.11.0] 537 $ make test
PERL_DL_NONLAZY=1 "/home/jkeenan/perl5/perlbrew/perls/perl-5.26.0/bin/perl" "-Iblib/lib" "-Iblib/arch" test.pl
Files=0, Tests=0, 0 wallclock secs ( 0.00 usr + 0.00 sys = 0.00 CPU)
Result: NOTESTS
#####
Suppose I try to use 'prove':
#####
[Thrift-0.11.0] 539 $ prove -vb test/*.t
test/memory_buffer.t ..
1..6
Can't locate ThriftTest/Types.pm in @INC (you may need to install the ThriftTest::Types module) (@INC contains: /home/jkeenan/.cpanm/work/1521985673.8965/Thrift-0.11.0/blib/lib /home/jkeenan/.cpanm/work/1521985673.8965/Thrift-0.11.0/blib/arch /home/jkeenan/perl5/perlbrew/perls/perl-5.26.0/lib/site_perl/5.26.0/x86_64-linux /home/jkeenan/perl5/perlbrew/perls/perl-5.26.0/lib/site_perl/5.26.0 /home/jkeenan/perl5/perlbrew/perls/perl-5.26.0/lib/5.26.0/x86_64-linux /home/jkeenan/perl5/perlbrew/perls/perl-5.26.0/lib/5.26.0) at test/memory_buffer.t line 30.
BEGIN failed--compilation aborted at test/memory_buffer.t line 30.
# Looks like your test exited with 2 before it could output anything.
Dubious, test returned 2 (wstat 512, 0x200)
Failed 6/6 subtests
test/multiplex.t ......
1..6
Can't locate BenchmarkService.pm in @INC (you may need to install the BenchmarkService module) (@INC contains: /home/jkeenan/.cpanm/work/1521985673.8965/Thrift-0.11.0/blib/lib /home/jkeenan/.cpanm/work/1521985673.8965/Thrift-0.11.0/blib/arch /home/jkeenan/perl5/perlbrew/perls/perl-5.26.0/lib/site_perl/5.26.0/x86_64-linux /home/jkeenan/perl5/perlbrew/perls/perl-5.26.0/lib/site_perl/5.26.0 /home/jkeenan/perl5/perlbrew/perls/perl-5.26.0/lib/5.26.0/x86_64-linux /home/jkeenan/perl5/perlbrew/perls/perl-5.26.0/lib/5.26.0) at test/multiplex.t line 33.
BEGIN failed--compilation aborted at test/multiplex.t line 33.
# Looks like your test exited with 2 before it could output anything.
Dubious, test returned 2 (wstat 512, 0x200)
Failed 6/6 subtests
test/processor.t ......
1..2
Can't locate ThriftTest/ThriftTest.pm in @INC (you may need to install the ThriftTest::ThriftTest module) (@INC contains: /home/jkeenan/.cpanm/work/1521985673.8965/Thrift-0.11.0/blib/lib /home/jkeenan/.cpanm/work/1521985673.8965/Thrift-0.11.0/blib/arch /home/jkeenan/perl5/perlbrew/perls/perl-5.26.0/lib/site_perl/5.26.0/x86_64-linux /home/jkeenan/perl5/perlbrew/perls/perl-5.26.0/lib/site_perl/5.26.0 /home/jkeenan/perl5/perlbrew/perls/perl-5.26.0/lib/5.26.0/x86_64-linux /home/jkeenan/perl5/perlbrew/perls/perl-5.26.0/lib/5.26.0) at test/processor.t line 29.
BEGIN failed--compilation aborted at test/processor.t line 29.
# Looks like your test exited with 2 before it could output anything.
Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/2 subtests
Test Summary Report
-------------------
test/memory_buffer.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: Bad plan. You planned 6 tests but ran 0.
test/multiplex.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: Bad plan. You planned 6 tests but ran 0.
test/processor.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: Bad plan. You planned 2 tests but ran 0.
Files=3, Tests=0, 0 wallclock secs ( 0.03 usr 0.00 sys + 0.16 cusr 0.00 csys = 0.19 CPU)
Result: FAIL
#####
The tests expect to load ThriftTest::Types, BenchmarkService and ThriftTest::ThriftTest, but these are not found in the tarball nor, as far as I can tell, on CPAN.
#####
[Thrift-0.11.0] 540 $ ack '(ThriftTest|BenchmarkService)' .
test/multiplex.t
33:use BenchmarkService;
36:use constant NAME_BENCHMARKSERVICE => 'BenchmarkService';
43:my $benchmark_client = BenchmarkServiceClient->new($benchmark_protocol);
67: my $benchmark_handler = My::BenchmarkService->new();
68: my $benchmark_processor = BenchmarkServiceProcessor->new($benchmark_handler);
136: my $benchmark_result = BenchmarkService_fibonacci_result->new();
174:package My::BenchmarkService;
175:use base qw(BenchmarkServiceIf);
test/processor.t
29:use ThriftTest::ThriftTest;
30:use ThriftTest::Types;
36:my $client = ThriftTest::ThriftTestClient->new($protocol);
59: my $processor = ThriftTest::ThriftTestProcessor->new( My::ThriftTest->new() );
79: my $result = ThriftTest::ThriftTest_testString_result->new();
87:package My::ThriftTest;
test/memory_buffer.t
30:use ThriftTest::Types;
36:my $a = ThriftTest::Xtruct->new();
42:my $b = ThriftTest::Xtruct->new();
49:my $c = ThriftTest::Xtruct->new();
#####
If no tests are run, then we cannot evaluate the soundness of this CPAN distribution.
Thank you very much.
Jim Keenan