[codex] Group compatibility suites by upstream package#459
Merged
bertysentry merged 1 commit intomainfrom Apr 23, 2026
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR reorganizes the compatibility integration test suites into upstream-specific Java packages (BWK/One True Awk, POSIX, GNU Awk) to improve Failsafe report aggregation and aligns documentation with the new structure.
Changes:
- Moved BWK integration suites into
io.jawk.onetrueawk, gawk suites intoio.jawk.gawk, and POSIX suite intoio.jawk.posix(asPosixIT). - Promoted
CompatibilityTestResourcesinto a small shared public helper for resolving vendored IT resources across packages. - Updated compatibility site documentation to reflect the new suite grouping and sources.
Reviewed changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| src/site/markdown/compatibility.md | Documents the three upstream compatibility sources and the new package-based grouping. |
| src/it/java/io/jawk/posix/PosixIT.java | Moves POSIX integration tests into a dedicated package and updates suite naming/docs. |
| src/it/java/io/jawk/onetrueawk/BwkTIT.java | Moves BWK text-processing suite into io.jawk.onetrueawk and updates imports/docs. |
| src/it/java/io/jawk/onetrueawk/BwkPIT.java | Moves BWK pattern suite into io.jawk.onetrueawk and updates imports/docs. |
| src/it/java/io/jawk/onetrueawk/BwkMiscIT.java | Moves BWK misc suite into io.jawk.onetrueawk and updates imports/docs. |
| src/it/java/io/jawk/gawk/GawkOptionalFeatureIT.java | Moves gawk optional-feature suite into io.jawk.gawk and updates docs/imports. |
| src/it/java/io/jawk/gawk/GawkLocaleIT.java | Moves gawk locale suite into io.jawk.gawk and updates docs/imports. |
| src/it/java/io/jawk/gawk/GawkIT.java | Moves core gawk suite into io.jawk.gawk and updates docs/imports. |
| src/it/java/io/jawk/gawk/GawkExtensionIT.java | Moves gawk extension suite into io.jawk.gawk and updates docs/imports. |
| src/it/java/io/jawk/gawk/AbstractGawkSuite.java | Moves shared gawk suite base class into io.jawk.gawk and uses shared resource helper. |
| src/it/java/io/jawk/CompatibilityTestResources.java | Makes resource resolution helper public/static for cross-package IT reuse. |
Comments suppressed due to low confidence (1)
src/it/java/io/jawk/posix/PosixIT.java:965
System.getenv()lookups on Windows are case-insensitive, but Jawk’sENVIRONis populated using the exact keys fromSystem.getenv().entrySet()(see AVM ENVIRON_OFFSET implementation). On Windows the PATH variable is commonly exposed asPath, soENVIRON["PATH"]may print an empty string whileSystem.getenv().get("PATH")returns a value, making this test fail on Windows. Consider either reverting to a consistently-cased variable name (and setting it via Failsafe config), or dynamically selecting the actual env key casing (e.g., find the key equalIgnoreCase("PATH") and use that exact key in both the script and expected value).
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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.
What changed
This PR groups the compatibility integration suites by upstream family so the Failsafe report aggregates results more clearly.
io.jawk.onetrueawkio.jawk.gawkio.jawk.posixasPosixITCompatibilityTestResourcesa small shared helper across those packagesWhy
The compatibility suites now come from three distinct upstream sources: BWK / One True Awk, the POSIX awk specification, and GNU Awk. Grouping them by package makes the Failsafe and site reports easier to read and keeps the code structure aligned with those sources.
Impact
mvn teststill excludes the compatibility suitesmvn verifystill runs them under Failsafeio.jawk.onetrueawk.*,io.jawk.posix.*, andio.jawk.gawk.*Validation
mvn license:update-file-headermvn formatter:formatmvn testmvn verify