From 0175738321f4ca9b0910e731c0a156b1065d2418 Mon Sep 17 00:00:00 2001 From: Vitor Sessak Date: Thu, 26 Jun 2025 15:44:02 +0000 Subject: [PATCH] Split very large tests into smaller individual test cases --- cpp/tests/mip/feasibility_jump_tests.cu | 64 +++++++++++++------------ 1 file changed, 33 insertions(+), 31 deletions(-) diff --git a/cpp/tests/mip/feasibility_jump_tests.cu b/cpp/tests/mip/feasibility_jump_tests.cu index d2d878daa..0fdb4528d 100644 --- a/cpp/tests/mip/feasibility_jump_tests.cu +++ b/cpp/tests/mip/feasibility_jump_tests.cu @@ -220,40 +220,42 @@ static bool run_fj_check_feasible(std::string test_instance) return true; } -TEST(mip_solve, feasibility_jump_obj_test) +class MIPSolveParametricTest : public testing::TestWithParam> { +}; + +TEST_P(MIPSolveParametricTest, feasibility_jump_obj_test) { - std::vector> test_cases = { - {"50v-10.mps", 7800, 100000}, - {"fiball.mps", 140, 25000}, - {"gen-ip054.mps", 7500, 20000}, - {"sct2.mps", 100, 50000}, - {"uccase9.mps", 4000000, 50000}, - // unstable, prone to failure on slight weight changes - //{"drayage-25-23.mps", 300000, 50000}, - {"tr12-30.mps", 300000, 50000}, - {"neos-3004026-krka.mps", +std::numeric_limits::infinity(), 35000}, // feasibility - //{"nursesched-medium-hint03.mps", 12000, 50000}, // too large - {"ns1208400.mps", 2, 60000}, - {"gmu-35-50.mps", -2300000, 25000}, - {"n2seq36q.mps", 158800, 25000}, - {"seymour1.mps", 440, 50000}, - {"rmatr200-p5.mps", 7000, 10000}, - {"cvs16r128-89.mps", -50, 10000}, - // TEMPORARY: occasional cusparse transpose issues on ARM in CI + auto [instance, obj_target, iter_limit] = GetParam(); + EXPECT_TRUE(run_fj_check_objective(instance, iter_limit, obj_target)); +} + +INSTANTIATE_TEST_SUITE_P( + MIPSolveTest, + MIPSolveParametricTest, + testing::Values(std::make_tuple("50v-10.mps", 7800, 100000), + std::make_tuple("fiball.mps", 140, 25000), + std::make_tuple("gen-ip054.mps", 7500, 20000), + std::make_tuple("sct2.mps", 100, 50000), + std::make_tuple("uccase9.mps", 4000000, 50000), + // unstable, prone to failure on slight weight changes + // std::make_tuple("drayage-25-23.mps", 300000, 50000), + std::make_tuple("tr12-30.mps", 300000, 50000), + std::make_tuple("neos-3004026-krka.mps", + +std::numeric_limits::infinity(), + 35000), // feasibility + // std::make_tuple("nursesched-medium-hint03.mps", 12000, 50000), // too large + std::make_tuple("ns1208400.mps", 2, 60000), + std::make_tuple("gmu-35-50.mps", -2300000, 25000), + std::make_tuple("n2seq36q.mps", 158800, 25000), + std::make_tuple("seymour1.mps", 440, 50000), + std::make_tuple("rmatr200-p5.mps", 7000, 10000), + std::make_tuple("cvs16r128-89.mps", -50, 10000) +// TEMPORARY: occasional cusparse transpose issues on ARM in CI #ifndef __aarch64__ - {"thor50dday.mps", 250000, 1000} + , + std::make_tuple("thor50dday.mps", 250000, 1000) #endif - }; - - for (auto [instance, obj_target, iter_limit] : test_cases) { - bool result = run_fj_check_objective(instance, iter_limit, obj_target); - // Abort early - if (!result) { - printf("failure"); - exit(0); - } - } -} + )); TEST(mip_solve, feasibility_jump_feas_test) {