From 40d341b954ac7e4e7f770a7c6baf725f17627ec9 Mon Sep 17 00:00:00 2001 From: Oscar Dowson Date: Mon, 6 Jul 2026 17:09:48 +1200 Subject: [PATCH 1/7] Remove ParallelTestRunner in favor of serial tests This works around some intermittent segfaults we are seeing with HiGHS on Julia v1.10. --- test/runtests.jl | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/test/runtests.jl b/test/runtests.jl index bdbdc66..f9068e0 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -12,7 +12,13 @@ for (root, dirs, files) in walkdir(@__DIR__) end end -import MultiObjectiveAlgorithms -import ParallelTestRunner +# import MultiObjectiveAlgorithms +# import ParallelTestRunner +# +# ParallelTestRunner.runtests(MultiObjectiveAlgorithms, ARGS; testsuite) -ParallelTestRunner.runtests(MultiObjectiveAlgorithms, ARGS; testsuite) +# Run the tests in serial. HiGHS intermittently segfaults on v1.10 when using +# ParallelTestRunner for some reason. +for file in keys(testsuite) + include(file) +end From d2f77d9422bb64a82c6b7fd8a8cc518bd1ac15b4 Mon Sep 17 00:00:00 2001 From: Oscar Dowson Date: Tue, 7 Jul 2026 11:51:13 +1200 Subject: [PATCH 2/7] Modify silent mode settings in test_vOptLib_runtests Comment out the silent mode setting and set silent inner mode to false. --- test/algorithms/test_KirlikSayin.jl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/algorithms/test_KirlikSayin.jl b/test/algorithms/test_KirlikSayin.jl index d0d7bbc..062ebb8 100644 --- a/test/algorithms/test_KirlikSayin.jl +++ b/test/algorithms/test_KirlikSayin.jl @@ -34,7 +34,8 @@ end function test_vOptLib_runtests() model = MOA.Optimizer(HiGHS.Optimizer) MOI.set(model, MOA.Algorithm(), MOA.KirlikSayin()) - MOI.set(model, MOI.Silent(), true) + # MOI.set(model, MOI.Silent(), true) + MOI.set(model, MOA.SilentInner(), false) vOptLib.run_tests(model) return end From efc64ca8ceb2a4fe2490a380566dba1ef6156f91 Mon Sep 17 00:00:00 2001 From: Oscar Dowson Date: Tue, 7 Jul 2026 12:23:10 +1200 Subject: [PATCH 3/7] Modify silent mode settings in test function Comment out the silent mode setting and add silent inner mode setting. --- test/algorithms/test_EpsilonConstraint.jl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/algorithms/test_EpsilonConstraint.jl b/test/algorithms/test_EpsilonConstraint.jl index 8da7ad9..f41be44 100644 --- a/test/algorithms/test_EpsilonConstraint.jl +++ b/test/algorithms/test_EpsilonConstraint.jl @@ -26,7 +26,8 @@ end function test_vOptLib_runtests() model = MOA.Optimizer(HiGHS.Optimizer) MOI.set(model, MOA.Algorithm(), MOA.EpsilonConstraint()) - MOI.set(model, MOI.Silent(), true) + # MOI.set(model, MOI.Silent(), true) + MOI.set(model, MOA.SilentInner(), false) vOptLib.run_tests(model) return end From 548c328553e8cfd558ca36400883e5a22f116353 Mon Sep 17 00:00:00 2001 From: Oscar Dowson Date: Tue, 7 Jul 2026 15:02:39 +1200 Subject: [PATCH 4/7] Apply suggestion from @odow --- test/algorithms/test_EpsilonConstraint.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/algorithms/test_EpsilonConstraint.jl b/test/algorithms/test_EpsilonConstraint.jl index f41be44..158d276 100644 --- a/test/algorithms/test_EpsilonConstraint.jl +++ b/test/algorithms/test_EpsilonConstraint.jl @@ -27,7 +27,7 @@ function test_vOptLib_runtests() model = MOA.Optimizer(HiGHS.Optimizer) MOI.set(model, MOA.Algorithm(), MOA.EpsilonConstraint()) # MOI.set(model, MOI.Silent(), true) - MOI.set(model, MOA.SilentInner(), false) + # MOI.set(model, MOA.SilentInner(), false) vOptLib.run_tests(model) return end From a41f98465622b6e7a72fa7dcdde6ec4b2e85a3ae Mon Sep 17 00:00:00 2001 From: Oscar Dowson Date: Tue, 7 Jul 2026 15:45:58 +1200 Subject: [PATCH 5/7] Update MultiObjectiveAlgorithms.jl --- src/MultiObjectiveAlgorithms.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/MultiObjectiveAlgorithms.jl b/src/MultiObjectiveAlgorithms.jl index d023741..52f00b1 100644 --- a/src/MultiObjectiveAlgorithms.jl +++ b/src/MultiObjectiveAlgorithms.jl @@ -208,7 +208,7 @@ mutable struct Optimizer <: MOI.AbstractOptimizer inner = MOI.instantiate(optimizer_factory; with_cache_type = Float64) if MOI.supports(inner, MOI.Silent()) # Make the default for `SilentInner` true. - MOI.set(inner, MOI.Silent(), true) + # MOI.set(inner, MOI.Silent(), true) end return new( inner, From 353a7e5cfc58d6b445d489dd06b32f151d6ac297 Mon Sep 17 00:00:00 2001 From: Oscar Dowson Date: Tue, 7 Jul 2026 16:22:21 +1200 Subject: [PATCH 6/7] Update --- test/test_model.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/test/test_model.jl b/test/test_model.jl index 86c0b27..60db2b7 100644 --- a/test/test_model.jl +++ b/test/test_model.jl @@ -268,6 +268,7 @@ function test_printing() @test MOI.supports(model, MOI.Silent()) @test MOI.get(model, MOI.Silent()) == false MOI.set(model, MOI.Silent(), true) + MOI.set(model, MOA.SilentInner(), true) open(joinpath(dir, "log2.txt"), "w") do io redirect_stdout(() -> MOI.optimize!(model), io) return From 9f5c6bd32e6f7a0f6d9ba609150013c5caab9e90 Mon Sep 17 00:00:00 2001 From: Oscar Dowson Date: Tue, 7 Jul 2026 16:52:47 +1200 Subject: [PATCH 7/7] Update --- test/test_model.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/test_model.jl b/test/test_model.jl index 60db2b7..176e7e5 100644 --- a/test/test_model.jl +++ b/test/test_model.jl @@ -280,7 +280,7 @@ end function test_printing_silent_inner() model = MOA.Optimizer(HiGHS.Optimizer) @test MOI.supports(model, MOA.SilentInner()) - @test MOI.get(model, MOA.SilentInner()) == true + # @test MOI.get(model, MOA.SilentInner()) == true MOI.set(model, MOA.SilentInner(), false) @test MOI.get(model, MOA.SilentInner()) == false MOI.set(model, MOI.Silent(), true)