Tests: Go and C++ - #31
Open
kserrec wants to merge 7 commits into
Open
Conversation
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
test.sh + real-run-captured expected-output.txt for each, plus their apt toolchains (ruby, lua5.4, ghc) in the CI workflow. All three PASS locally. Completes roadmap Step 3. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
FAIL now means only that a test ran and produced the wrong output or a nonzero exit — a real problem, and the sole reason the script exits nonzero. A toolchain that isn't installed here reads as SKIP (command not found, or exit 42), and a folder with no captured baseline yet reads as PENDING with its output printed for capture. On CI (CI env var set) a SKIP is upgraded to FAIL so a broken toolchain install can't hide. C++ test.sh now requires g++-14 and exits 42 when absent, so an older dev-machine g++ that can't compile C++23 <print> reads as SKIP, not a compile FAIL. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
test.sh for all four: ocaml lambda_core.ml, elixir lambda-core.exs, dotnet fsi lambda-core.fsx, and cd lambda-core && clj -M:test for the Clojure deps.edn test runner. Workflow installs ocaml+elixir via apt and the Clojure CLI via its official installer; F# uses the runner's preinstalled dotnet. OCaml and Elixir expected-output.txt captured from real local runs and PASSing. F# and Clojure baselines still pending — capture from the CI log per the C++ pattern. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
F# expected-output.txt captured from the PR #31 CI run (its source prints no blank line between the LOGIC and CHURCH NUMERALS sections, unlike the others). F# now PASSes on CI. The first CI run showed Clojure's `clj -M:test` printing "Please install rlwrap ... or use clojure instead" instead of the test output — `clj` is the interactive rlwrap wrapper. Switched to `clojure -M:test`, the non-interactive launcher, to be captured on the next CI run. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
clojure -M:test now runs the deps.edn test runner cleanly; its output (7 tests, 56 assertions, 0 failures) captured from the PR #31 CI log. All four Step-4 languages are green on CI. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.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.
Go verified locally. C++ needs GCC 14, so its expected output gets captured from this PR's first (intentionally red) CI run, then committed — observed output only, per the roadmap's working agreement.
🤖 Generated with Claude Code