From 5fea040e13a2957978b73df5fd6410742cc26898 Mon Sep 17 00:00:00 2001 From: odow Date: Wed, 23 Mar 2022 12:39:26 +1300 Subject: [PATCH 1/3] [Test] add a test for empty conic problem --- src/Test/test_conic.jl | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/Test/test_conic.jl b/src/Test/test_conic.jl index 81dde6dce5..fdb452f6bb 100644 --- a/src/Test/test_conic.jl +++ b/src/Test/test_conic.jl @@ -6791,3 +6791,34 @@ function setup_test( ) return end + +function test_conic_empty_matrix( + model::MOI.ModelLike, + config::Config{T}, +) where {T} + terms = MOI.VectorAffineTerm{Float64}[] + MOI.add_constraint( + model, + MOI.VectorAffineFunction(terms, [1.0, 0.5, 0.5]), + MOI.SecondOrderCone(3), + ) + MOI.optimize!(model) + status = MOI.get(model, MOI.TerminationStatus()) + @test status in (config.optimal_status, MOI.INVALID_MODEL) + return +end + +version_added(::typeof(test_conic_empty_matrix)) = v"1.1.1" + +function setup_test( + ::typeof(test_conic_empty_matrix), + model::MOIU.MockOptimizer, + ::Config{T}, +) where {T} + MOIU.set_mock_optimize!( + model, + (mock::MOIU.MockOptimizer) -> + MOIU.mock_optimize!(mock, MOI.INVALID_MODEL), + ) + return +end From 250366acbb12d2e1e500581828cb5b26235e7991 Mon Sep 17 00:00:00 2001 From: odow Date: Wed, 23 Mar 2022 13:18:21 +1300 Subject: [PATCH 2/3] Add requires --- src/Test/test_conic.jl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Test/test_conic.jl b/src/Test/test_conic.jl index fdb452f6bb..9dcc971a61 100644 --- a/src/Test/test_conic.jl +++ b/src/Test/test_conic.jl @@ -6796,10 +6796,13 @@ function test_conic_empty_matrix( model::MOI.ModelLike, config::Config{T}, ) where {T} + @requires _supports(config, MOI.optimize!) + F = MOI.VectorAffineFunction{T} + @requires MOI.supports_constraint(model, F, MOI.SecondOrderCone) terms = MOI.VectorAffineTerm{Float64}[] MOI.add_constraint( model, - MOI.VectorAffineFunction(terms, [1.0, 0.5, 0.5]), + MOI.VectorAffineFunction(terms, [T(2), T(1), T(1)]), MOI.SecondOrderCone(3), ) MOI.optimize!(model) From aa2d66843e36c67c09c6a72e16c9e6ad91de2a4e Mon Sep 17 00:00:00 2001 From: Oscar Dowson Date: Wed, 23 Mar 2022 13:46:10 +1300 Subject: [PATCH 3/3] Update src/Test/test_conic.jl --- src/Test/test_conic.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Test/test_conic.jl b/src/Test/test_conic.jl index 9dcc971a61..9837d9d65b 100644 --- a/src/Test/test_conic.jl +++ b/src/Test/test_conic.jl @@ -6799,7 +6799,7 @@ function test_conic_empty_matrix( @requires _supports(config, MOI.optimize!) F = MOI.VectorAffineFunction{T} @requires MOI.supports_constraint(model, F, MOI.SecondOrderCone) - terms = MOI.VectorAffineTerm{Float64}[] + terms = MOI.VectorAffineTerm{T}[] MOI.add_constraint( model, MOI.VectorAffineFunction(terms, [T(2), T(1), T(1)]),