Skip to content

Add JET.jl tests for type stability analysis#240

Merged
ChrisRackauckas merged 2 commits intoSciML:masterfrom
ChrisRackauckas-Claude:static-improvements-20260107-181921
Jan 12, 2026
Merged

Add JET.jl tests for type stability analysis#240
ChrisRackauckas merged 2 commits intoSciML:masterfrom
ChrisRackauckas-Claude:static-improvements-20260107-181921

Conversation

@ChrisRackauckas-Claude
Copy link
Contributor

@ChrisRackauckas-Claude ChrisRackauckas-Claude commented Jan 7, 2026

Summary

  • Add JET.jl tests in a separate QA test group with its own Project.toml
  • Create test/qa/ directory with dedicated environment for JET testing
  • Add QA.yml workflow for CI integration
  • Rebased on master (includes recent upstream changes)

Changes

test/qa/Project.toml (new file)

Dedicated environment for JET tests with:

  • JET = "0.8, 0.9"
  • DiffEqNoiseProcess
  • Test, Random

test/qa/qa_tests.jl (new file)

Tests type stability of key hot-path functions using JET.report_opt:

  • accept_step! - main stepping function
  • setup_next_step! - RSWM algorithm setup
  • calculate_step! - noise generation
  • WHITE_NOISE_DIST - white noise distribution
  • wiener_randn - random number generation (scalar and array variants)

test/runtests.jl

  • Add activate_qa_env() function for QA test environment
  • Add QA test group that activates the qa environment and runs JET tests
  • JET tests are NOT included in "All" group (run separately via QA workflow)

.github/workflows/QA.yml (new file)

  • New workflow for running QA tests with GROUP=QA

.github/workflows/Downgrade.yml

Testing

  • JET analysis shows 0 issues for the key hot-path functions
  • All 6 optimization tests pass

Notes

JET.report_package was intentionally avoided in the test suite because it creates a virtualized module context that can interfere with subsequent tests. The JET.report_opt approach provides targeted type stability verification without this side effect.

Related


🤖 Generated with Claude Code

## Summary

- Add JET.jl tests in a separate QA test group with its own Project.toml
- Create test/qa/ directory with dedicated environment for JET testing
- Add QA.yml workflow for CI integration
- Update Downgrade.yml with comment about disabled tests

## Changes

### test/qa/Project.toml (new file)
Dedicated environment for JET tests with:
- JET = "0.8, 0.9"
- DiffEqNoiseProcess
- Test, Random

### test/qa/qa_tests.jl (new file)
Tests type stability of key hot-path functions using JET.report_opt:
- accept_step! - main stepping function
- setup_next_step! - RSWM algorithm setup
- calculate_step! - noise generation
- WHITE_NOISE_DIST - white noise distribution
- wiener_randn - random number generation (scalar and array variants)

### test/runtests.jl
- Add activate_qa_env() function for QA test environment
- Add QA test group that activates the qa environment and runs JET tests

### .github/workflows/QA.yml (new file)
- New workflow for running QA tests with GROUP=QA

### .github/workflows/Downgrade.yml
- Added comment explaining disabled status

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@ChrisRackauckas-Claude ChrisRackauckas-Claude force-pushed the static-improvements-20260107-181921 branch from 6d51cee to 5ba6a64 Compare January 12, 2026 22:00
@ChrisRackauckas ChrisRackauckas merged commit ce11622 into SciML:master Jan 12, 2026
14 checks passed
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.

3 participants

Comments