Skip Menu |

This queue is for tickets about the Thrift CPAN distribution.

Report information
The Basics
Id: 124909
Status: resolved
Worked: 45 min
Priority: 0/
Queue: Thrift

People
Owner: jking [...] cpan.org
Requestors: jkeenan [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: (no value)
Fixed in: 0.12.0-2



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
We track all our issues on Apache Jira. My account was not configured to send me email about this issue when you opened it. We just completed the v0.12.0 release and it is now in CPAN. I've opened an issue for the next release: https://issues.apache.org/jira/browse/THRIFT-4691 I will mark this resolved once a release appears with the issue fixed, or you can close it and track the Apache Jira issue instead.
I was looking at how to include tests since they depend on some generated code, and I could not find a way to encourage MakeMaker to add some "-I" to the command that runs tests. I can include the generated files in the package for purposes of running the tests, but I had to use a MakeMaker MY override of the test directive, and use regular expressions to modify the test command in order to do this. Seems like something MakeMaker is missing - the ability to specify perl include paths for tests. On Sun Mar 25 10:03:46 2018, JKEENAN wrote: Show quoted text
> 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
I fixed this in 0.12.0-2 which is live now. It will be fixed in future versions as well.
Subject: Re: [rt.cpan.org #124909] No tests run, making validity of distribution unassessible
Date: Mon, 14 Jan 2019 21:49:29 -0500
To: bug-Thrift [...] rt.cpan.org
From: James E Keenan <jkeenan [...] pobox.com>
On 1/14/19 4:24 PM, James E. King, III via RT wrote: Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=124909 > > > I fixed this in 0.12.0-2 which is live now. It will be fixed in future versions as well. >
With the latest CPAN release and the following command, I got good results: ##### $ prove -I./gen-perl -Igen-perl2 -vb t/*.t t/memory_buffer.t .. 1..6 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok t/multiplex.t ...... 1..6 process resulted in 1 process resulted in 1 process resulted in 1 process resulted in 1 process resulted in 1 process resulted in 1 process resulted in 1 process resulted in 1 process resulted in 1 process resulted in 1 process resulted in 1 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok t/processor.t ...... 1..2 My::ThriftTest->testString() process resulted in 1 My::ThriftTest->testString() process resulted in 1 testString, 2, 0 ok 1 testString, 2, 1 ok 2 ok All tests successful. Files=3, Tests=14, 0 wallclock secs ( 0.03 usr 0.00 sys + 0.24 cusr 0.03 csys = 0.30 CPU) Result: PASS ##### Thank you very much. Jim Keenan
On Mon Jan 14 21:49:46 2019, jkeenan@pobox.com wrote: Show quoted text
> On 1/14/19 4:24 PM, James E. King, III via RT wrote:
> > <URL: https://rt.cpan.org/Ticket/Display.html?id=124909 > > > > > I fixed this in 0.12.0-2 which is live now. It will be fixed in > > future versions as well. > >
> > With the latest CPAN release and the following command, I got good > results: > > ##### > $ prove -I./gen-perl -Igen-perl2 -vb t/*.t > t/memory_buffer.t .. > 1..6 > ok 1 > ok 2 > ok 3 > ok 4 > ok 5 > ok 6 > ok > t/multiplex.t ...... > 1..6 > process resulted in 1 > process resulted in 1 > process resulted in 1 > process resulted in 1 > process resulted in 1 > process resulted in 1 > process resulted in 1 > process resulted in 1 > process resulted in 1 > process resulted in 1 > process resulted in 1 > ok 1 > ok 2 > ok 3 > ok 4 > ok 5 > ok 6 > ok > t/processor.t ...... > 1..2 > My::ThriftTest->testString() > process resulted in 1 > My::ThriftTest->testString() > process resulted in 1 > testString, 2, 0 > ok 1 > testString, 2, 1 > ok 2 > ok > All tests successful. > Files=3, Tests=14, 0 wallclock secs ( 0.03 usr 0.00 sys + 0.24 > cusr > 0.03 csys = 0.30 CPU) > Result: PASS > ##### > > Thank you very much. > Jim Keenan
No problem - unfortunately there aren't a ton of tests for the language, but it's something...