Skip to content

ext/GDBM_File/t/gdbm.t: Unexpected test failures #19482

Open
@jkeenan

Description

@jkeenan

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?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions