Skip to content

Fix CPAN random tester failures#854

Merged
fglock merged 1 commit into
masterfrom
pr/cpan-random-failures
Jun 11, 2026
Merged

Fix CPAN random tester failures#854
fglock merged 1 commit into
masterfrom
pr/cpan-random-failures

Conversation

@fglock

@fglock fglock commented Jun 10, 2026

Copy link
Copy Markdown
Owner

Summary

  • Fix remaining dev/tools/cpan_random_tester.pl failures across the requested CPAN modules.
  • Add runtime/interpreter fixes for eval block returns, eval-string captures, regex capture scoping, foreach aliasing, flock, pipe close status, absolute globbing, File::Spec->tmpdir, and %ENV{TZ} localtime handling.
  • Add a Module::Pluggable::Ordered distropref patch and focused regression tests for the fixed behavior.

Verification

  • make passed (/tmp/make_final_cpan_random.log)
  • timeout 600 ./jcpan -t Image::ExifTool passed: 113 files, 600 tests
  • timeout 600 ./jcpan -t File::ShareDir::ProjectDistDir passed: 17 files, 21 tests
  • timeout 600 ./jcpan -t Sub::Override passed: 1 file, 49 tests
  • timeout 600 ./jcpan -t MIDI::Util passed: 8 files, 12 tests
  • timeout 600 ./jcpan -t OLE::Storage_Lite passed: 2 files, 199 tests
  • timeout 600 ./jcpan -t Module::Pluggable::Ordered passed: 4 files, 11 tests
  • timeout 600 ./jcpan -t Email::Date::Format passed: 2 files, 8 tests
  • timeout 900 ./jcpan -t Test::Cmd passed: 43 files, 714 tests

@fglock fglock force-pushed the pr/cpan-random-failures branch from 48fba9f to 3223ca7 Compare June 10, 2026 19:35
@fglock

fglock commented Jun 10, 2026

Copy link
Copy Markdown
Owner Author

Follow-up for the PR854 regression comparison:

  • Removed the startup IO::File preload and kept only package-stash seeding, which restores the %INC/startup side effects seen in lib/no_load.t, io/iofile.t, io/open.t, op/caller.t, mro/basic.t, op/runlevel.t, and run/fresh_perl.t.
  • Fixed special-variable proxy dereference for $1 symbolic deref cases, restoring uni/variables.t.
  • Fixed global destruction traversal for unblessed containers after removing the IO::File preload.
  • Re-ran the timeout-looking files single-job with a 360s per-file timeout: io/crlf_through.t and io/through.t pass, while lib/croak.t is back to the parent baseline count.

Verification logs:

  • make: /tmp/make_pr854_regression_fixes_2.log PASS
  • Focused regression set: /tmp/pr854_regressions_after_fix.log matches parent counts for every non-timeout regression
  • Timeout-focused set: /tmp/pr854_timeout_files_after_fix.log
  • jcpan -t OLE::Storage_Lite: /tmp/jcpan_ole_storage_lite_after_pr854_regression_fix.log PASS
  • jcpan -t Image::ExifTool: /tmp/jcpan_exiftool_after_pr854_regression_fix.log PASS

@fglock fglock force-pushed the pr/cpan-random-failures branch 2 times, most recently from d0185f3 to fa906ec Compare June 11, 2026 06:46
Fix remaining PerlOnJava compatibility gaps found by cpan_random_tester
across Image::ExifTool, File::ShareDir::ProjectDistDir, Sub::Override,
MIDI::Util, OLE::Storage_Lite, Module::Pluggable::Ordered,
Email::Date::Format, and Test::Cmd.

Generated with [Codex](https://openai.com/codex)

Co-Authored-By: Codex <codex@openai.com>
@fglock fglock force-pushed the pr/cpan-random-failures branch from fa906ec to bd612b2 Compare June 11, 2026 07:21
@fglock fglock merged commit c5ba59c into master Jun 11, 2026
2 checks passed
@fglock fglock deleted the pr/cpan-random-failures branch June 11, 2026 07:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant