Skip to content

Commit 1df60d4

Browse files
authored
Run tests in parallel (#269)
1 parent 3afd690 commit 1df60d4

File tree

5 files changed

+44
-25
lines changed

5 files changed

+44
-25
lines changed

Project.toml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "ArrayLayouts"
22
uuid = "4c555306-a7a7-4459-81d9-ec55ddd5c99a"
3-
authors = ["Sheehan Olver <solver@mac.com>"]
43
version = "1.12.2"
4+
authors = ["Sheehan Olver <solver@mac.com>"]
55

66
[deps]
77
FillArrays = "1a297f60-69ca-5386-bcde-b61e274b549b"
@@ -20,6 +20,7 @@ FillArrays = "1.2.1"
2020
Infinities = "0.1"
2121
JLArrays = "0.2"
2222
LinearAlgebra = "1"
23+
ParallelTestRunner = "2"
2324
Quaternions = "0.7"
2425
Random = "1"
2526
SparseArrays = "1"
@@ -32,11 +33,12 @@ julia = "1.10"
3233
Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595"
3334
Infinities = "e1ba4f0e-776d-440f-acd9-e1d2e9742647"
3435
JLArrays = "27aeb0d3-9eb9-45fb-866b-73c2ecf80fcb"
36+
ParallelTestRunner = "d3525ed8-44d0-4b2c-a655-542cee43accc"
3537
Quaternions = "94ee1d12-ae83-5a48-8b1c-48b8ff168ae0"
3638
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
3739
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
3840
StableRNGs = "860ef19b-820b-49d6-a774-d7a799459cd3"
3941
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
4042

4143
[targets]
42-
test = ["Aqua", "Infinities", "JLArrays", "Quaternions", "Random", "StableRNGs", "SparseArrays", "Test"]
44+
test = ["Aqua", "Infinities", "JLArrays", "ParallelTestRunner", "Quaternions", "Random", "StableRNGs", "SparseArrays", "Test"]

test/runtests.jl

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,28 @@
11
module ArrayLayoutsTests
22

33
import ArrayLayouts
4-
import Aqua
5-
import Random
6-
using Test
7-
8-
downstream_test = "--downstream_integration_test" in ARGS
9-
@testset "Project quality" begin
10-
Aqua.test_all(ArrayLayouts,
11-
ambiguities = false,
12-
piracies = (; broken=true),
13-
stale_deps = !downstream_test,
14-
)
4+
using ParallelTestRunner
5+
6+
const init_code = quote
7+
import Random
8+
Random.seed!(0)
9+
end
10+
11+
# Start with autodiscovered tests
12+
testsuite = find_tests(pwd())
13+
14+
if "--downstream_integration_test" in ARGS
15+
delete!(testsuite, "test_aqua")
1516
end
1617

17-
Random.seed!(0)
18+
filtered_args = filter(!=("--downstream_integration_test"), ARGS)
19+
# Parse arguments
20+
args = parse_args(filtered_args)
21+
22+
if filter_tests!(testsuite, args)
23+
delete!(testsuite, "infinitearrays")
24+
end
1825

19-
include("infinitearrays.jl")
20-
include("test_utils.jl")
21-
include("test_layouts.jl")
22-
include("test_muladd.jl")
23-
include("test_ldiv.jl")
24-
include("test_layoutarray.jl")
25-
include("test_cumsum.jl")
26+
runtests(ArrayLayouts, args; testsuite, init_code)
2627

2728
end

test/test_aqua.jl

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
module AquaTests
2+
3+
import Aqua
4+
import ArrayLayouts
5+
using Test
6+
7+
@testset "Project quality" begin
8+
Aqua.test_all(ArrayLayouts,
9+
ambiguities = false,
10+
piracies = (; broken=true),
11+
)
12+
end
13+
14+
end

test/test_cumsum.jl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
module TestCumsum
22

33
using ArrayLayouts, Test, Infinities
4-
using ..InfiniteArrays
4+
5+
include("infinitearrays.jl")
6+
using .InfiniteArrays
57

68
cmpop(p) = isinteger(real(first(p))) && isinteger(real(step(p))) ? (==) : ()
79

test/test_layoutarray.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ import ArrayLayouts: triangulardata, MemoryLayout
66
import LinearAlgebra: Diagonal, Bidiagonal, Tridiagonal, SymTridiagonal
77
import Base.Broadcast: BroadcastStyle, AbstractArrayStyle
88

9+
include("infinitearrays.jl")
10+
using .InfiniteArrays
11+
912
struct MyMatrix{T,M<:AbstractMatrix{T}} <: LayoutMatrix{T}
1013
A::M
1114
end
@@ -706,9 +709,6 @@ triangulardata(A::MyUpperTriangular) = triangulardata(A.A)
706709
VERSION >= v"1.9" && @test U / MyMatrix(A) U / A
707710
end
708711

709-
# Tests needed for InfiniteRandomArrays.jl (see https://github.com/DanielVandH/InfiniteRandomArrays.jl/issues/5)
710-
using ..InfiniteArrays
711-
712712
@testset "* for infinite layouts" begin
713713
tup = InfSymTridiagonal(), InfTridiagonal(), InfBidiagonal('U'),
714714
InfBidiagonal('L'),

0 commit comments

Comments
 (0)