Skip to content

Replace Bash test harness with YAML runner - #39

Merged
memotype merged 2 commits into
masterfrom
fix/issue-38-yaml-test-harness
Sep 1, 2026
Merged

Replace Bash test harness with YAML runner#39
memotype merged 2 commits into
masterfrom
fix/issue-38-yaml-test-harness

Conversation

@memotype

@memotype memotype commented Sep 1, 2026

Copy link
Copy Markdown
Owner

Summary

  • replace the large Bash test harness with a human-readable YAML test catalog
  • add a Ruby runner that validates cases, runs every selected test, and reports actual versus expected output and status
  • preserve all 120 normal parser assertions and add two opt-in citylots.json timing cases
  • continue through failures and report passed, failed, and skipped totals with a reliable final exit status
  • run the catalog against every implementation under the default locale and LC_ALL=C
  • document the new testing commands

Testing

  • make verify
  • ./test.rb -t -s ./bj.sh — 122 passed, 0 failed, 0 skipped
  • ./test.rb -s /dev/null — expected failure check reports all 120 selected failures and exits 1

Closes #38

@memotype
memotype merged commit 2bea665 into master Sep 1, 2026
2 checks passed
@memotype
memotype deleted the fix/issue-38-yaml-test-harness branch September 1, 2026 09:35
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.

The test.sh harness is bloated and needs a data-driven redesign

1 participant