Skip to content

QA: run_qa v1.6 form + ExplicitImports#89

Merged
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:qa-run_qa-v1.6
Jun 27, 2026
Merged

QA: run_qa v1.6 form + ExplicitImports#89
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:qa-run_qa-v1.6

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor

Please ignore until reviewed by @ChrisRackauckas.

Converts test/qa/qa.jl from the hand-rolled Aqua/JET/ExplicitImports body to the SciMLTesting v1.6 run_qa form with explicit_imports = true (all 6 ExplicitImports checks now run).

ExplicitImports findings

Check Result
no_implicit_imports pass (no change)
no_stale_explicit_imports pass (no change)
all_explicit_imports_via_owners pass (no change)
all_explicit_imports_are_public pass (no change)
all_qualified_accesses_via_owners FIXED in source
all_qualified_accesses_are_public IGNORE (2 Random stdlib internals)

FIX (all_qualified_accesses_via_owners): rand/randn are owned by Base and only re-exported by Random, so the PassthroughRNG methods are now defined as Base.rand/Base.randn instead of Random.rand/Random.randn. Random.randexp / Random.rng_native_52 / Random.default_rng are genuinely Random-owned and unchanged.

IGNORE (all_qualified_accesses_are_public): default_rng and rng_native_52 are Random stdlib internals (not public in Random): default_rng is the standard default-RNG accessor; rng_native_52 is extended for the PassthroughRNG sampler chain. There is no way to make a stdlib's own non-public names public, so these are ignored via ei_kwargs with the source documented in a comment.

No @test_broken markers were needed (none existed previously; 0 hard fails after the fix + ignore).

Deps (test/qa/Project.toml)

  • SciMLTesting compat bumped to "1.6".
  • Dropped ExplicitImports (transitive via SciMLTesting) and Random (qa.jl no longer uses it).
  • Kept Aqua (the ambiguities sub-check spawns a child process that needs Aqua a direct dep), JET (JET runs), SafeTestsets (the run_tests @safetestset wrapper must be able to load it in the QA env), and Test.

Verification (vs released SciMLTesting 1.6.0, no dev-from-branch)

  • QA group: 18/18 pass on Julia 1.10 (lts) and 1.12 (release), 0 Fail/Broken/Error.
  • Core group: passes on Julia 1.10 (confirms the Base.rand/Base.randn source change is behavior-preserving).

🤖 Generated with Claude Code

Convert test/qa/qa.jl from the hand-rolled Aqua/JET/ExplicitImports body to
SciMLTesting v1.6 run_qa with explicit_imports = true.

ExplicitImports findings (all 6 checks now run):
- all_qualified_accesses_via_owners: FIXED by extending Base.rand/Base.randn
  instead of Random.rand/Random.randn (rand/randn are owned by Base; Random
  only re-exports them). Random.randexp / Random.rng_native_52 / Random.default_rng
  are genuinely Random-owned and left as-is.
- all_qualified_accesses_are_public: ignore default_rng and rng_native_52, both
  Random stdlib internals (not public in Random): default_rng is the standard
  default-RNG accessor; rng_native_52 is extended for the PassthroughRNG sampler
  chain. No way to make a stdlib's own non-public names public.
- no_implicit_imports, no_stale_explicit_imports, all_explicit_imports_via_owners,
  all_explicit_imports_are_public: pass with no changes.

No @test_broken markers needed (none existed; 0 hard fails after the above).

Deps (test/qa/Project.toml): SciMLTesting compat -> "1.6"; drop ExplicitImports
(transitive via SciMLTesting) and Random (qa.jl no longer uses it); keep Aqua
(ambiguities child-proc needs it a direct dep), JET (JET runs), SafeTestsets
(run_tests @safetestset wrapper needs it loadable in the QA env), Test.

Verified locally vs released SciMLTesting 1.6.0 (no dev-from-branch):
QA group 18/18 on Julia 1.10 (lts) and 1.12 (release); Core 3/3 on 1.10.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ChrisRackauckas ChrisRackauckas marked this pull request as ready for review June 27, 2026 13:05
@ChrisRackauckas ChrisRackauckas merged commit d49b650 into SciML:master Jun 27, 2026
16 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.

2 participants