Skip to content

Add PR test CI + modernize test suite to pytest#11

Merged
jack-champagne merged 1 commit into
masterfrom
ci-and-test-backstops
Jun 30, 2026
Merged

Add PR test CI + modernize test suite to pytest#11
jack-champagne merged 1 commit into
masterfrom
ci-and-test-backstops

Conversation

@jack-champagne

Copy link
Copy Markdown
Member

jl2py had no PR CI (only wheels.yml on tags). This adds a pull_request test
workflow and modernizes the test suite to idiomatic pytest.

CI (.github/workflows/test.yml): on PR, set up Julia 1.12.6 + Python 3.12,
make libjl2py, pip install numpy pytest, run pytest -v out/jl2py/tests.

pytest conversion (the suite was script-style with per-file setup()/main()):

  • tests/conftest.py — session-scoped jl fixture (the test functions already take jl).
  • Removed the setup()/main()/__main__ boilerplate from every file.
  • test_struct.py — its struct definitions moved into a module-scoped autouse fixture.
  • test_array.py — the 3 memory-wrap tests now skipif cleanly when the experimental
    libjulia-internal build isn't present (tracked in CI: add a JL2PY_INTERNAL build matrix cell for Memory wrap/alloc #8).
  • New: test_identity.py (pointer-identity round-trip, PRD §4.3) and test_exceptions.py
    (typed error mapping — BoundsError→IndexError, DomainError→ValueError, etc.).

Local run (Julia 1.12.6): 76 passed, 3 skipped, 0 failed.

Follow-ups filed: #5#10.

🤖 Generated with Claude Code

@jack-champagne jack-champagne merged commit 1a1619c into master Jun 30, 2026
1 check passed
@jack-champagne jack-champagne deleted the ci-and-test-backstops branch June 30, 2026 08:58
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.

1 participant