|
1 | | -using OptimizationBase, Aqua, JET |
| 1 | +using SciMLTesting, OptimizationBase, JET |
2 | 2 | using Test |
3 | 3 |
|
4 | | -@testset "Aqua" begin |
5 | | - Aqua.test_all(OptimizationBase) |
6 | | -end |
7 | | - |
8 | | -@testset "JET static analysis" begin |
9 | | - JET.test_package(OptimizationBase; target_defined_modules = true) |
10 | | -end |
| 4 | +# ExplicitImports findings, all tracked against SciML/Optimization.jl: |
| 5 | +# * no_implicit_imports broken: the module relies on `@reexport`/`using` |
| 6 | +# module names (SciMLBase/OptimizationBase/Reexport/...) that cannot be made |
| 7 | +# explicit without restructuring. |
| 8 | +# * the ignored *_are_public / *_via_owners names are owned by SciMLBase, |
| 9 | +# OptimizationBase, the backend, or Base and are not (yet) declared public; |
| 10 | +# the proper fix is upstream `public` declarations, not a local change. |
| 11 | +# * the ignored stale imports are part of the intentionally re-surfaced API. |
| 12 | +run_qa( |
| 13 | + OptimizationBase; |
| 14 | + explicit_imports = true, |
| 15 | + aqua_kwargs = (; |
| 16 | + # The sublibrary extends SciMLBase's solver-trait/__init/__solve interface |
| 17 | + # onto its backend's optimizer types, so those methods are intentional. |
| 18 | + piracies = (; |
| 19 | + treat_as_own = [ |
| 20 | + OptimizationBase.SciMLBase.OptimizationProblem, |
| 21 | + OptimizationBase.SciMLBase.AbstractOptimizationCache, |
| 22 | + ], |
| 23 | + ), |
| 24 | + ), |
| 25 | + ei_kwargs = (; |
| 26 | + no_stale_explicit_imports = (; ignore = (:I, :OptimizationStats, :extract_alg)), |
| 27 | + all_qualified_accesses_via_owners = (; ignore = (:IsInfinite, :IteratorSize, :SizeUnknown)), |
| 28 | + all_qualified_accesses_are_public = (; ignore = (:AbstractOptimizationCache, :AbstractOptimizationFunction, :AbstractOptimizationSolution, :AbstractTracer, :ChainRulesOriginator, :ConvergenceFailure, :Default, :DtLessThanMin, :Failure, :Fix2, :Infeasible, :InitialFailure, :IsInfinite, :IteratorSize, :MaxIters, :MaxSense, :MaxTime, :MinSense, :NoAD, :NoColoringAlgorithm, :NoSparsityDetector, :NonConcreteEltypeError, :NullParameters, :SizeUnknown, :Success, :Terminated, :Unstable, :__init, :allowsconsjvp, :allowsconsvjp, :allowsfg, :allowsfgh, :build_solution, :has_init, :requiresconshess, :requiresconsjac, :requiresgradient, :requireshessian, :requireslagh, :tail)), |
| 29 | + all_explicit_imports_are_public = (; ignore = (:KeywordArgError, :MaxSense, :MinSense, :ObjSense, :OptimizationStats, :__init, :__solve, :_concrete_solve_adjoint, :_concrete_solve_forward, :allowsbounds, :allowscallback, :allowsconstraints, :extract_alg, :get_concrete_p, :get_concrete_u0, :get_root_indp, :get_updated_symbolic_problem, :has_kwargs, :promote_u0, :requiresbounds, :requiresconshess, :requiresconsjac, :requiresconstraints, :requiresgradient, :requireshessian, :wrap_sol)), |
| 30 | + ), |
| 31 | + ei_broken = (:no_implicit_imports,), |
| 32 | +) |
0 commit comments