Skip to content

test: make Unicode locale checks portable - #51

Open
flyingrobots wants to merge 1 commit into
mainfrom
test/portable-unicode-locale
Open

flyingrobots wants to merge 1 commit into
mainfrom
test/portable-unicode-locale

Conversation

@flyingrobots

@flyingrobots flyingrobots commented Sep 22, 2026

Copy link
Copy Markdown
Member

The Unicode integration test hardcoded en_US.UTF-8 and merged stderr into the JSON under test, so a missing-locale warning caused a false schema failure. The test now selects an installed UTF-8 locale, validates claim/list/check stdout separately from diagnostics, and reports an explicit skip when no UTF-8 locale exists. A calibration proves that a skip cannot hide an earlier selector failure.

CI now runs the focused test in an Ubuntu 24.04 container containing only C, C.utf8, and POSIX. That job reproduces the old merged-stream parse failure with the real CLI, then passes the repaired integration under C.utf8. Product behavior is unchanged.

Validation

  • Normal pre-push hook: 446 base checks passed.
  • Local Unicode integration under C.UTF-8: 20 passed, 0 failed, 0 skipped.
  • No-locale path: 5 passed, 0 failed, 1 explicit skip.
  • Failure-propagation calibration: 2 passed, 0 failed.
  • Hosted Ubuntu 24.04: missing-en_US reproduction and repaired C.utf8 integration passed.
  • ShellCheck, shfmt, actionlint, and both hosted CI jobs passed.

Fixes #36

Select an installed UTF-8 locale, capture JSON stdout separately from shell diagnostics, and skip only the live integration when no UTF-8 locale exists.

RED: supplied Linux review observed 451 passing checks and one schema failure when an en_US.UTF-8 warning was merged with valid JSON. Local failure calibration observed 4 passing fixtures, 1 failing fixture, 1 skipped integration, and an incorrect exit 0.

GREEN: live host coverage passed 20 checks under C.UTF-8; the no-locale path passed 5 checks with 1 explicit skip; failure propagation passed 2 calibration checks. Lint and actionlint passed.
@coderabbitai

coderabbitai Bot commented Sep 22, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 20 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 7af8beda-9903-48b8-a75c-08b039ba8d3e

📥 Commits

Reviewing files that changed from the base of the PR and between 01e39c3 and bf63ff6.

📒 Files selected for processing (7)
  • .github/workflows/ci.yml
  • CHANGELOG.md
  • Makefile
  • README.md
  • test/test.sh
  • test/unicode-locale-calibration.sh
  • test/unicode-locale.sh

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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.

Make Unicode tests portable across installed UTF-8 locales

1 participant