You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Make the QA group scan the package extensions (#4860)
ExplicitImports reads the `[extensions]` table but skips any extension whose
module does not exist, and an extension module only exists once its trigger
package is loaded. The QA environment loaded no weakdeps, so none of the four
extensions were ever checked.
Add the weakdeps to `test/qa/Project.toml`, load them in `test/qa/qa.jl`, and
assert the extension modules actually exist -- ExplicitImports silently skips an
extension that fails to load, so a broken extension would otherwise drop coverage
to zero while QA stayed green.
Fix the findings this exposes in the extension sources:
* the three OrdinaryDiffEq precompile extensions relied on implicit imports from
their trigger package and PrecompileTools;
* `MTKFMIExt` relied on implicit imports from SymbolicIndexingInterface and
DocStringExtensions, and reached `setinput`, `setoutput`, `default_toterm` and
`unwrap` through ModelingToolkit rather than through ModelingToolkitBase and
SymbolicUtils which own them;
* `MTKFMIExt`'s `t`/`D` aliases move from a renaming import to `const`, since
ExplicitImports tracks the pre-rename name and reports such an import as stale.
`FMIComponent`, `Base.RefValue` and the three ModelingToolkitBase metadata
helpers have no public spelling, so they are ignored with a comment naming the
owner.
Co-authored-by: ChrisRackauckas-Claude <accounts@chrisrackauckas.com>
0 commit comments