diff --git a/dune/istl/eigenvalue/test/CMakeLists.txt b/dune/istl/eigenvalue/test/CMakeLists.txt index 05421b0c5b6d5f2ccd54d9bbe6ce8e59a4498202..5a40d2d7350d456e4f0307f7be85ca73bce8d76c 100644 --- a/dune/istl/eigenvalue/test/CMakeLists.txt +++ b/dune/istl/eigenvalue/test/CMakeLists.txt @@ -7,14 +7,14 @@ if(SUPERLU_FOUND) add_dune_superlu_flags(poweriterationsuperlutest) dune_add_test(TARGET poweriterationsuperlutest) target_link_libraries(poweriterationsuperlutest dunecommon) -endif(SUPERLU_FOUND) +endif() if(ARPACKPP_FOUND) add_executable(arpackpptest cond2test.cc) add_dune_arpackpp_flags(arpackpptest) target_link_libraries(arpackpptest dunecommon) dune_add_test(TARGET arpackpptest) -endif(ARPACKPP_FOUND) +endif() if(ARPACKPP_FOUND AND SUPERLU_FOUND) dune_add_test(NAME arpackppsuperlutest diff --git a/dune/istl/eigenvalue/test/cond2test.cc b/dune/istl/eigenvalue/test/cond2test.cc index 3ba7a5a50c7fb629a1f00c210df79dfb3139e880..3f6d2b85dc389f3fea478bfb2368afac012d16a0 100644 --- a/dune/istl/eigenvalue/test/cond2test.cc +++ b/dune/istl/eigenvalue/test/cond2test.cc @@ -1,4 +1,4 @@ -#include "config.h" +#include <config.h> #include <iostream> @@ -52,15 +52,9 @@ int main (int argc, char** argv) return 0; } - catch (Dune::Exception& e) - { - std::cerr << "Dune reported error: " << e << std::endl; - return 1; - } catch (std::exception& e) { - std::cerr << "Standard library reported error: " << e.what() << std::endl; - return 1; + throw; } catch (...) { diff --git a/dune/istl/paamg/test/CMakeLists.txt b/dune/istl/paamg/test/CMakeLists.txt index d11e26cd4b91b1d7e7f066c39ccd7c98527a3642..01c56f8f1ba8167d1dfe3077ba02de8bf80719d4 100644 --- a/dune/istl/paamg/test/CMakeLists.txt +++ b/dune/istl/paamg/test/CMakeLists.txt @@ -51,7 +51,7 @@ if(SUPERLU_FOUND) add_dune_superlu_flags(superlufastamgtest) target_link_libraries(superlufastamgtest ${DUNE_LIBS}) dune_add_test(TARGET superlufastamgtest) -endif(SUPERLU_FOUND) +endif() if(SuiteSparse_UMFPACK_FOUND) dune_add_test(NAME umfpackamgtest diff --git a/dune/istl/pardiso.hh b/dune/istl/pardiso.hh index e5bbb7d55fb54a2e558b41b8654153eef4b822a1..5c478157cb29655d1899fa32ebc8ab3603c2a976 100644 --- a/dune/istl/pardiso.hh +++ b/dune/istl/pardiso.hh @@ -6,7 +6,7 @@ #include <dune/istl/preconditioners.hh> #include <dune/istl/solvertype.hh> -#ifdef HAVE_PARDISO +#if HAVE_PARDISO // PARDISO prototypes extern "C" void pardisoinit(void *, int *, int *, int *, double *, int *); diff --git a/dune/istl/test/CMakeLists.txt b/dune/istl/test/CMakeLists.txt index 4d67861a2ad2fe93c312807c757d2fa2ddac8b75..21e4493cf7fa23e81886f42113ac73a3bdd99031 100644 --- a/dune/istl/test/CMakeLists.txt +++ b/dune/istl/test/CMakeLists.txt @@ -39,52 +39,51 @@ dune_add_test(SOURCES inverseoperator2prectest.cc) dune_add_test(SOURCES scaledidmatrixtest.cc) -if(HAVE_PARDISO) - dune_add_test(SOURCES test_pardiso.cc) -endif(HAVE_PARDISO) +# Pardiso tests +dune_add_test(SOURCES test_pardiso.cc + SKIP_ON_77) -if(SUPERLU_FOUND) - dune_add_test(NAME superlustest - SOURCES superlutest.cc - COMPILE_DEFINITIONS SUPERLU_NTYPE=0) +# SuperLU tests +dune_add_test(NAME superlustest + SOURCES superlutest.cc + COMPILE_DEFINITIONS SUPERLU_NTYPE=0 + SKIP_ON_77) - dune_add_test(SOURCES superlutest.cc) +dune_add_test(SOURCES superlutest.cc + SKIP_ON_77) - dune_add_test(NAME superluctest - SOURCES superlutest.cc - COMPILE_DEFINITIONS SUPERLU_NTYPE=2) +dune_add_test(NAME superluctest + SOURCES superlutest.cc + COMPILE_DEFINITIONS SUPERLU_NTYPE=2 + SKIP_ON_77) - dune_add_test(NAME superluztest - SOURCES superlutest.cc - COMPILE_DEFINITIONS SUPERLU_NTYPE=3) +dune_add_test(NAME superluztest + SOURCES superlutest.cc + COMPILE_DEFINITIONS SUPERLU_NTYPE=3 + SKIP_ON_77) - dune_add_test(SOURCES complexrhstest.cc - COMPILE_DEFINITIONS SUPERLU_NTYPE=3) -endif() +dune_add_test(SOURCES complexrhstest.cc + COMPILE_DEFINITIONS SUPERLU_NTYPE=3) -if(SuiteSparse_UMFPACK_FOUND) - dune_add_test(SOURCES umfpacktest.cc) - set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "umfpack_decomp") -endif() +# SuiteSparse tests +dune_add_test(SOURCES umfpacktest.cc + SKIP_ON_77) +set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "umfpack_decomp") -dune_add_test( - SOURCES ldltest.cc - SKIP_ON_77) +dune_add_test(SOURCES ldltest.cc + SKIP_ON_77) -dune_add_test( - SOURCES spqrtest.cc - SKIP_ON_77) +dune_add_test(SOURCES spqrtest.cc + SKIP_ON_77) -if ((SUPERLU_FOUND) OR (SuiteSparse_UMFPACK_FOUND)) - dune_add_test(SOURCES overlappingschwarztest.cc) -endif() +dune_add_test(SOURCES overlappingschwarztest.cc + SKIP_ON_77) -if(HAVE_MPI) - dune_add_test(SOURCES matrixredisttest.cc) +# MPI tests +dune_add_test(SOURCES matrixredisttest.cc) - dune_add_test(SOURCES vectorcommtest.cc) +dune_add_test(SOURCES vectorcommtest.cc) - dune_add_test(SOURCES matrixmarkettest.cc) -endif(HAVE_MPI) +dune_add_test(SOURCES matrixmarkettest.cc) exclude_from_headercheck(complexdata.hh) diff --git a/dune/istl/test/complexrhstest.cc b/dune/istl/test/complexrhstest.cc index c21681f6cc674762a832e84150581e3b5dd86e42..1f158227cd8701d6201f17a023c3b471ad7660c8 100644 --- a/dune/istl/test/complexrhstest.cc +++ b/dune/istl/test/complexrhstest.cc @@ -7,10 +7,8 @@ * \f$A*x = b\f$ with \f$A\f$ being a \f$N^2 \times N^2\f$ * Laplacian and \f$b\f$ a complex valued rhs. */ +#include <config.h> -#if HAVE_CONFIG_H -#include "config.h" -#endif #include <complex> #include <dune/istl/bvector.hh> @@ -188,6 +186,8 @@ int main(int argc, char** argv) #if HAVE_SUPERLU Dune::SuperLU<BCRSMat> solverSuperLU(mat, true); std::cout << "SuperLU converged: "<< solverTest(solverSuperLU) << std::endl << std::endl; +#else + std::cout << "SuperLU skipped because not found." << std::endl << std::endl; #endif typedef Dune::GradientSolver<Vector> GradientSolver; diff --git a/dune/istl/test/overlappingschwarztest.cc b/dune/istl/test/overlappingschwarztest.cc index 7955b3f65b1f359fa040968c1d4728826e81d1f8..f406d91e7511c78546e467bc346cf12e88bdb8a8 100644 --- a/dune/istl/test/overlappingschwarztest.cc +++ b/dune/istl/test/overlappingschwarztest.cc @@ -1,6 +1,7 @@ // -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- // vi: set et ts=4 sw=2 sts=2: -#include "config.h" +#include <config.h> + #include <dune/istl/io.hh> #include <dune/istl/bvector.hh> #include <dune/istl/operators.hh> @@ -18,7 +19,7 @@ int main(int argc, char** argv) { - +#if HAVE_SUPERLU || HAVE_SUITESPARSE_UMFPACK const int BS=1; int N=4; @@ -235,4 +236,10 @@ int main(int argc, char** argv) Dune::SeqSOR<BCRSMat,BVector,BVector> sor(mat, 1,1); Dune::LoopSolver<BVector> solver4(fop, sor, 1e-2,100,2); solver4.apply(x,b, res); + + return 0; +#else // HAVE_SUPERLU || HAVE_SUITESPARSE_UMFPACK + std::cerr << "You need SuperLU or SuiteSparse's UMFPack to run this test." << std::endl; + return 77; +#endif // HAVE_SUPERLU || HAVE_SUITESPARSE_UMFPACK } diff --git a/dune/istl/test/superlutest.cc b/dune/istl/test/superlutest.cc index f1e6e590223deaf1f31caf0aaaf99f1b47bcc089..d71b551ea68c731e7602fab34e673ff58af50d5e 100644 --- a/dune/istl/test/superlutest.cc +++ b/dune/istl/test/superlutest.cc @@ -1,6 +1,6 @@ // -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- // vi: set et ts=4 sw=2 sts=2: -#include "config.h" +#include <config.h> #include <complex> @@ -37,6 +37,7 @@ typedef std::complex<double> FIELD_TYPE; int main(int argc, char** argv) try { +#if HAVE_SUPERLU const int BS=1; std::size_t N=100; @@ -84,6 +85,10 @@ try solver1.apply(reinterpret_cast<FIELD_TYPE*>(&x1[0]), reinterpret_cast<FIELD_TYPE*>(&b1[0])); return 0; +#else // HAVE_SUPERLU + std::cerr << "You need SuperLU to run this test." << std::endl; + return 77; +#endif // HAVE_SUPERLU } catch (std::exception &e) { diff --git a/dune/istl/test/test_pardiso.cc b/dune/istl/test/test_pardiso.cc index bc152163c0b223db7121a958c57ca4ce1dfefba9..15ba897a693efca316db4517dcbeaa559f2265d7 100644 --- a/dune/istl/test/test_pardiso.cc +++ b/dune/istl/test/test_pardiso.cc @@ -1,10 +1,11 @@ // -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- // vi: set et ts=4 sw=2 sts=2: -#include <stdio.h> -#include <stdlib.h> -#include <math.h> +#include <config.h> + +#include <cstdio> +#include <cstdlib> +#include <cmath> -#include "config.h" #include <dune/istl/bcrsmatrix.hh> #include <dune/istl/io.hh> #include <dune/istl/operators.hh> @@ -13,6 +14,7 @@ int main(int argc, char** argv) { +#if HAVE_PARDISO try { /* Matrix data. */ @@ -186,10 +188,15 @@ int main(int argc, char** argv) return 0; } - catch (Dune::Exception &e) { - std::cerr << "Dune reported error: " << e << std::endl; + catch (std::exception &e) + { + throw; } catch (...) { std::cerr << "Unknown exception thrown!" << std::endl; } +#else // HAVE_PARDISO + std::cerr << "You need Pardiso to run this test." << std::endl; + return 77; +#endif // HAVE_PARDISO } diff --git a/dune/istl/test/umfpacktest.cc b/dune/istl/test/umfpacktest.cc index a3dadf626729cb02506cb6798fbbde299ebc4475..92bdf29d6ebde602220e22c86e6c7d4d4cb31799 100644 --- a/dune/istl/test/umfpacktest.cc +++ b/dune/istl/test/umfpacktest.cc @@ -1,7 +1,7 @@ -#include "config.h" +#include <config.h> #include <complex> -#include<iostream> +#include <iostream> #include <dune/common/fmatrix.hh> #include <dune/common/fvector.hh> @@ -17,6 +17,7 @@ int main(int argc, char** argv) { +#if HAVE_SUITESPARSE_UMFPACK try { typedef double FIELD_TYPE; @@ -81,4 +82,8 @@ int main(int argc, char** argv) std::cerr << "Dune reported an unknown error." << std::endl; exit(1); } +#else // HAVE_SUITESPARSE_UMFPACK + std::cerr << "You need SuiteSparse's UMFPack to run this test." << std::endl; + return 77; +#endif // HAVE_SUITESPARSE_UMFPACK }