Uploaded image for project: 'Thrift'
  1. Thrift
  2. THRIFT-4691

The perl CPAN module contains no tests

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 0.11.0, 0.12.0
    • Fix Version/s: 0.13.0
    • Component/s: Perl - Library
    • Labels:
      None

      Description

      Reported as a CPAN issue - please resolve the CPAN issue when complete:
      https://rt.cpan.org/Ticket/Display.html?id=124909

      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.

      1. 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.
      2. 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.
      3. 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

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                jking3 James E. King III
                Reporter:
                jking3 James E. King III
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 20m
                  20m