diff --git a/dune/istl/test/CMakeLists.txt b/dune/istl/test/CMakeLists.txt index c486248367798657b0c6ee2fbb381d9450cd78e4..eea39bb2c55c86b23c5a84b61d504b9e9e38de4c 100644 --- a/dune/istl/test/CMakeLists.txt +++ b/dune/istl/test/CMakeLists.txt @@ -78,7 +78,8 @@ function(add_factory_test BLOCK) STRING(REGEX REPLACE "[^a-zA-Z0-9]" "" BLOCK_CLEAN ${BLOCK}) set(DEFINE_DEACTIVATE_AMG_DIRECTSOLVER "#define DISABLE_AMG_DIRECTSOLVER 1") configure_file(solverfactorytest.cc.in solverfactorytest_${BLOCK_CLEAN}.cc) - dune_add_test(SOURCES ${CMAKE_CURRENT_BINARY_DIR}/solverfactorytest_${BLOCK_CLEAN}.cc) + dune_add_test(SOURCES ${CMAKE_CURRENT_BINARY_DIR}/solverfactorytest_${BLOCK_CLEAN}.cc + CMAKE_GUARD HAVE_MPI) string(REGEX MATCH "LoopSIMD" _matched "${BLOCK}") if(NOT _matched) set(DEFINE_DEACTIVATE_AMG_DIRECTSOLVER "") @@ -87,6 +88,7 @@ function(add_factory_test BLOCK) MPI_RANKS 1 2 4 TIMEOUT 600 CMAKE_GUARD + HAVE_MPI SuiteSparse_CHOLMOD_FOUND SuiteSparse_LDL_FOUND SuiteSparse_SPQR_FOUND diff --git a/dune/istl/test/matrixmarkettest.cc b/dune/istl/test/matrixmarkettest.cc index b335afe610907ffd57dcc8aa63db623c10d5847b..ce30e8ae796e1d3634506266516d700d3e830336 100644 --- a/dune/istl/test/matrixmarkettest.cc +++ b/dune/istl/test/matrixmarkettest.cc @@ -52,7 +52,7 @@ int testMatrixMarket(int N) storeMatrixMarket(mat, std::string("testmat"), comm); storeMatrixMarket(bv, std::string("testvec"), comm, false); #else - typedef Dune::MatrixAdapter<BCRSMat,BVector,BVector> Operator; + typedef Dune::MatrixAdapter<Matrix,Vector,Vector> Operator; Operator op(mat); op.apply(bv, cv); diff --git a/dune/istl/test/overlappingschwarztest.cc b/dune/istl/test/overlappingschwarztest.cc index 66fd89558413373f5a4f5840be35b2af84357154..1fec3ed4df0c2b1d8bfc11a8797bc6a942169b95 100644 --- a/dune/istl/test/overlappingschwarztest.cc +++ b/dune/istl/test/overlappingschwarztest.cc @@ -257,7 +257,6 @@ Dune::TestSuite test(int argc, char** argv) int main(int argc, char** argv){ Dune::TestSuite suite; - suite.require(HAVE_SUPERLU || HAVE_SUITESPARSE_UMFPACK) << "You need SuperLU or SuiteSparse's UMFPack to run this test."; suite.subTest(test<Dune::FieldMatrix<double, 1, 1>, Dune::FieldVector<double, 1>>(argc, argv)); suite.subTest(test<double, double>(argc, argv)); return suite.exit(); diff --git a/dune/istl/test/scalarproductstest.cc b/dune/istl/test/scalarproductstest.cc index 452b1d8932e08bc97488891b569867aef693affe..f46ce2a97a7d5e0600302d1516da7adc154e9862 100644 --- a/dune/istl/test/scalarproductstest.cc +++ b/dune/istl/test/scalarproductstest.cc @@ -115,6 +115,7 @@ int main(int argc, char** argv) scalarProductTest<ScalarProduct, Vector>(scalarProduct,numBlocks); } +#if HAVE_MPI // Test the ParallelScalarProduct class { using Vector = BlockVector<FieldVector<double,BlockSize> >; @@ -139,6 +140,7 @@ int main(int argc, char** argv) ScalarProduct scalarProduct(communicator,SolverCategory::nonoverlapping); scalarProductTest<ScalarProduct, Vector>(scalarProduct,numBlocks); } +#endif return t.exit(); }