Skip to content

Make generated group includes statically analyzable - #65

Merged
ChrisRackauckas merged 1 commit into
SciML:mainfrom
ChrisRackauckas-Claude:codex/fix-explicitimports-analyzability
Sep 4, 2026
Merged

ChrisRackauckas merged 1 commit into
SciML:mainfrom
ChrisRackauckas-Claude:codex/fix-explicitimports-analyzability

Conversation

@ChrisRackauckas-Claude

@ChrisRackauckas-Claude ChrisRackauckas-Claude commented Sep 4, 2026 •

Copy link
Copy Markdown
Member

Please ignore this draft until it has been reviewed by @ChrisRackauckas.

What changed and why

Construct the generated group-body include call directly as an expression instead of quoting an interpolated call. The old source spelling looked like a runtime-dependent include to ExplicitImports, so it correctly refused to recurse into SciMLTesting and both source-analysis checks errored with UnanalyzableModuleException.

The resulting expression still contains the same literal path when evaluated by @safetestset. Once the source became analyzable, the stale @safetestset import was exposed and removed; the macro is referenced through its owning SafeTestsets module. A package test now runs both real source-analysis checks.

Verification

Failing before the fix, with the new test applied to f5884b6:

Test Summary:                     | Error  Total  Time
SciMLTesting source analyzability |     2      2  4.2s
ERROR: Package SciMLTesting errored during testing

Passing after the fix:

Test Summary:                     | Pass  Total  Time
SciMLTesting source analyzability |    2      2  1.9s
Test Summary: | Pass  Total     Time
SciMLTesting  |  436    436  1m19.3s
Testing SciMLTesting tests passed

Julia 1.10 LTS:

Test Summary:                     | Pass  Total  Time
SciMLTesting source analyzability |    2      2  1.5s
Test Summary: | Pass  Total     Time
SciMLTesting  |  420    420  1m10.1s
Testing SciMLTesting tests passed

Commands:

julia +release --project=. --startup-file=no -e 'using Pkg; Pkg.test()'
julia +lts --project=. --startup-file=no -e 'using Pkg; Pkg.test()'
julia +release --project=. --startup-file=no -e 'using SciMLTesting; run_qa(SciMLTesting; JET = nothing)'
julia +release --startup-file=no -m Runic --check src/SciMLTesting.jl test/runtests.jl
typos src/SciMLTesting.jl test/runtests.jl
git diff --check

The unfiltered self-audit improves from 16 passes, one failure, and three errors on main to 18 passes, one failure, and one error. The remaining stdlib-compat failure is addressed independently in #64; the non-public qualified-access findings are a separate concern and are not hidden here.

Docs were not built because no docstrings, documentation pages, or public API changed.

🤖 Generated with Codex CLI 0.151.0 (model: gpt-5.6-sol; session: local session ID 01a0598f-11b9-72d1-91d9-b2fbb186557d)

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: OpenAI Codex <noreply@openai.com>
Agent-Harness: Codex CLI 0.151.0
Agent-Model: gpt-5.6-sol
Agent-Session: local session ID 01a0598f-11b9-72d1-91d9-b2fbb186557d
@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

Final CI audit after the test-placement amendment: all 12 required checks passed, including Julia 1/LTS/pre-release on Linux, macOS, and Windows, downgrade, Runic, and spelling. Test matrix: https://github.com/SciML/SciMLTesting.jl/actions/runs/33860723000

@ChrisRackauckas
ChrisRackauckas marked this pull request as ready for review September 4, 2026 23:11
@ChrisRackauckas
ChrisRackauckas merged commit 7102bda into SciML:main Sep 4, 2026
12 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