1717
1818#include " iceoryx_hoofs/cxx/attributes.hpp"
1919#include " iceoryx_hoofs/cxx/list.hpp"
20+ #include " iceoryx_hoofs/error_handling/error_handling.hpp"
2021#include " iceoryx_hoofs/log/logging.hpp"
22+ #include " iceoryx_hoofs/testing/fatal_failure.hpp"
2123#include " test.hpp"
2224
2325
2426namespace
2527{
2628using namespace ::testing;
2729using namespace iox ::cxx;
30+ using namespace iox ::testing;
2831
2932constexpr uint64_t TESTLISTCAPACITY{10U };
3033constexpr int64_t TEST_LIST_ELEMENT_DEFAULT_VALUE{-99L };
@@ -149,15 +152,6 @@ int64_t iteratorTraitReturnDoubleValue(IterType iter)
149152 IterValueType m_value = *iter;
150153 return (2 * m_value); // will only work for integer-convertible m_value types
151154}
152-
153- // in context of EXPECT_DEATH tests, dummyFunc() shall help suppressing following warning :
154- // -Wunused-comparison
155- // reason: the warning is already addressed with the internal handling, which shall be tested here
156- bool dummyFunc (bool whatever)
157- {
158- IOX_LOG (ERROR) << " Never get here - ever " << whatever;
159- return whatever;
160- }
161155} // namespace
162156
163157
@@ -272,15 +266,19 @@ TEST_F(list_test, FullWhenFilledWithCapacityElements)
272266TEST_F (list_test, FullWhenFilledWithMoreThanCapacityElements)
273267{
274268 ::testing::Test::RecordProperty (" TEST_ID" , " 585bb3d9-112c-4db8-af5e-e4c646723515" );
275- for (uint64_t i = 0U ; i < sut.capacity (); ++i)
276- {
277- sut.emplace_front ();
278- }
279269
280- EXPECT_THAT (sut.full (), Eq (true ));
281- // / @NOLINTJUSTIFICATION @todo iox-#1613 remove EXPECT_DEATH
282- // / @NOLINTNEXTLINE (cppcoreguidelines-pro-type-vararg, hicpp-avoid-goto, cert-err33-c)
283- EXPECT_DEATH (sut.emplace_front (), " " );
270+ EXPECT_FATAL_FAILURE<iox::HoofsError>(
271+ [&] {
272+ for (uint64_t i = 0U ; i < sut.capacity (); ++i)
273+ {
274+ sut.emplace_front ();
275+ }
276+
277+ EXPECT_THAT (sut.full (), Eq (true ));
278+ sut.emplace_front ();
279+ },
280+ iox::HoofsError::EXPECTS_ENSURES_FAILED,
281+ iox::ErrorLevel::FATAL);
284282}
285283TEST_F (list_test, NotFullWhenFilledWithCapacityAndEraseOneElements)
286284{
@@ -727,9 +725,8 @@ TEST_F(list_test, EmplaceBackWithMoreThanCapacityElements)
727725 }
728726 else
729727 {
730- // / @NOLINTJUSTIFICATION @todo iox-#1613 remove EXPECT_DEATH
731- // / @NOLINTNEXTLINE (cppcoreguidelines-pro-type-vararg, hicpp-avoid-goto, cert-err33-c)
732- EXPECT_DEATH (sut1.emplace_back (cnt), " " );
728+ EXPECT_FATAL_FAILURE<iox::HoofsError>(
729+ [&] { sut1.emplace_back (cnt); }, iox::HoofsError::EXPECTS_ENSURES_FAILED, iox::ErrorLevel::FATAL);
733730 }
734731 ++cnt;
735732 }
@@ -763,9 +760,8 @@ TEST_F(list_test, EmplaceWithWrongListIterator)
763760 ++cnt;
764761 }
765762
766- // / @NOLINTJUSTIFICATION @todo iox-#1613 remove EXPECT_DEATH
767- // / @NOLINTNEXTLINE (cppcoreguidelines-pro-type-vararg, hicpp-avoid-goto, cert-err33-c)
768- EXPECT_DEATH (sut11.emplace (iterOfSut2, cnt), " " );
763+ EXPECT_FATAL_FAILURE<iox::HoofsError>(
764+ [&] { sut11.emplace (iterOfSut2, cnt); }, iox::HoofsError::EXPECTS_ENSURES_FAILED, iox::ErrorLevel::FATAL);
769765}
770766
771767TEST_F (list_test, PushFrontConstCustomSuccessfullWhenSpaceAvailableLValue)
@@ -1499,39 +1495,45 @@ TEST_F(list_test, IteratorComparisonOfDifferentLists)
14991495
15001496 auto iterSut1 = sut11.begin ();
15011497 auto iterSut2 = sut12.begin ();
1502- // / @NOLINTJUSTIFICATION @todo iox-#1613 remove EXPECT_DEATH
1503- // / @NOLINTNEXTLINE (cppcoreguidelines-pro-type-vararg, hicpp-avoid-goto, cert-err33-c)
1504- EXPECT_DEATH (dummyFunc (iterSut1 == iterSut2), " " );
1498+
1499+ EXPECT_FATAL_FAILURE<iox::HoofsError>([&] { IOX_DISCARD_RESULT (iterSut1 == iterSut2); },
1500+ iox::HoofsError::EXPECTS_ENSURES_FAILED,
1501+ iox::ErrorLevel::FATAL);
15051502
15061503 iterSut1 = sut11.begin ();
15071504 iterSut2 = sut12.begin ();
1508- // / @NOLINTJUSTIFICATION @todo iox-#1613 remove EXPECT_DEATH
1509- // / @NOLINTNEXTLINE (cppcoreguidelines-pro-type-vararg, hicpp-avoid-goto, cert-err33-c)
1510- EXPECT_DEATH (dummyFunc (iterSut1 == iterSut2), " " );
1505+
1506+ EXPECT_FATAL_FAILURE<iox::HoofsError>([&] { IOX_DISCARD_RESULT (iterSut1 == iterSut2); },
1507+ iox::HoofsError::EXPECTS_ENSURES_FAILED,
1508+ iox::ErrorLevel::FATAL);
15111509
15121510 iterSut1 = sut11.end ();
15131511 iterSut2 = sut12.end ();
1514- // / @NOLINTJUSTIFICATION @todo iox-#1613 remove EXPECT_DEATH
1515- // / @NOLINTNEXTLINE (cppcoreguidelines-pro-type-vararg, hicpp-avoid-goto, cert-err33-c)
1516- EXPECT_DEATH (dummyFunc (iterSut1 == iterSut2), " " );
1512+
1513+ EXPECT_FATAL_FAILURE<iox::HoofsError>([&] { IOX_DISCARD_RESULT (iterSut1 == iterSut2); },
1514+ iox::HoofsError::EXPECTS_ENSURES_FAILED,
1515+ iox::ErrorLevel::FATAL);
15171516
15181517 iterSut1 = sut11.begin ();
15191518 iterSut2 = sut12.begin ();
1520- // / @NOLINTJUSTIFICATION @todo iox-#1613 remove EXPECT_DEATH
1521- // / @NOLINTNEXTLINE (cppcoreguidelines-pro-type-vararg, hicpp-avoid-goto, cert-err33-c)
1522- EXPECT_DEATH (dummyFunc (iterSut1 != iterSut2), " " );
1519+
1520+ EXPECT_FATAL_FAILURE<iox::HoofsError>([&] { IOX_DISCARD_RESULT (iterSut1 != iterSut2); },
1521+ iox::HoofsError::EXPECTS_ENSURES_FAILED,
1522+ iox::ErrorLevel::FATAL);
15231523
15241524 iterSut1 = sut11.begin ();
15251525 iterSut2 = sut12.begin ();
1526- // / @NOLINTJUSTIFICATION @todo iox-#1613 remove EXPECT_DEATH
1527- // / @NOLINTNEXTLINE (cppcoreguidelines-pro-type-vararg, hicpp-avoid-goto, cert-err33-c)
1528- EXPECT_DEATH (dummyFunc (iterSut1 != iterSut2), " " );
1526+
1527+ EXPECT_FATAL_FAILURE<iox::HoofsError>([&] { IOX_DISCARD_RESULT (iterSut1 != iterSut2); },
1528+ iox::HoofsError::EXPECTS_ENSURES_FAILED,
1529+ iox::ErrorLevel::FATAL);
15291530
15301531 iterSut1 = sut11.end ();
15311532 iterSut2 = sut12.end ();
1532- // / @NOLINTJUSTIFICATION @todo iox-#1613 remove EXPECT_DEATH
1533- // / @NOLINTNEXTLINE (cppcoreguidelines-pro-type-vararg, hicpp-avoid-goto, cert-err33-c)
1534- EXPECT_DEATH (dummyFunc (iterSut1 != iterSut2), " " );
1533+
1534+ EXPECT_FATAL_FAILURE<iox::HoofsError>([&] { IOX_DISCARD_RESULT (iterSut1 != iterSut2); },
1535+ iox::HoofsError::EXPECTS_ENSURES_FAILED,
1536+ iox::ErrorLevel::FATAL);
15351537}
15361538
15371539
@@ -2313,9 +2315,9 @@ TEST_F(list_test, invalidIteratorErase)
23132315 ++iter;
23142316 sut.erase (iter);
23152317
2316- // / @NOLINTJUSTIFICATION @todo iox-#1613 remove EXPECT_DEATH
2317- // / @NOLINTNEXTLINE (cppcoreguidelines-pro-type-vararg, hicpp-avoid-goto, cert-err33-c)
2318- EXPECT_DEATH ( sut.erase (iter), " " );
2318+
2319+ EXPECT_FATAL_FAILURE<iox::HoofsError>(
2320+ [&] { sut.erase (iter); }, iox::HoofsError::EXPECTS_ENSURES_FAILED, iox::ErrorLevel::FATAL );
23192321}
23202322
23212323TEST_F (list_test, invalidIteratorIncrement)
@@ -2331,9 +2333,8 @@ TEST_F(list_test, invalidIteratorIncrement)
23312333 ++iter;
23322334 sut.erase (iter);
23332335
2334- // / @NOLINTJUSTIFICATION @todo iox-#1613 remove EXPECT_DEATH
2335- // / @NOLINTNEXTLINE (cppcoreguidelines-pro-type-vararg, hicpp-avoid-goto, cert-err33-c)
2336- EXPECT_DEATH (++iter, " " );
2336+ EXPECT_FATAL_FAILURE<iox::HoofsError>(
2337+ [&] { ++iter; }, iox::HoofsError::EXPECTS_ENSURES_FAILED, iox::ErrorLevel::FATAL);
23372338}
23382339
23392340TEST_F (list_test, invalidIteratorDecrement)
@@ -2349,9 +2350,8 @@ TEST_F(list_test, invalidIteratorDecrement)
23492350 ++iter;
23502351 sut.erase (iter);
23512352
2352- // / @NOLINTJUSTIFICATION @todo iox-#1613 remove EXPECT_DEATH
2353- // / @NOLINTNEXTLINE (cppcoreguidelines-pro-type-vararg, hicpp-avoid-goto, cert-err33-c)
2354- EXPECT_DEATH (--iter, " " );
2353+ EXPECT_FATAL_FAILURE<iox::HoofsError>(
2354+ [&] { --iter; }, iox::HoofsError::EXPECTS_ENSURES_FAILED, iox::ErrorLevel::FATAL);
23552355}
23562356
23572357TEST_F (list_test, invalidIteratorComparison)
@@ -2367,9 +2367,10 @@ TEST_F(list_test, invalidIteratorComparison)
23672367 ++iter;
23682368 auto iter2 IOX_MAYBE_UNUSED = sut.erase (iter);
23692369
2370- // / @NOLINTJUSTIFICATION @todo iox-#1613 remove EXPECT_DEATH
2371- // / @NOLINTNEXTLINE (cppcoreguidelines-pro-type-vararg, hicpp-avoid-goto, cert-err33-c)
2372- EXPECT_DEATH (dummyFunc (sut.cbegin () == iter), " " );
2370+
2371+ EXPECT_FATAL_FAILURE<iox::HoofsError>([&] { IOX_DISCARD_RESULT (sut.cbegin () == iter); },
2372+ iox::HoofsError::EXPECTS_ENSURES_FAILED,
2373+ iox::ErrorLevel::FATAL);
23732374}
23742375
23752376TEST_F (list_test, invalidIteratorComparisonUnequal)
@@ -2385,9 +2386,9 @@ TEST_F(list_test, invalidIteratorComparisonUnequal)
23852386 ++iter;
23862387 auto iter2 = sut.erase (iter);
23872388
2388- // / @NOLINTJUSTIFICATION @todo iox-#1613 remove EXPECT_DEATH
2389- // / @NOLINTNEXTLINE (cppcoreguidelines-pro-type-vararg, hicpp-avoid-goto, cert-err33-c)
2390- EXPECT_DEATH ( dummyFunc ( iter2 != iter), " " );
2389+
2390+ EXPECT_FATAL_FAILURE<iox::HoofsError>(
2391+ [&] { IOX_DISCARD_RESULT ( iter2 != iter); }, iox::HoofsError::EXPECTS_ENSURES_FAILED, iox::ErrorLevel::FATAL );
23912392}
23922393
23932394TEST_F (list_test, invalidIteratorDereferencing)
@@ -2403,9 +2404,8 @@ TEST_F(list_test, invalidIteratorDereferencing)
24032404 ++iter;
24042405 auto iter2 IOX_MAYBE_UNUSED = sut.erase (iter);
24052406
2406- // / @NOLINTJUSTIFICATION @todo iox-#1613 remove EXPECT_DEATH
2407- // / @NOLINTNEXTLINE (cppcoreguidelines-pro-type-vararg, hicpp-avoid-goto, cert-err33-c)
2408- EXPECT_DEATH (dummyFunc ((*iter).m_value ), " " );
2407+ EXPECT_FATAL_FAILURE<iox::HoofsError>(
2408+ [&] { IOX_DISCARD_RESULT ((*iter).m_value ); }, iox::HoofsError::EXPECTS_ENSURES_FAILED, iox::ErrorLevel::FATAL);
24092409}
24102410
24112411TEST_F (list_test, invalidIteratorAddressOfOperator)
@@ -2421,9 +2421,10 @@ TEST_F(list_test, invalidIteratorAddressOfOperator)
24212421 ++iter;
24222422 auto iter2 IOX_MAYBE_UNUSED = sut.erase (iter);
24232423
2424- // / @NOLINTJUSTIFICATION @todo iox-#1613 remove EXPECT_DEATH
2425- // / @NOLINTNEXTLINE (cppcoreguidelines-pro-type-vararg, hicpp-avoid-goto, cert-err33-c)
2426- EXPECT_DEATH (dummyFunc (iter->m_value == 12U ), " " );
2424+
2425+ EXPECT_FATAL_FAILURE<iox::HoofsError>([&] { IOX_DISCARD_RESULT (iter->m_value == 12U ); },
2426+ iox::HoofsError::EXPECTS_ENSURES_FAILED,
2427+ iox::ErrorLevel::FATAL);
24272428}
24282429
24292430TEST_F (list_test, ListIsCopyableViaMemcpy)
0 commit comments