Skip to content

Commit 5209ff4

Browse files
Add sublibrary test groups to CI
Run each sublibrary's test suite as a separate CI group: - RaggedArrays: RecursiveArrayToolsRaggedArrays (430 tests) - ArrayPartitionAnyAll: optimized any/all (30 tests) - ShorthandConstructors: VA[...]/AP[...] syntax (7 tests) Each group activates the sublibrary's own Project.toml environment, dev's the parent package, and runs Pkg.test(). Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent c4c22d6 commit 5209ff4

2 files changed

Lines changed: 22 additions & 20 deletions

File tree

.github/workflows/Tests.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ jobs:
2828
- "pre"
2929
group:
3030
- "Core"
31+
- "RaggedArrays"
32+
- "ArrayPartitionAnyAll"
33+
- "ShorthandConstructors"
3134
- "Downstream"
3235
- "nopre"
3336
exclude:

test/runtests.jl

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -53,26 +53,25 @@ end
5353
@time @safetestset "SymbolicIndexingInterface API test" include("symbolic_indexing_interface_test.jl")
5454
end
5555

56-
if GROUP == "Subpackages" || GROUP == "All"
57-
# Test that loading RecursiveArrayToolsArrayPartitionAnyAll overrides any/all
58-
Pkg.develop(
59-
PackageSpec(
60-
path = joinpath(dirname(@__DIR__), "lib", "RecursiveArrayToolsArrayPartitionAnyAll")
61-
)
62-
)
63-
@time @safetestset "ArrayPartition AnyAll Subpackage" begin
64-
using RecursiveArrayTools, RecursiveArrayToolsArrayPartitionAnyAll, Test
65-
# Verify optimized methods are active
66-
m_any = which(any, Tuple{Function, ArrayPartition})
67-
m_all = which(all, Tuple{Function, ArrayPartition})
68-
@test occursin("ArrayPartitionAnyAll", string(m_any.module))
69-
@test occursin("ArrayPartitionAnyAll", string(m_all.module))
70-
# Verify correctness
71-
@test any(isnan, ArrayPartition([NaN], [1.0]))
72-
@test !any(isnan, ArrayPartition([1.0], [2.0]))
73-
@test all(isnan, ArrayPartition([NaN], [NaN]))
74-
@test !all(isnan, ArrayPartition([NaN], [1.0]))
75-
end
56+
if GROUP == "RaggedArrays"
57+
Pkg.activate(joinpath(dirname(@__DIR__), "lib", "RecursiveArrayToolsRaggedArrays"))
58+
Pkg.develop(PackageSpec(path = dirname(@__DIR__)))
59+
Pkg.instantiate()
60+
Pkg.test()
61+
end
62+
63+
if GROUP == "ArrayPartitionAnyAll"
64+
Pkg.activate(joinpath(dirname(@__DIR__), "lib", "RecursiveArrayToolsArrayPartitionAnyAll"))
65+
Pkg.develop(PackageSpec(path = dirname(@__DIR__)))
66+
Pkg.instantiate()
67+
Pkg.test()
68+
end
69+
70+
if GROUP == "ShorthandConstructors"
71+
Pkg.activate(joinpath(dirname(@__DIR__), "lib", "RecursiveArrayToolsShorthandConstructors"))
72+
Pkg.develop(PackageSpec(path = dirname(@__DIR__)))
73+
Pkg.instantiate()
74+
Pkg.test()
7675
end
7776

7877
if GROUP == "Downstream"

0 commit comments

Comments
 (0)