Description
I am encountering an unexpected test failure in ext/GDBM_File/t/gdbm.t
in three situations: (i) building from the perl-5.34.1-RC1
tarball; (ii) building from the perl-5.34.0
tarball; (ii) smoke-testing in the maint-5.34 branch.
Testing from the 5.34.1-RC1 tarball:
[perlmonger: perl-5.34.1-RC1] $ ./perl -Ilib -V:config_args
config_args='-des -Dusedevel -Duseithreads -Doptimize=-O2 -pipe -fstack-protector -fno-strict-aliasing';
[perlmonger: perl-5.34.1-RC1] $ cd t;TEST_JOBS=1 ./perl harness ../ext/GDBM_File/t/*.t; cd -
../ext/GDBM_File/t/count.t .. ok
../ext/GDBM_File/t/fatal.t .. ok
../ext/GDBM_File/t/gdbm.t ... 1/? gdbm_firstkey: Item not found at ../../t/lib/dbmt_common.pl line 52.
Compilation failed in require at t/gdbm.t line 6.
# Tests were run but no plan was declared and done_testing() was not seen.
# Looks like your test exited with 255 just after 5.
../ext/GDBM_File/t/gdbm.t ... Dubious, test returned 255 (wstat 65280, 0xff00)
All 5 subtests passed
../ext/GDBM_File/t/opt.t .... ok
Test Summary Report
-------------------
../ext/GDBM_File/t/gdbm.t (Wstat: 65280 Tests: 5 Failed: 0)
Non-zero exit status: 255
Parse errors: No plan found in TAP output
Files=4, Tests=24, 1 wallclock secs ( 0.01 usr 0.02 sys + 0.33 cusr 0.09 csys = 0.45 CPU)
Result: FAIL
Testing from last year's 5.34.0 tarball: same as above.
Smoke-testing in the maint-5.34 branch: See https://perl5.test-smoke.org/report/5016351. The failure output in my smoketesting log is consistently:
gdbm_firstkey: Item not found at ../../t/lib/dbmt_common.pl line 52.
Compilation failed in require at t/gdbm.t line 6.
# Tests were run but no plan was declared and done_testing() was not seen.
# Looks like your test exited with 255 just after 5.
What makes this failure unexpected are the following:
-
The fact that I would have repeatedly run this test on this same machine with the same config options in the lead-up to the release of perl-5.34.0 and would have reported any failures.
-
The fact that when I build from any tarballs in the 5.35 series, I do not get this failure. (I still have builds from the 5.35.1, 5.35.6 and 5.35.8 tarballs on disk). In the 5.35 cycle, there were no changes to
ext/GDBM_File
until 5.35.2:
[perlmonger: perl] $ git diff -w v5.34.0..v5.35.1 -- ext/GDBM_File
[perlmonger: perl] $ git diff -w v5.34.0..v5.35.2 -- ext/GDBM_File |head -n 10
diff --git a/ext/GDBM_File/GDBM_File.pm b/ext/GDBM_File/GDBM_File.pm
index d837536f80..a058b9d440 100644
--- a/ext/GDBM_File/GDBM_File.pm
+++ b/ext/GDBM_File/GDBM_File.pm
@@ -341,9 +341,9 @@ our($VERSION, @ISA, @EXPORT);
require Carp;
require Tie::Hash;
-require Exporter;
+use Exporter 'import';
- The fact that when I build blead in my
git
checkout, I do not get this failure.
Suggestions?