Skip to content

Commit 5469b86

Browse files
committed
iox-#1613 Use IOX_EXPECT_FATAL_FAILURE in iceoryx_dust tests
1 parent 276936b commit 5469b86

File tree

2 files changed

+34
-51
lines changed

2 files changed

+34
-51
lines changed

iceoryx_dust/test/moduletests/test_cxx_forward_list.cpp

Lines changed: 33 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,15 @@
1616

1717
#include "iceoryx_dust/cxx/forward_list.hpp"
1818
#include "iceoryx_hoofs/cxx/attributes.hpp"
19+
#include "iceoryx_hoofs/error_handling/error_handling.hpp"
20+
#include "iceoryx_hoofs/testing/fatal_failure.hpp"
1921
#include "test.hpp"
2022

2123
namespace
2224
{
2325
using namespace ::testing;
2426
using namespace iox::cxx;
27+
using namespace iox::testing;
2528

2629
constexpr uint64_t TESTLISTCAPACITY{10U};
2730
constexpr int64_t TEST_LIST_ELEMENT_DEFAULT_VALUE{-99L};
@@ -142,15 +145,6 @@ int64_t iteratorTraitReturnDoubleValue(IterType iter)
142145
IterValueType m_value = *iter;
143146
return (2 * m_value); // will only work for integer-convertible m_value types
144147
}
145-
146-
// in context of EXPECT_DEATH tests, dummyFunc() shall help suppressing following warning :
147-
// -Wunused-comparison
148-
// reason: the warning is already addressed with the internal handling, which shall be tested here
149-
bool dummyFunc(bool whatever)
150-
{
151-
std::cerr << "Never get here - ever " << whatever << std::endl;
152-
return whatever;
153-
}
154148
} // namespace
155149

156150

@@ -292,9 +286,7 @@ TEST_F(forward_list_test, FullWhenFilledWithMoreThanCapacityElements)
292286
}
293287

294288
EXPECT_THAT(sut.full(), Eq(true));
295-
// @todo iox-#1613 remove EXPECT_DEATH
296-
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg, hicpp-avoid-goto, cert-err33-c)
297-
EXPECT_DEATH(sut.emplace_front(), "");
289+
IOX_EXPECT_FATAL_FAILURE<iox::HoofsError>([&] { sut.emplace_front(); }, iox::HoofsError::EXPECTS_ENSURES_FAILED);
298290
}
299291
TEST_F(forward_list_test, NotFullWhenFilledWithCapacityAndEraseOneElements)
300292
{
@@ -666,9 +658,8 @@ TEST_F(forward_list_test, EmplaceAfterWithWrongListIterator)
666658
++cnt;
667659
}
668660

669-
// @todo iox-#1613 remove EXPECT_DEATH
670-
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg, hicpp-avoid-goto, cert-err33-c)
671-
EXPECT_DEATH(sut11.emplace_after(iterOfSut12, cnt), "");
661+
IOX_EXPECT_FATAL_FAILURE<iox::HoofsError>([&] { sut11.emplace_after(iterOfSut12, cnt); },
662+
iox::HoofsError::EXPECTS_ENSURES_FAILED);
672663
}
673664

674665
TEST_F(forward_list_test, PushFrontConstCustomSuccessfullWhenSpaceAvailableLValue)
@@ -1166,39 +1157,39 @@ TEST_F(forward_list_test, IteratorComparisonOfDifferentLists)
11661157

11671158
auto iterSut1 = sut11.begin();
11681159
auto iterSut2 = sut12.begin();
1169-
// @todo iox-#1613 remove EXPECT_DEATH
1170-
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg, hicpp-avoid-goto, cert-err33-c)
1171-
EXPECT_DEATH(dummyFunc(iterSut1 == iterSut2), "");
1160+
1161+
IOX_EXPECT_FATAL_FAILURE<iox::HoofsError>([&] { IOX_DISCARD_RESULT(iterSut1 == iterSut2); },
1162+
iox::HoofsError::EXPECTS_ENSURES_FAILED);
11721163

