diff --git a/Project.toml b/Project.toml index 61b1bdc..a5240a9 100644 --- a/Project.toml +++ b/Project.toml @@ -24,6 +24,7 @@ NonlinearSolve = "3, 4" OptimizationOptimJL = "0.3, 0.4" OrdinaryDiffEq = "6.80.0, 7" OrdinaryDiffEqSDIRK = "1.2.0, 2" +Random = "1" SafeTestsets = "0.1" SciMLBase = "2.69.0, 3.1" SciMLTesting = "1" diff --git a/lib/linear_convection.jl b/lib/linear_convection.jl index 587f276..92e100f 100644 --- a/lib/linear_convection.jl +++ b/lib/linear_convection.jl @@ -488,7 +488,7 @@ function trans_sin() bcs = [ u(0, z) ~ u_exact(0, z), u(t, 0) ~ u_exact(t, 0), - (t, 2π) ~ u_exact(t, 2π), + u(t, 2π) ~ u_exact(t, 2π), ] # Space and time domains @@ -506,7 +506,7 @@ function trans_sin() # PDESystem @named trans_sin = PDESystem( - eqs, bcs, domains, [t, z], [u(t, z)], analytic = ref, + eq, bcs, domains, [t, z], [u(t, z)], analytic = ref, metadata = tags ) diff --git a/test/qa/qa.jl b/test/qa/qa.jl index d77c55b..2c50f5d 100644 --- a/test/qa/qa.jl +++ b/test/qa/qa.jl @@ -1,5 +1,14 @@ using PDESystemLibrary, Aqua, JET using SciMLTesting -run_qa(PDESystemLibrary; Aqua = Aqua, JET = JET, jet = true, - jet_kwargs = (; target_defined_modules = true)) +# JET runs in `:typo` mode (the SciMLTesting `run_qa` default). The library's +# problem builders construct symbolic expressions from `@variables`/`@parameters`; +# `Symbolics.wrap` has a union return type that JET widens to include the callable +# wrapper `Symbolics.CallAndWrap` (only produced by `@variables u(..)`), so basic-mode +# analysis emits spurious `no matching method found` union-split reports for `+/-/*/cos/sin` +# on scalar variables that are always `Num` at runtime. Typo mode still catches real +# undefined-name errors without these dependency-inference false positives. +run_qa( + PDESystemLibrary; Aqua = Aqua, JET = JET, jet = true, + jet_kwargs = (; target_modules = (PDESystemLibrary,), mode = :typo) +)