Skip to content

Commit 517cc85

Browse files
authored
switch tests to ParallelTestRunner (#155)
1 parent 8ec0063 commit 517cc85

File tree

3 files changed

+37
-57
lines changed

3 files changed

+37
-57
lines changed

Project.toml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ GenericSchur = "0.5.6"
3333
JET = "0.9, 0.10"
3434
LinearAlgebra = "1"
3535
Mooncake = "0.4.183"
36+
ParallelTestRunner = "2"
3637
Random = "1"
3738
SafeTestsets = "0.1"
3839
StableRNGs = "1"
@@ -48,6 +49,7 @@ ChainRulesTestUtils = "cdddcdb0-9152-4a09-a978-84456f9df70a"
4849
CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
4950
JET = "c3a54625-cd67-489e-a8e7-0a5a0ff4e31b"
5051
Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6"
52+
ParallelTestRunner = "d3525ed8-44d0-4b2c-a655-542cee43accc"
5153
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
5254
SafeTestsets = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f"
5355
StableRNGs = "860ef19b-820b-49d6-a774-d7a799459cd3"
@@ -57,4 +59,5 @@ Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f"
5759

5860
[targets]
5961
test = ["Aqua", "JET", "SafeTestsets", "Test", "TestExtras", "ChainRulesCore",
60-
"ChainRulesTestUtils", "Random", "StableRNGs", "Zygote", "CUDA", "AMDGPU", "GenericLinearAlgebra", "GenericSchur", "Mooncake"]
62+
"ChainRulesTestUtils", "Random", "StableRNGs", "Zygote", "CUDA", "AMDGPU",
63+
"GenericLinearAlgebra", "GenericSchur", "Mooncake", "ParallelTestRunner"]

test/codequality.jl

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
using MatrixAlgebraKit
2+
3+
using Aqua
4+
Aqua.test_all(MatrixAlgebraKit)
5+
6+
using JET
7+
JET.test_package(MatrixAlgebraKit; target_defined_modules = true)

test/runtests.jl

Lines changed: 26 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,30 @@
1-
using SafeTestsets
1+
using ParallelTestRunner
2+
using MatrixAlgebraKit
23

3-
is_buildkite = get(ENV, "BUILDKITE", "false") == "true"
4-
# don't run all tests on GPU, only the GPU
5-
# specific ones
6-
if !is_buildkite
7-
@safetestset "Algorithms" begin
8-
include("algorithms.jl")
9-
end
10-
@safetestset "Truncate" begin
11-
include("truncate.jl")
12-
end
13-
@safetestset "Generalized Eigenvalue Decomposition" begin
14-
include("gen_eig.jl")
15-
end
16-
@safetestset "Mooncake" begin
17-
include("mooncake.jl")
18-
end
19-
@safetestset "ChainRules" begin
20-
include("chainrules.jl")
21-
end
22-
@safetestset "MatrixAlgebraKit.jl" begin
23-
@safetestset "Code quality (Aqua.jl)" begin
24-
using MatrixAlgebraKit
25-
using Aqua
26-
Aqua.test_all(MatrixAlgebraKit)
27-
end
28-
@safetestset "Code linting (JET.jl)" begin
29-
using MatrixAlgebraKit
30-
using JET
31-
JET.test_package(MatrixAlgebraKit; target_defined_modules = true)
32-
end
4+
# Start with autodiscovered tests
5+
testsuite = find_tests(@__DIR__)
6+
7+
# remove testsuite
8+
filter!(!(startswith("testsuite") first), testsuite)
9+
10+
# remove utils
11+
delete!(testsuite, "utilities")
12+
delete!(testsuite, "ad_utils")
13+
14+
# Parse arguments
15+
args = parse_args(ARGS)
16+
17+
if filter_tests!(testsuite, args)
18+
# don't run all tests on GPU, only the GPU specific ones
19+
is_buildkite = get(ENV, "BUILDKITE", "false") == "true"
20+
if is_buildkite
21+
delete!(testsuite, "algorithms")
22+
delete!(testsuite, "truncate")
23+
delete!(testsuite, "gen_eig")
24+
delete!(testsuite, "mooncake")
25+
delete!(testsuite, "chainrules")
26+
delete!(testsuite, "codequality")
3327
end
3428
end
3529

36-
@safetestset "QR / LQ Decomposition" begin
37-
include("qr.jl")
38-
include("lq.jl")
39-
end
40-
@safetestset "Polar Decomposition" begin
41-
include("polar.jl")
42-
end
43-
@safetestset "Projections" begin
44-
include("projections.jl")
45-
end
46-
@safetestset "Schur Decomposition" begin
47-
include("schur.jl")
48-
end
49-
@safetestset "General Eigenvalue Decomposition" begin
50-
include("eig.jl")
51-
end
52-
@safetestset "Hermitian Eigenvalue Decomposition" begin
53-
include("eigh.jl")
54-
end
55-
@safetestset "Image and Null Space" begin
56-
include("orthnull.jl")
57-
end
58-
@safetestset "Singular Value Decomposition" begin
59-
include("svd.jl")
60-
end
30+
runtests(MatrixAlgebraKit, args; testsuite)

0 commit comments

Comments
 (0)