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

The perl CPAN module contains no tests

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.11.0, 0.12.0
    • 0.13.0
    • Perl - Library
    • 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

              jking3 James E. King III
              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