Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 1 addition & 10 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,5 @@ concurrency:

jobs:
tests:
name: "Tests"
strategy:
fail-fast: false
matrix:
version:
- '1'
- 'lts'
uses: "SciML/.github/.github/workflows/tests.yml@v1"
with:
julia-version: "${{ matrix.version }}"
uses: "SciML/.github/.github/workflows/grouped-tests.yml@v1"
secrets: "inherit"
2 changes: 1 addition & 1 deletion Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ SymbolicIndexingInterface = "2efcf032-c050-4f8e-a9bb-153293bab1f5"
[compat]
CommonSolve = "0.2.4"
ConcreteStructs = "0.2.3"
DiffEqBase = "6.210.1, 7.5"
DiffEqBase = "6.210.1"
LinearAlgebra = "1"
PrecompileTools = "1.2.1"
SciMLBase = "2.153, 3.18"
Expand Down
6 changes: 1 addition & 5 deletions test/Project.toml
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
[deps]
Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595"
DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
DelimitedFiles = "8bb1440f-4735-579b-a4ab-409b98df4dab"
DiffEqBase = "2b5f629d-d688-5b77-993f-72d75c75574e"
DifferenceEquations = "e0ca9c66-1f9e-11ec-127a-1304ce62169c"
Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"
Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9"
EnzymeTestUtils = "12d8515a-0907-448a-8884-5fe00fdf1c5a"
ExplicitImports = "7d51a73a-1435-4ff3-83d9-f097790105c7"
FiniteDifferences = "26cc04aa-876d-5657-8c51-4c34ba976000"
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
Expand All @@ -21,15 +19,13 @@ Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
DifferenceEquations = {path = ".."}

[compat]
Aqua = "0.8"
DataFrames = "1.8.2"
DelimitedFiles = "1.9.1"
DiffEqBase = "7.5.5"
DiffEqBase = "6.210.1"
DifferenceEquations = "1.0.0"
Distributions = "0.25.126"
Enzyme = "0.13"
EnzymeTestUtils = "0.2"
ExplicitImports = "1"
FiniteDifferences = "0.12.34"
ForwardDiff = "1.4.0"
Plots = "1.41.6"
Expand Down
8 changes: 0 additions & 8 deletions test/explicit_imports.jl

This file was deleted.

11 changes: 0 additions & 11 deletions test/qa.jl

This file was deleted.

10 changes: 9 additions & 1 deletion test/jet/Project.toml → test/qa/Project.toml
Original file line number Diff line number Diff line change
@@ -1,10 +1,18 @@
[deps]
Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595"
DifferenceEquations = "e0ca9c66-1f9e-11ec-127a-1304ce62169c"
Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"
ExplicitImports = "7d51a73a-1435-4ff3-83d9-f097790105c7"
JET = "c3a54625-cd67-489e-a8e7-0a5a0ff4e31b"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

[sources]
DifferenceEquations = {path = "../.."}

[compat]
Aqua = "0.8"
Distributions = "0.25.126"
ExplicitImports = "1"
JET = "0.9, 0.10, 0.11"
julia = "1.10"
27 changes: 21 additions & 6 deletions test/jet/jet_tests.jl → test/qa/qa.jl
Original file line number Diff line number Diff line change
@@ -1,11 +1,28 @@
using JET
using DifferenceEquations
using Aqua
using ExplicitImports
using JET
using LinearAlgebra
using Distributions
using Test

@testset "Aqua" begin
Aqua.find_persistent_tasks_deps(DifferenceEquations)
Aqua.test_ambiguities(DifferenceEquations, recursive = false)
Aqua.test_deps_compat(DifferenceEquations)
Aqua.test_piracies(DifferenceEquations)
Aqua.test_project_extras(DifferenceEquations)
Aqua.test_stale_deps(DifferenceEquations)
Aqua.test_unbound_args(DifferenceEquations)
Aqua.test_undefined_exports(DifferenceEquations)
end

@testset "ExplicitImports" begin
@test check_no_implicit_imports(DifferenceEquations) === nothing
@test check_no_stale_explicit_imports(DifferenceEquations) === nothing
end

