José Joaquín Atria created AVRO-3999:
----------------------------------------

             Summary: Avoid warnings in Perl test suite
                 Key: AVRO-3999
                 URL: https://issues.apache.org/jira/browse/AVRO-3999
             Project: Apache Avro
          Issue Type: Improvement
          Components: perl
            Reporter: José Joaquín Atria


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:

 
{code:java}
$ ./build.sh test
include /home/user/dev/other/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 {code}
Spurious warnings should be avoided so that when a legitimate warning does 
appear there is less noise to wade through to spot it.

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to