Skip to content

Conversation

@fglock
Copy link
Owner

@fglock fglock commented Jan 6, 2026

Now that the control flow fix is merged (PR #121), we can remove the TestMoreHelper workaround that was transforming skip() calls at parse time.

Changes

  • Removed TestMoreHelper.java - The parse-time workaround is no longer needed
  • Updated Test::More.pm - skip() now uses last SKIP directly instead of calling skip_internal()
  • Removed skip_internal() - Deleted the workaround function and removed it from exports
  • Cleaned up parsers - Removed TestMoreHelper calls from StatementParser and StatementResolver
  • Updated test.pl.patch - Removed skip_internal workaround documentation and implementation

Results

  • ✅ skip_control_flow.t: all 3 tests pass
  • ✅ Baseline maintained: 66683/66880
  • ✅ Cleaner codebase using native control flow mechanism

Dependencies

This PR depends on #121 being merged first, as it relies on the control flow fix to properly handle last SKIP through function calls.

fglock added 2 commits January 6, 2026 09:44
Add registry check after each statement in simple labeled blocks (≤3 statements)
to handle non-local control flow like 'last SKIP' through function calls.

The check:
- Only applies to labeled blocks without loop constructs
- Checks RuntimeControlFlowRegistry after each statement
- Jumps to nextLabel if matching control flow detected
- Limited to simple blocks to avoid ASM VerifyError

Results:
- skip_control_flow.t: all 3 tests pass ✓
- make: BUILD SUCCESSFUL ✓
- Baseline maintained: 66683/66880 tests passing in perl5_t/t/uni/variables.t ✓
Fix last SKIP control flow in scalar context
@fglock fglock force-pushed the remove-testmorehelper-workaround branch 3 times, most recently from 5b5c05f to 6385caa Compare January 6, 2026 09:27
Now that the control flow fix is merged (PR #121), we can remove the
TestMoreHelper workaround that was transforming skip() calls at parse time.

Changes:
- Removed TestMoreHelper.java
- Removed TestMoreHelper calls from StatementParser and StatementResolver
- Updated Test::More.pm skip() to use 'last SKIP' directly
- Removed skip_internal() from Test::More.pm exports
- Cleaned up test.pl.patch to remove skip_internal workaround

Results:
- skip_control_flow.t: all 3 tests pass ✓
- Baseline maintained: 66683/66880 ✓
@fglock fglock force-pushed the remove-testmorehelper-workaround branch from 6385caa to dea821d Compare January 6, 2026 09:28
@fglock fglock force-pushed the master branch 2 times, most recently from 97346c2 to 469f6cc Compare January 6, 2026 10:11
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.

2 participants