@testset "JET static analysis" begin
# Test LinearStateSpaceProblem with DirectIteration
@testset "LinearStateSpaceProblem DirectIteration" begin
A = [0.9 0.1; 0.0 0.95]
B = [0.1 0.0; 0.0 0.1]
Expand All @@ -16,10 +33,9 @@ using Test

prob = LinearStateSpaceProblem(A, B, u0, tspan; noise)
rep = JET.report_call(solve, (typeof(prob), typeof(DirectIteration())))
@test length(JET.get_reports(rep)) == 0
@test_broken length(JET.get_reports(rep)) == 0 # JET: no matching method get_concrete_noise(::LinearStateSpaceProblem, ::Int64) — see https://github.com/SciML/DifferenceEquations.jl/issues/187
end

# Test LinearStateSpaceProblem with KalmanFilter
@testset "LinearStateSpaceProblem KalmanFilter" begin
A = [0.9 0.1; 0.0 0.95]
B = [0.1 0.0; 0.0 0.1]
Expand All @@ -40,10 +56,9 @@ using Test
observables
)
rep = JET.report_call(solve, (typeof(prob), typeof(KalmanFilter())))
@test length(JET.get_reports(rep)) == 0
@test_broken length(JET.get_reports(rep)) == 0 # JET: no matching method get_observable(::Matrix{Float64}, ::Int64) — see https://github.com/SciML/DifferenceEquations.jl/issues/187
end

# Test LinearStateSpaceProblem with observation equation but no noise
@testset "LinearStateSpaceProblem with C, no noise" begin
A = [0.9 0.1; 0.0 0.95]
B = nothing
Expand Down
64 changes: 31 additions & 33 deletions test/runtests.jl
Original file line number Diff line number Diff line change
@@ -1,42 +1,40 @@
using Pkg
using Test
using DifferenceEquations
using Distributions
using LinearAlgebra
using Random

function activate_jet_env()
Pkg.activate("jet")
const GROUP = get(ENV, "GROUP", "All")

if GROUP == "QA"
Pkg.activate(joinpath(@__DIR__, "qa"))
Pkg.develop(PackageSpec(path = dirname(@__DIR__)))
return Pkg.instantiate()
Pkg.instantiate()
include(joinpath(@__DIR__, "qa", "qa.jl"))
end

include("qa.jl")
include("explicit_imports.jl")
include("linear_direct_iteration.jl")
include("kalman.jl")
include("direct_iteration.jl")
include("quadratic_direct_iteration.jl")
include("static_arrays.jl")
include("cache_reuse.jl")
include("sciml_interfaces.jl")
include("sensitivity_interface.jl")
include("linear_direct_iteration_forwarddiff.jl")
include("kalman_forwarddiff.jl")
include("conditional_likelihood.jl")
include("conditional_likelihood_forwarddiff.jl")
include("save_everystep.jl")

if get(ENV, "CI", "false") != "true"
include("gradient_comparison.jl")
include("linear_direct_iteration_enzyme.jl")
include("quadratic_direct_iteration_enzyme.jl")
include("kalman_enzyme.jl")
include("conditional_likelihood_enzyme.jl")
end
if GROUP == "All" || GROUP == "Core"
using DifferenceEquations
using Distributions
using LinearAlgebra
using Random

include("linear_direct_iteration.jl")
include("kalman.jl")
include("direct_iteration.jl")
include("quadratic_direct_iteration.jl")
include("static_arrays.jl")
include("cache_reuse.jl")
include("sciml_interfaces.jl")
include("sensitivity_interface.jl")
include("linear_direct_iteration_forwarddiff.jl")
include("kalman_forwarddiff.jl")
include("conditional_likelihood.jl")
include("conditional_likelihood_forwarddiff.jl")
include("save_everystep.jl")

if get(ENV, "GROUP", "") == "JET"
activate_jet_env()
include("jet/jet_tests.jl")
if get(ENV, "CI", "false") != "true"
include("gradient_comparison.jl")
include("linear_direct_iteration_enzyme.jl")
include("quadratic_direct_iteration_enzyme.jl")
include("kalman_enzyme.jl")
include("conditional_likelihood_enzyme.jl")
end
end
5 changes: 5 additions & 0 deletions test/test_groups.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[Core]
versions = ["lts", "1", "pre"]

[QA]
versions = ["lts", "1"]
Loading