tests: separate unit tests from the conformance suite (logic + CI)#33
Merged
Conversation
…suite Give harel-python its own hermetic, offline unit suite in tests/ (default pytest touches no network), and move the language-agnostic conformance harness into a dedicated conformance/ dir with its own fetch conftest. Split CI into two jobs: 'test' (ruff + mypy + unit tests; the required check) and 'conformance' (downloads harel-conformance and runs it black-box; non-blocking). Add a Makefile (make test / make conformance) and document the split in README + CONTRIBUTING. Closes #32.
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.
Closes #32.
Makes harel-python's unit tests independent of the conformance suite, in both code layout and CI.
What
tests/→conformance/(its own fetchconftest.py).tests/is now hermetic, offline unit tests — defaultpytestnever clones anything.test(ruff + mypy + unit tests; unchanged required checktest (ubuntu-24.04)) andconformance(downloadsharel-conformance@v0.0.1, runs it black-box; non-blocking).Makefile—make test(unit),make conformance(HAREL_CONFORMANCE_DIRfor offline). README + CONTRIBUTING updated.Verify
pytest→ 120 unit tests, hermetic (no.cache/created).pytest conformance→ 53 (engine + black-box CLI + schema drift), fetches suite @ v0.0.1.The required check stays
test (ubuntu-24.04)= unit tests, so branch protection is unaffected. You can addconformanceas a required check later if you want it blocking.