Fix failures in the top 200 core tests - #1606
Merged
Merged
Conversation
Resolve close and fileno against existing symbolic IO slots so probing an unopened name does not materialize a typeglob. Add focused coverage for both operations and their effect on subsequent glob lookup. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
Return the typeglob for scalar assignments to its CODE slot, while keeping other slot assignments on their assigned value. Preserve selected glob references so select() can reflect later stash detachment and aliasing. Add coverage for code-slot assignment results and selected-glob identity. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
Return undef when scalar-backed getc reaches EOF. Treat system() without arguments as a child wait instead of raising a missing-command error. Add standard-Perl coverage for both behaviors. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
Resolve scalar values passed to pipe as named globs, and assign descriptor 0 when STDIN has been closed and no handle owns that descriptor. Add regression coverage for both behaviors. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
Reject splice on a read-only array and report a negative value returned by FETCHSIZE. Add regression coverage for both array behaviors. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
Clear the array each iterator when assigning replacement contents so the next iteration starts from index zero. Add focused regression coverage. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
Make study fetch tied scalars on both execution backends. Return crypt output as an unflagged byte string so assignment replaces a wide target cleanly. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
Keep the feature-gated evalbytes keyword from falling through to ordinary subroutine lookup when disabled. Add a regression for the syntax diagnostic. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
Emit Perl's internal warning when a new key is inserted while a hash each iterator is active. Respect lexical suppression of internal warnings. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
Compile parenthesized lists in scalar context as their final value and limit defined's take-reference parsing to direct code reference probes. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
Emit the default syntax::bareword warning for incomplete hexadecimal float prefixes and adjacent decimal exponent-like barewords while keeping fractional nondecimal diagnostics unchanged. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
Keep the list-context value for undef..undef as the empty string so the range does not coerce both endpoints to numeric zero. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
Preserve side effects for empty list assignments in void context without materializing tied scalar repeats, while retaining list context for regex matches that produce callback or position state. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
Only fill an omitted underscore prototype slot from $_ when the slot is required or no earlier argument was supplied. Optional trailing underscore slots after required arguments remain absent from @_ when omitted. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
Treat q and qq as quote operators when comma is their delimiter during brace disambiguation, while preserving trailing-comma block parsing. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
Treat the short-circuited second m?pattern?g attempt as a failed global match and clear pos unless /c asks to preserve it. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
Record references to package %FIELDS hashes during parsing so typed hash and hash-slice dereferences validate keys before runtime vivification. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
Handle `undef &{EXPR}` as an in-place code-reference undef and report
void-context anonymous subroutine warnings using lexical warning settings.
Generated with [Codex](https://openai.com/codex)
Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
Report a saved stash-backed CV as anonymous after its symbol table entry is deleted, matching Perl's caller() behavior. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
When interpreter caller() frames retain a deleted stash name, resolve the active CV and report its anonymous name just like the JVM backend. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
Reject large positive repeat counts before converting them to an int, so 64-bit bitwise results cannot wrap into negative list sizes. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
Run successful eval-block destructors before clearing $@ while retaining control-flow diagnostics, and map failed rmdir calls to errno values. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
Keep sprintf coercions single-pass and propagate UTF-8 provenance only from the format string or a Unicode regex stringification. Compile interpolated Unicode regex patterns with Unicode character classes. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
Move uppercase ypogegrammeni after its combining sequence, and avoid reinterpreting unflagged byte strings as UTF-8 method names in can(). Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
Reject constants passed to a backslash hash prototype during parsing so eval receives the expected type diagnostic, including UTF-8 sub names. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
Keep malformed octets intact through Perl's :utf8 input layer while decoding valid sequences, and preserve the byte-string semantics of ASCII $^X paths. Add focused regressions for raw output and UTF-8 input through shell children. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
Keep readline operations in list context when empty-target assignments discard their values, so the full input list is consumed on both backends. Add a focused regression for EOF after an empty-list assignment. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
When a format references a lexical whose declaring scope has ended, do not resolve that name to a same-named package global or unrelated active lexical. Keep the captured cell only while it is active, otherwise use a fresh undef cell for the format argument evaluation. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
Do not count the global %^H slot as a lexical pad owner when reporting its reference count. Add regression coverage for eval during an /ee replacement. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
Give op/cond.t the same stack allowance used for other deeply nested core tests, and add a regression unit for successful deep eval. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
Assign a stable BEGIN package identity to captured lexicals without AST nodes so nested eval BEGIN blocks reuse the correct lexical alias. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
Keep lexical subroutine references in $DB::sub while the debugger's DB::goto hook runs, so assigning it to $_ preserves the target CV. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
Use libc group records for getgrnam, getgrgid, and getgrent, and expose supplementary group IDs through POSIX::getgroups and the group ID variables. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
Populate Config's myuname field from the detected Perl OS name, version, and architecture so platform-aware Perl code can select the correct path. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
Fix bare -t defaults, preserve in-place permission bits, inherit terminal stdin in subprocesses, and configure the core test runner for TTY and taint coverage. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
Refresh format lexical captures from the declaring scope, preserve dynamic list context for short-circuit expressions, and format non-finite numeric values consistently across sprintf conversions. Restore errno after interrupted sleep and preserve shell argument bytes for nested interpreters. Add focused regressions for each repaired behavior. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
Trigger pull request checks for the exact source tree that passed the final full UAT and baseline comparison. Generated with Codex (https://openai.com/codex) Co-Authored-By: Codex <codex@openai.com>
Bring the core UAT PR up to date with master for current CI validation and preserve both branches' work-in-progress changelog entries. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
Transport non-ASCII command-line arguments through an ASCII-safe launcher encoding when the JVM starts under the C locale, and emit unquoted shell byte arguments through POSIX printf substitutions. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
Keep byte-preserving shell substitutions for C/POSIX child environments while leaving UTF-8 locale command arguments as Unicode characters. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
Retain the configured stack size when embedded runtimes relaunch PerlOnJava, return the group name from scalar getgrgid, and parse single-quoted Windows qx arguments without sending them through cmd.exe. Preserve byte-valued characters for direct Windows child launches. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
Encode byte-valued characters in Windows shell commands as ASCII hex markers, then restore them before Perl argument parsing. Decode markers in both launcher and embedded-runtime child processes. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <158243242+codex@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
form_scope.t,wantarray.t,switches.t, andcaller.t, plusinfnan.tanderrnosig.tfrom the same UAT comparison.sprintf, caller names after stash deletion, interrupted-sleep errno, Unicode shell arguments, tied hash keys in empty-list assignment, Windows child stack options, Windows group lookup, terminal inheritance, and Windows byte-preserving shell arguments.Validation
nice -n 19 make— passed on the final PR head.nice -n 19 make check-links— passed.b80480f74: Ubuntu and Windows jobs both passed.Not OKtests; 680,762 planned assertions./Users/fglock/projects/PerlOnJava/logs/test_20261003_080000_mixed.log.Additional backend diagnostic
The focused forced-interpreter diagnostic reported one assertion failure in each of
op/hash.tandop/caller.t; the standard JVM full UAT and required unit gate pass.