diff --git a/cfg/googletest.cfg b/cfg/googletest.cfg index 3b2450e6c..c93862d64 100644 --- a/cfg/googletest.cfg +++ b/cfg/googletest.cfg @@ -1,29 +1,29 @@ - - + + - + - + - + - + - + - + - + - + - + - + - + diff --git a/test/cfg/googletest.cpp b/test/cfg/googletest.cpp index 929095daa..bff59dc1a 100644 --- a/test/cfg/googletest.cpp +++ b/test/cfg/googletest.cpp @@ -47,6 +47,32 @@ TEST(test_cppcheck, cppcheck) // #9964 - avoid compareBoolExpressionWithInt false positive TEST(Test, assert_false_fp) { - // cppcheck-suppress checkLibraryNoReturn ASSERT_FALSE(errno < 0); } + +// Check that conditions in the ASSERT_* macros are processed correctly. +TEST(Test, warning_in_assert_macros) +{ + int i = 5; + int j = 6; + + // cppcheck-suppress knownConditionTrueFalse + ASSERT_TRUE(i == 5); + // cppcheck-suppress knownConditionTrueFalse + ASSERT_FALSE(i != 5); + // cppcheck-suppress duplicateExpression + ASSERT_EQ(i, i); + ASSERT_NE(i, j); // expected knownConditionTrueFalse... + ASSERT_LT(i, j); // expected knownConditionTrueFalse... + // cppcheck-suppress duplicateExpression + ASSERT_LE(i, i); + ASSERT_GT(j, i); // expected knownConditionTrueFalse + // cppcheck-suppress duplicateExpression + ASSERT_GE(i, i); + + unsigned int u = errno; + // cppcheck-suppress unsignedPositive + ASSERT_GE(u, 0); + // cppcheck-suppress unsignedLessThanZero + ASSERT_LT(u, 0); +}