11731164
iterSut1 = sut11.before_begin();
11741165
iterSut2 = sut12.before_begin();
1175-
// @todo iox-#1613 remove EXPECT_DEATH
1176-
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg, hicpp-avoid-goto, cert-err33-c)
1177-
EXPECT_DEATH(dummyFunc(iterSut1 == iterSut2), "");
1166+
1167+
IOX_EXPECT_FATAL_FAILURE<iox::HoofsError>([&] { IOX_DISCARD_RESULT(iterSut1 == iterSut2); },
1168+
iox::HoofsError::EXPECTS_ENSURES_FAILED);
11781169

11791170
iterSut1 = sut11.end();
11801171
iterSut2 = sut12.end();
1181-
// @todo iox-#1613 remove EXPECT_DEATH
1182-
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg, hicpp-avoid-goto, cert-err33-c)
1183-
EXPECT_DEATH(dummyFunc(iterSut1 == iterSut2), "");
1172+
1173+
IOX_EXPECT_FATAL_FAILURE<iox::HoofsError>([&] { IOX_DISCARD_RESULT(iterSut1 == iterSut2); },
1174+
iox::HoofsError::EXPECTS_ENSURES_FAILED);
11841175

11851176
iterSut1 = sut11.begin();
11861177
iterSut2 = sut12.begin();
1187-
// @todo iox-#1613 remove EXPECT_DEATH
1188-
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg, hicpp-avoid-goto, cert-err33-c)
1189-
EXPECT_DEATH(dummyFunc(iterSut1 != iterSut2), "");
1178+
1179+
IOX_EXPECT_FATAL_FAILURE<iox::HoofsError>([&] { IOX_DISCARD_RESULT(iterSut1 != iterSut2); },
1180+
iox::HoofsError::EXPECTS_ENSURES_FAILED);
11901181

11911182
iterSut1 = sut11.before_begin();
11921183
iterSut2 = sut12.before_begin();
1193-
// @todo iox-#1613 remove EXPECT_DEATH
1194-
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg, hicpp-avoid-goto, cert-err33-c)
1195-
EXPECT_DEATH(dummyFunc(iterSut1 != iterSut2), "");
1184+
1185+
IOX_EXPECT_FATAL_FAILURE<iox::HoofsError>([&] { IOX_DISCARD_RESULT(iterSut1 != iterSut2); },
1186+
iox::HoofsError::EXPECTS_ENSURES_FAILED);
11961187

11971188
iterSut1 = sut11.end();
11981189
iterSut2 = sut12.end();
1199-
// @todo iox-#1613 remove EXPECT_DEATH
1200-
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg, hicpp-avoid-goto, cert-err33-c)
1201-
EXPECT_DEATH(dummyFunc(iterSut1 != iterSut2), "");
1190+
1191+
IOX_EXPECT_FATAL_FAILURE<iox::HoofsError>([&] { IOX_DISCARD_RESULT(iterSut1 != iterSut2); },
1192+
iox::HoofsError::EXPECTS_ENSURES_FAILED);
12021193
}
12031194

12041195

@@ -1988,9 +1979,7 @@ TEST_F(forward_list_test, invalidIteratorErase)
19881979
auto iter = sut.begin();
19891980
sut.pop_front();
19901981

1991-
// @todo iox-#1613 remove EXPECT_DEATH
1992-
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg, hicpp-avoid-goto, cert-err33-c)
1993-
EXPECT_DEATH(sut.erase_after(iter), "");
1982+
IOX_EXPECT_FATAL_FAILURE<iox::HoofsError>([&] { sut.erase_after(iter); }, iox::HoofsError::EXPECTS_ENSURES_FAILED);
19941983
}
19951984

19961985
TEST_F(forward_list_test, invalidIteratorIncrement)
@@ -2005,9 +1994,7 @@ TEST_F(forward_list_test, invalidIteratorIncrement)
20051994
auto iter = sut.cbegin();
20061995
sut.pop_front();
20071996

