Fix use of conditional preprocessor checks within a macro in tests - These are non-standard C++, and whilst they are accepted by GCC and Clang on *NIX and macOS, they are rejected by MSVC. Change-Id: Ie627d74bb02ebdce3dc5e13c2010616c26cb5dea
diff --git a/internal/ceres/sparse_cholesky_test.cc b/internal/ceres/sparse_cholesky_test.cc index 147711e..0bd5ad7 100644 --- a/internal/ceres/sparse_cholesky_test.cc +++ b/internal/ceres/sparse_cholesky_test.cc
@@ -230,9 +230,6 @@ SparseCholeskyTest, ::testing::Combine(::testing::Values(EIGEN_SPARSE), ::testing::Values(OrderingType::AMD, -#ifndef CERES_NO_EIGEN_METIS - OrderingType::NESDIS, -#endif // CERES_NO_EIGEN_METIS OrderingType::NATURAL), ::testing::Values(true, false)), ParamInfoToString); @@ -242,13 +239,28 @@ SparseCholeskyTest, ::testing::Combine(::testing::Values(EIGEN_SPARSE), ::testing::Values(OrderingType::AMD, -#ifndef CERES_NO_EIGEN_METIS - OrderingType::NESDIS, -#endif // CERES_NO_EIGEN_METIS OrderingType::NATURAL), ::testing::Values(true, false)), ParamInfoToString); -#endif +#endif // CERES_USE_EIGEN_SPARSE + +#if defined(CERES_USE_EIGEN_SPARSE) && !defined(CERES_NO_EIGEN_METIS) +INSTANTIATE_TEST_SUITE_P( + EigenSparseCholeskyMETIS, + SparseCholeskyTest, + ::testing::Combine(::testing::Values(EIGEN_SPARSE), + ::testing::Values(OrderingType::NESDIS), + ::testing::Values(true, false)), + ParamInfoToString); + +INSTANTIATE_TEST_SUITE_P( + EigenSparseCholeskySingleMETIS, + SparseCholeskyTest, + ::testing::Combine(::testing::Values(EIGEN_SPARSE), + ::testing::Values(OrderingType::NESDIS), + ::testing::Values(true, false)), + ParamInfoToString); +#endif // defined(CERES_USE_EIGEN_SPARSE) && !defined(CERES_NO_EIGEN_METIS) class MockSparseCholesky : public SparseCholesky { public: