Uploaded image for project: 'Apache Avro'
  1. Apache Avro
  2. AVRO-3999

Avoid warnings in Perl test suite

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • None
    • 1.12.0
    • perl

    Description

      The test suite generated several warnings which could easily be avoided. Specifically an undefined value being stringified in t/03_bin_decode.t, and exiting a subroutine via next in xt/schema.t. See output below for illustration:

       

      $ ./build.sh test
      include /home/user/avro/lang/perl/inc/Module/Install.pm
      include inc/Module/Install/Metadata.pm
      include inc/Module/Install/Base.pm
      include inc/Module/Install/ReadmeFromPod.pm
      readme_from lib/Avro.pm to txt
      include inc/Module/Install/Repository.pm
      Cannot determine repository URL
      include inc/Module/Install/MakeMaker.pm
      include inc/Module/Install/Makefile.pm
      Generating a Unix-style Makefile
      Writing Makefile for Avro
      Writing MYMETA.yml and MYMETA.json
      Writing META.yml
      sed -e s/++MODULE_VERSION++/1.12.0-SNAPSHOT/ <lib/Avro/BinaryEncoder.pm >blib/lib/Avro/BinaryEncoder.pm
      sed -e s/++MODULE_VERSION++/1.12.0-SNAPSHOT/ <lib/Avro/DataFileWriter.pm >blib/lib/Avro/DataFileWriter.pm
      sed -e s/++MODULE_VERSION++/1.12.0-SNAPSHOT/ <lib/Avro/BinaryDecoder.pm >blib/lib/Avro/BinaryDecoder.pm
      sed -e s/++MODULE_VERSION++/1.12.0-SNAPSHOT/ <lib/Avro/DataFileReader.pm >blib/lib/Avro/DataFileReader.pm
      sed -e s/++MODULE_VERSION++/1.12.0-SNAPSHOT/ <lib/Avro/DataFile.pm >blib/lib/Avro/DataFile.pm
      sed -e s/++MODULE_VERSION++/1.12.0-SNAPSHOT/ <lib/Avro/Schema.pm >blib/lib/Avro/Schema.pm
      sed -e s/++MODULE_VERSION++/1.12.0-SNAPSHOT/ <lib/Avro/Protocol/Message.pm >blib/lib/Avro/Protocol/Message.pm
      sed -e s/++MODULE_VERSION++/1.12.0-SNAPSHOT/ <lib/Avro/Protocol.pm >blib/lib/Avro/Protocol.pm
      sed -e s/++MODULE_VERSION++/1.12.0-SNAPSHOT/ <lib/Avro.pm >blib/lib/Avro.pm
      PERL_DL_NONLAZY=1 "/home/user/.perl/perls/perl-5.36.0/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'inc', 'blib/lib', 'blib/arch')" t/*.t xt/*.t
      t/00_compile.t ..... ok
      t/01_names.t ....... ok
      t/01_schema.t ...... ok
      t/02_bin_encode.t .. ok
      t/03_bin_decode.t .. 1/? Use of uninitialized value in concatenation (.) or string at /home/user/.perl/perls/perl-5.36.0/lib/site_perl/5.36.0/Error.pm line 288.
      t/03_bin_decode.t .. ok
      t/04_datafile.t .... ok
      t/05_protocol.t .... ok
      xt/interop.t ....... ok
      xt/pod.t ........... ok
      xt/schema.t ........ 1/? Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      Exiting subroutine via next at xt/schema.t line 26.
      xt/schema.t ........ ok
      All tests successful.
      Files=10, Tests=342,  3 wallclock secs ( 0.11 usr  0.06 sys +  1.81 cusr  0.47 csys =  2.45 CPU)
      Result: PASS 

      Spurious warnings should be avoided so that when a legitimate warning does appear there is less noise to wade through to spot it.

       

      Attachments

        Issue Links

          Activity

            People

              mgrigorov Martin Tzvetanov Grigorov
              jjatria José Joaquín Atria
              Votes:
              0 Vote for this issue
              Watchers:
              2 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