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)