2008-
// @todo iox-#1613 remove EXPECT_DEATH
2009-
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg, hicpp-avoid-goto, cert-err33-c)
2010-
EXPECT_DEATH(++iter, "");
1997+
IOX_EXPECT_FATAL_FAILURE<iox::HoofsError>([&] { ++iter; }, iox::HoofsError::EXPECTS_ENSURES_FAILED);
20111998
}
20121999

20132000
TEST_F(forward_list_test, invalidIteratorComparison)
@@ -2022,9 +2009,8 @@ TEST_F(forward_list_test, invalidIteratorComparison)
20222009
auto iter = sut.cbegin();
20232010
sut.pop_front();
20242011

2025-
// @todo iox-#1613 remove EXPECT_DEATH
2026-
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg, hicpp-avoid-goto, cert-err33-c)
2027-
EXPECT_DEATH(dummyFunc(sut.cbegin() == iter), "");
2012+
IOX_EXPECT_FATAL_FAILURE<iox::HoofsError>([&] { IOX_DISCARD_RESULT(sut.cbegin() == iter); },
2013+
iox::HoofsError::EXPECTS_ENSURES_FAILED);
20282014
}
20292015

20302016
TEST_F(forward_list_test, invalidIteratorComparisonUnequal)
@@ -2039,9 +2025,8 @@ TEST_F(forward_list_test, invalidIteratorComparisonUnequal)
20392025
sut.pop_front();
20402026
auto iter2 = sut.cbegin();
20412027

2042-
// @todo iox-#1613 remove EXPECT_DEATH
2043-
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg, hicpp-avoid-goto, cert-err33-c)
2044-
EXPECT_DEATH(dummyFunc(iter2 != iter), "");
2028+
IOX_EXPECT_FATAL_FAILURE<iox::HoofsError>([&] { IOX_DISCARD_RESULT(iter2 != iter); },
2029+
iox::HoofsError::EXPECTS_ENSURES_FAILED);
20452030
}
20462031

20472032
TEST_F(forward_list_test, invalidIteratorDereferencing)
@@ -2056,9 +2041,7 @@ TEST_F(forward_list_test, invalidIteratorDereferencing)
20562041
auto iter = sut.cbegin();
20572042
sut.pop_front();
20582043

2059-
// @todo iox-#1613 remove EXPECT_DEATH
2060-
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg, hicpp-avoid-goto, cert-err33-c)
2061-
EXPECT_DEATH(sut.remove(*iter), "");
2044+
IOX_EXPECT_FATAL_FAILURE<iox::HoofsError>([&] { sut.remove(*iter); }, iox::HoofsError::EXPECTS_ENSURES_FAILED);
20622045
}
20632046

20642047
TEST_F(forward_list_test, invalidIteratorAddressOfOperator)
@@ -2073,9 +2056,8 @@ TEST_F(forward_list_test, invalidIteratorAddressOfOperator)
20732056
auto iter = sut.cbegin();
20742057
sut.pop_front();
20752058

2076-
// @todo iox-#1613 remove EXPECT_DEATH
2077-
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg, hicpp-avoid-goto, cert-err33-c)
2078-
EXPECT_DEATH(dummyFunc(iter->m_value == 12U), "");
2059+
IOX_EXPECT_FATAL_FAILURE<iox::HoofsError>([&] { IOX_DISCARD_RESULT(iter->m_value == 12U); },
2060+
iox::HoofsError::EXPECTS_ENSURES_FAILED);
20792061
}
20802062

20812063
TEST_F(forward_list_test, ListIsCopyableViaMemcpy)

iceoryx_dust/test/moduletests/test_file_reader.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,7 @@ TEST_F(FileReader_test, errorTerminateMode)
160160
std::set_terminate([]() { std::cout << "", std::abort(); });
161161

162162
// @todo iox-#1613 remove EXPECT_DEATH
163+
// using IOX_EXPECT_FATAL_FAILURE currently causes issues with the leak sanitizer with this test
163164
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg, hicpp-avoid-goto, cert-err33-c)
164165
EXPECT_DEATH(
165166
{

0 commit comments

Comments
 (0)