/
runtests.jl
62 lines (53 loc) · 1.9 KB
/
runtests.jl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
using Convex
using Convex.ProblemDepot: run_tests
using Test
using SCS, ECOS, GLPK
using MathOptInterface
const MOI = MathOptInterface
const MOIU = MOI.Utilities
# Seed random number stream to improve test reliability
using Random
Random.seed!(2)
@testset "ProblemDepot" begin
@testset "Problems can run without `solve!`ing if `test==false`; T=$T" for T in (Float64, BigFloat)
Convex.ProblemDepot.foreach_problem() do name, func
@testset "$name" begin
# We want to check to make sure this does not throw
func(Val(false), 0.0, 0.0, T) do problem
@test problem isa Convex.Problem{T} # check numeric type
model = MOIU.MockOptimizer(MOIU.Model{T}())
Convex.load_MOI_model!(model, problem) # make sure it loads without throwing
end
end
end
end
end
@testset "Definitions" begin
include("definitions.jl")
end
@testset "Convex" begin
include("test_utilities.jl")
include("test_abstract_variable.jl")
@testset "SCS with warmstarts" begin
# We exclude `sdp_sdp_constraints` since it seems to hit a bug https://github.com/jump-dev/SCS.jl/issues/167
run_tests(; exclude=[r"mip", r"sdp_sdp_constraints"]) do p
solve!(p, () -> SCS.Optimizer(verbose=0, eps=1e-6); warmstart = true)
end
end
@testset "SCS" begin
# Exclusions same as for "SCS with warmstarts"
run_tests(; exclude=[r"mip", r"sdp_sdp_constraints"]) do p
solve!(p, () -> SCS.Optimizer(verbose=0, eps=1e-6))
end
end
@testset "ECOS" begin
run_tests(; exclude=[r"mip", r"sdp"]) do p
solve!(p, ECOS.Optimizer; silent_solver=true)
end
end
@testset "GLPK" begin
run_tests(; exclude=[r"exp", r"sdp", r"socp"]) do p
solve!(p, GLPK.Optimizer; silent_solver=true)
end
end
end