From 45e4762302f9b165d9fadb689a6cd164a5176b32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?B=C3=A5rd=20Skaflestad?= Date: Thu, 8 Jun 2023 09:19:32 +0200 Subject: [PATCH] Emit Useful Diagnostic Message if Test Fails While here, also mark a few objects 'const' and reorder the headers. --- tests/parser/EmbeddedPython.cpp | 62 ++++++++++++++++++--------------- 1 file changed, 34 insertions(+), 28 deletions(-) diff --git a/tests/parser/EmbeddedPython.cpp b/tests/parser/EmbeddedPython.cpp index 70f95d6d2..2ef6a905c 100644 --- a/tests/parser/EmbeddedPython.cpp +++ b/tests/parser/EmbeddedPython.cpp @@ -17,30 +17,39 @@ along with OPM. If not, see . */ -#include -#include - #define BOOST_TEST_MODULE EMBEDDED_PYTHON #include #include -#include -#include + #include -#include + #include -#include -#include -#include #include +#include +#include #include +#include + +#include + +#include +#include + +#include +#include +#include +#include +#include + using namespace Opm; #ifndef EMBEDDED_PYTHON -BOOST_AUTO_TEST_CASE(INSTANTIATE) { +BOOST_AUTO_TEST_CASE(INSTANTIATE) +{ Python python; BOOST_CHECK(!python.enabled()); BOOST_CHECK_THROW(python.exec("print('Hello world')"), std::logic_error); @@ -54,24 +63,25 @@ BOOST_AUTO_TEST_CASE(INSTANTIATE) { BOOST_CHECK(!python_off.enabled()); } -#else +#else // EMBEDDED_PYTHON -BOOST_AUTO_TEST_CASE(INSTANTIATE) { +BOOST_AUTO_TEST_CASE(INSTANTIATE) +{ auto python = std::make_shared(); - BOOST_CHECK(Python::supported()); - BOOST_CHECK(python->enabled()); + BOOST_CHECK_MESSAGE(Python::supported(), "Python interpreter must be available when we have Embedded Python support"); + BOOST_CHECK_MESSAGE(python->enabled(), "Python interpreter must be enabled in a default-constructed Python object when we have Embedded Python support"); BOOST_CHECK_NO_THROW(python->exec("import sys")); Parser parser; Deck deck; - std::string python_code = R"( + const std::string python_code = R"( print('Parser: {}'.format(context.parser)) print('Deck: {}'.format(context.deck)) kw = context.DeckKeyword( context.parser['FIELD'] ) context.deck.add(kw) )"; - BOOST_CHECK_NO_THROW( python->exec(python_code, parser, deck)); - BOOST_CHECK( deck.hasKeyword("FIELD") ); + BOOST_CHECK_NO_THROW(python->exec(python_code, parser, deck)); + BOOST_CHECK(deck.hasKeyword("FIELD")); } @@ -114,8 +124,8 @@ BOOST_AUTO_TEST_CASE(PYINPUT_BASIC) { } - -BOOST_AUTO_TEST_CASE(PYACTION) { +BOOST_AUTO_TEST_CASE(PYACTION) +{ Parser parser; auto python = std::make_shared(Python::Enable::ON); auto deck = parser.parseFile("EMBEDDED_PYTHON.DATA"); @@ -172,8 +182,8 @@ BOOST_AUTO_TEST_CASE(PYACTION) { BOOST_CHECK( actions.pending_python(action_state).size() == 2); } - -BOOST_AUTO_TEST_CASE(Python_Constructor) { +BOOST_AUTO_TEST_CASE(Python_Constructor) +{ Python python_off(Python::Enable::OFF); BOOST_CHECK(!python_off.enabled()); @@ -184,7 +194,8 @@ BOOST_AUTO_TEST_CASE(Python_Constructor) { BOOST_CHECK_THROW(Python python_throw(Python::Enable::ON), std::logic_error); } -BOOST_AUTO_TEST_CASE(Python_Constructor2) { +BOOST_AUTO_TEST_CASE(Python_Constructor2) +{ Python python_cond1(Python::Enable::TRY); BOOST_CHECK(python_cond1.enabled()); @@ -192,9 +203,4 @@ BOOST_AUTO_TEST_CASE(Python_Constructor2) { BOOST_CHECK(!python_cond2.enabled()); } -#endif - - - - - +#endif // EMBEDDED_PYTHON