/* Copyright 2015 Statoil ASA. This file is part of the Open Porous Media project (OPM). OPM is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. OPM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OPM. If not, see . */ #include "config.h" #define NVERBOSE // Suppress own messages when throw()ing #define BOOST_TEST_MODULE RelpermDiagnostics #include #include #include #if BOOST_VERSION / 100000 == 1 && BOOST_VERSION / 100 % 1000 < 71 #include #else #include #endif #include #include #include #include #include #include #include #include #if HAVE_DUNE_FEM #include #else #include #endif BOOST_AUTO_TEST_SUITE () BOOST_AUTO_TEST_CASE(diagnosis) { // MPI setup. int argcDummy = 1; const char *tmp[] = {"test_relpermdiagnostic"}; char **argvDummy = const_cast(tmp); #if HAVE_DUNE_FEM Dune::Fem::MPIManager::initialize(argcDummy, argvDummy); #else Dune::MPIHelper::instance(argcDummy, argvDummy); #endif using namespace Opm; Parser parser; Opm::Deck deck = parser.parseFile("../tests/relpermDiagnostics.DATA"); EclipseState eclState(deck); typedef Dune::CpGrid Grid; Grid grid = Grid(); grid.processEclipseFormat(&eclState, &deck, /*isPeriodic=*/false, /*flipNormals=*/false, /*clipZ=*/false); typedef Dune::CartesianIndexMapper CartesianIndexMapper; CartesianIndexMapper cartesianIndexMapper = CartesianIndexMapper(grid); std::shared_ptr counterLog = std::make_shared(Log::DefaultMessageTypes); OpmLog::addBackend( "COUNTERLOG" , counterLog ); RelpermDiagnostics diagnostics; diagnostics.diagnosis(eclState, cartesianIndexMapper); BOOST_CHECK_EQUAL(1, counterLog->numMessages(Log::MessageType::Warning)); } BOOST_AUTO_TEST_SUITE_END()