Skip to content

maint-5.38: porting test failure; must run make regen #23347

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

jkeenan
Copy link
Contributor

@jkeenan jkeenan commented Jun 1, 2025

When smoke-testing the maint-5.38 branch on FreeBSD-14, I got failures in each run of t/porting/regen.t. See: https://perl.develop-help.com/db/5514634.

The individual test failure looks like this:

$ cd t;./perl harness -v porting/regen.t; cd -

ok 1 - generated keywords.c is up to date
ok 2 - generated keywords.h is up to date
ok 3 - generated perly.act is up to date
ok 4 - generated perly.h is up to date
ok 5 - generated perly.tab is up to date
ok 6 - generated charclass_invlists.h is up to date
ok 7 - generated uni_keywords.h is up to date
not ok 8 - generated uconfig.h is up to date
# Failed test 8 - generated uconfig.h is up to date at porting/regen.t line 122
#      got "config_h.SH"
# expected ""
ok 9 - generated regcharclass.h is up to date

I confirmed this failure on Ubuntu Linux.

Running make regen updated uconfig.h and appears to have fixed the test failures. (This problem appears to be just on maint-5.38, not maint-5.40.) Please review.

@jkeenan jkeenan requested a review from steve-m-hay June 1, 2025 14:01
@jkeenan jkeenan added the backport-5.38 Change proposed for backport to maint-5.38 label Jun 1, 2025
Copy link
Contributor

@steve-m-hay steve-m-hay left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Apologies for not doing that myself. I should have realized since I had exactly the same issue yesterday!

@jkeenan
Copy link
Contributor Author

jkeenan commented Jun 1, 2025

This pull request has failed some of its jobs in our GH CI; I re-started those jobs. The job called "dist-modules (latest)" has failed a second time. See: https://github.com/Perl/perl5/actions/runs/15375891354/job/43267333140?pr=23347.

Testing IO
  *** Testing IO ***
  $ cp -a dist/IO/. /tmp/R8oxHFb_Aq/.
  $ cp /tmp/yl8je4taFX/ppport.h .
  $ /usr/local/bin/perl Makefile.PL
  Generating a Unix-style Makefile
  Writing Makefile for IO
  Writing MYMETA.yml and MYMETA.json
  $ make test TEST_VERBOSE=0
  Running Mkbootstrap for IO ()
  chmod 644 "IO.bs"
  "/usr/local/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- IO.bs blib/arch/auto/IO/IO.bs 644
  "/usr/local/bin/perl" "/usr/local/lib/perl5/site_perl/5.40.0/ExtUtils/xsubpp"  -typemap '/usr/local/lib/perl5/5.40.0/ExtUtils/typemap'  IO.xs > IO.xsc
  mv IO.xsc IO.c
  cc -c   -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -O2   -DVERSION=\"1.52\" -DXS_VERSION=\"1.52\" -fPIC "-I/usr/local/lib/perl5/5.40.0/x86_64-linux-gnu/CORE"   IO.c
  cc -c   -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -O2   -DVERSION=\"1.52\" -DXS_VERSION=\"1.52\" -fPIC "-I/usr/local/lib/perl5/5.40.0/x86_64-linux-gnu/CORE"   poll.c
  rm -f blib/arch/auto/IO/IO.so
  cc  -shared -O2 -L/usr/local/lib -fstack-protector-strong  IO.o poll.o  -o blib/arch/auto/IO/IO.so  \
        \
    
  chmod 755 blib/arch/auto/IO/IO.so
  cp IO.pm blib/lib/IO.pm
  cp lib/IO/File.pm blib/lib/IO/File.pm
  cp lib/IO/Socket/UNIX.pm blib/lib/IO/Socket/UNIX.pm
  cp lib/IO/Pipe.pm blib/lib/IO/Pipe.pm
  cp lib/IO/Socket.pm blib/lib/IO/Socket.pm
  cp lib/IO/Poll.pm blib/lib/IO/Poll.pm
  cp lib/IO/Socket/INET.pm blib/lib/IO/Socket/INET.pm
  cp lib/IO/Handle.pm blib/lib/IO/Handle.pm
  cp lib/IO/Select.pm blib/lib/IO/Select.pm
  cp lib/IO/Dir.pm blib/lib/IO/Dir.pm
  cp lib/IO/Seekable.pm blib/lib/IO/Seekable.pm
  PERL_DL_NONLAZY=1 "/usr/local/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
  t/cachepropagate-tcp.t ... ok
  t/cachepropagate-udp.t ... ok
  t/cachepropagate-unix.t .. ok
  t/gh17447.t .............. ok
  t/IO.t ................... ok
  t/io_const.t ............. ok
  t/io_dir.t ............... ok
  t/io_dup.t ............... ok
  t/io_file.t .............. ok
  t/io_file_export.t ....... ok
  
  #   Failed test 'tied handle read works in list context 2'
  #   at t/io_getline.t line 109.
  #          got: undef
  #     expected: 'Tick'
  
  #   Failed test 'tied handle read works in list context 3'
  #   at t/io_getline.t line 110.
  #          got: 'Tick'
  #     expected: 'tick'
  
  #   Failed test '$line unchanged'
  #   at t/io_getline.t line 117.
  #          got: undef
  #     expected: 'Tick'
  # Looks like you failed 3 tests of 37.
  t/io_getline.t ........... 
  Dubious, test returned 3 (wstat 768, 0x300)
  Failed 3/37 subtests 
  t/io_leak.t .............. skipped: No XS::APItest::sv_count() available
  t/io_linenum.t ........... ok
  t/io_multihomed.t ........ ok
  t/io_pipe.t .............. ok
  t/io_poll.t .............. ok
  t/io_sel.t ............... ok
  t/io_sock.t .............. ok
  t/io_sock_errstr.t ....... ok
  t/io_taint.t ............. ok
  t/io_tell.t .............. ok
  t/io_udp.t ............... ok
  t/io_unix.t .............. ok
  t/io_utf8.t .............. ok
  t/io_utf8argv.t .......... ok
  t/io_xs.t ................ ok
  
  Test Summary Report
  -------------------
  t/io_getline.t         (Wstat: 768 (exited 3) Tests: 37 Failed: 3)
    Failed tests:  33-34, 37
    Non-zero exit status: 3
  Files=26, Tests=16681, 26 wallclock secs ( 0.37 usr  0.03 sys +  0.71 cusr  0.18 csys =  1.29 CPU)
  Failed 1/26 test programs. 3/16681 subtests failed.
  Result: FAIL
  make: *** [Makefile:1061: test_dynamic] Error 255
  Failed: 512 (0x200)
Error: IO failed at make test

However, I wonder if this failure is relevant when what we're testing is a maintenance release for perl-5.38.

@steve-m-hay steve-m-hay merged commit 0ebba20 into Perl:maint-5.38 Jun 12, 2025
24 of 28 checks passed
@steve-m-hay
Copy link
Contributor

This pull request has failed some of its jobs in our GH CI; I re-started those jobs. The job called "dist-modules (latest)" has failed a second time. See: https://github.com/Perl/perl5/actions/runs/15375891354/job/43267333140?pr=23347.

[...]

However, I wonder if this failure is relevant when what we're testing is a maintenance release for perl-5.38.

Not sure what the problem there is, but the regen is definitely needed, so I've merged this PR.
Thanks for spotting this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport-5.38 Change proposed for backport to maint-5.38
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants