QA: run_qa v1.6 form + ExplicitImports#89
Merged
ChrisRackauckas merged 1 commit intoJun 27, 2026
Conversation
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>
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.
Please ignore until reviewed by @ChrisRackauckas.
Converts
test/qa/qa.jlfrom the hand-rolled Aqua/JET/ExplicitImports body to the SciMLTesting v1.6run_qaform withexplicit_imports = true(all 6 ExplicitImports checks now run).ExplicitImports findings
no_implicit_importsno_stale_explicit_importsall_explicit_imports_via_ownersall_explicit_imports_are_publicall_qualified_accesses_via_ownersall_qualified_accesses_are_publicFIX (
all_qualified_accesses_via_owners):rand/randnare owned byBaseand only re-exported byRandom, so thePassthroughRNGmethods are now defined asBase.rand/Base.randninstead ofRandom.rand/Random.randn.Random.randexp/Random.rng_native_52/Random.default_rngare genuinelyRandom-owned and unchanged.IGNORE (
all_qualified_accesses_are_public):default_rngandrng_native_52areRandomstdlib internals (not public inRandom):default_rngis the standard default-RNG accessor;rng_native_52is extended for thePassthroughRNGsampler chain. There is no way to make a stdlib's own non-public names public, so these are ignored viaei_kwargswith the source documented in a comment.No
@test_brokenmarkers were needed (none existed previously; 0 hard fails after the fix + ignore).Deps (
test/qa/Project.toml)SciMLTestingcompat bumped to"1.6".ExplicitImports(transitive via SciMLTesting) andRandom(qa.jlno longer uses it).Aqua(the ambiguities sub-check spawns a child process that needs Aqua a direct dep),JET(JET runs),SafeTestsets(therun_tests@safetestsetwrapper must be able to load it in the QA env), andTest.Verification (vs released SciMLTesting 1.6.0, no dev-from-branch)
Base.rand/Base.randnsource change is behavior-preserving).🤖 Generated with Claude Code