|
1 | 1 | using SafeTestsets |
2 | 2 |
|
3 | | -@safetestset "Truncate" begin |
4 | | - include("truncate.jl") |
5 | | -end |
6 | | -@safetestset "QR / LQ Decomposition" begin |
7 | | - include("qr.jl") |
8 | | - include("lq.jl") |
9 | | -end |
10 | | -@safetestset "Singular Value Decomposition" begin |
11 | | - include("svd.jl") |
12 | | -end |
13 | | -@safetestset "Hermitian Eigenvalue Decomposition" begin |
14 | | - include("eigh.jl") |
15 | | -end |
16 | | -@safetestset "General Eigenvalue Decomposition" begin |
17 | | - include("eig.jl") |
18 | | -end |
19 | | -@safetestset "Schur Decomposition" begin |
20 | | - include("schur.jl") |
21 | | -end |
22 | | -@safetestset "Polar Decomposition" begin |
23 | | - include("polar.jl") |
24 | | -end |
25 | | -@safetestset "Image and Null Space" begin |
26 | | - include("orthnull.jl") |
27 | | -end |
28 | | -@safetestset "ChainRules" begin |
29 | | - include("chainrules.jl") |
| 3 | +pat = r"(?:--group=)(\w+)" |
| 4 | +arg_id = findfirst(pat, ARGS) |
| 5 | +const GROUP = if isnothing(arg_id) |
| 6 | + uppercase(get(ENV, "GROUP", "ALL")) |
| 7 | +else |
| 8 | + uppercase(only(match(pat, ARGS[arg_id]).captures)) |
30 | 9 | end |
31 | 10 |
|
32 | | -@safetestset "MatrixAlgebraKit.jl" begin |
33 | | - @safetestset "Code quality (Aqua.jl)" begin |
34 | | - using MatrixAlgebraKit |
35 | | - using Aqua |
36 | | - Aqua.test_all(MatrixAlgebraKit) |
| 11 | +@time begin |
| 12 | + if GROUP == "ALL" || GROUP == "DECOMPOSITIONS" |
| 13 | + @safetestset "Truncate" begin |
| 14 | + include("truncate.jl") |
| 15 | + end |
| 16 | + @safetestset "QR / LQ Decomposition" begin |
| 17 | + include("qr.jl") |
| 18 | + include("lq.jl") |
| 19 | + end |
| 20 | + @safetestset "Singular Value Decomposition" begin |
| 21 | + include("svd.jl") |
| 22 | + end |
| 23 | + @safetestset "Hermitian Eigenvalue Decomposition" begin |
| 24 | + include("eigh.jl") |
| 25 | + end |
| 26 | + @safetestset "General Eigenvalue Decomposition" begin |
| 27 | + include("eig.jl") |
| 28 | + end |
| 29 | + @safetestset "Schur Decomposition" begin |
| 30 | + include("schur.jl") |
| 31 | + end |
| 32 | + @safetestset "Polar Decomposition" begin |
| 33 | + include("polar.jl") |
| 34 | + end |
| 35 | + @safetestset "Image and Null Space" begin |
| 36 | + include("orthnull.jl") |
| 37 | + end |
| 38 | + end |
| 39 | + |
| 40 | + if GROUP == "ALL" || GROUP == "ChainRules" |
| 41 | + @safetestset "ChainRules" begin |
| 42 | + include("chainrules.jl") |
| 43 | + end |
37 | 44 | end |
38 | | - @safetestset "Code linting (JET.jl)" begin |
39 | | - using MatrixAlgebraKit |
40 | | - using JET |
41 | | - JET.test_package(MatrixAlgebraKit; target_defined_modules=true) |
| 45 | + |
| 46 | + if GROUP == "ALL" || GROUP == "CUDA" |
| 47 | + @safetestset "CUDA" begin |
| 48 | + include("cuda.jl") |
| 49 | + end |
| 50 | + end |
| 51 | + |
| 52 | + if GROUP == "ALL" || GROUP == "UTILITY" |
| 53 | + @safetestset "Code quality (Aqua.jl)" begin |
| 54 | + using MatrixAlgebraKit |
| 55 | + using Aqua |
| 56 | + Aqua.test_all(MatrixAlgebraKit) |
| 57 | + end |
| 58 | + @safetestset "Code linting (JET.jl)" begin |
| 59 | + using MatrixAlgebraKit |
| 60 | + using JET |
| 61 | + JET.test_package(MatrixAlgebraKit; target_defined_modules=true) |
| 62 | + end |
42 | 63 | end |
43 | 64 | end |
0 commit comments