James E. King III created THRIFT-4691:
-----------------------------------------

             Summary: The perl CPAN module contains no tests
                 Key: THRIFT-4691
                 URL: https://issues.apache.org/jira/browse/THRIFT-4691
             Project: Thrift
          Issue Type: Bug
          Components: Perl - Library
    Affects Versions: 0.11.0, 0.12.0
            Reporter: James E. King III
            Assignee: James E. King III


Reported as a CPAN issue - please resolve the CPAN issue when complete.

'''
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
'''



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to