@@ -205,8 +205,8 @@ class TestCmdlineParser : public TestFixture {
205205 TEST_CASE (disableAll);
206206 TEST_CASE (disableMultiple);
207207 TEST_CASE (disableStylePartial);
208- TEST_CASE (disableInformationPartial );
209- TEST_CASE (disableInformationPartial2 );
208+ TEST_CASE (disabledMissingIncludeWithInformation2 );
209+ TEST_CASE (disabledInformationWithMissingInclude );
210210 TEST_CASE (disableInvalid);
211211 TEST_CASE (disableError);
212212 TEST_CASE (disableEmpty);
@@ -493,6 +493,11 @@ class TestCmdlineParser : public TestFixture {
493493 TEST_CASE (safetyOverride);
494494 TEST_CASE (noSafety);
495495 TEST_CASE (noSafetyOverride);
496+ TEST_CASE (disabledUnmatchedSuppressionWithInformation);
497+ TEST_CASE (enabledUnmatchedSuppressionWithInformation);
498+ TEST_CASE (enabledUnmatchedSuppressionWithInformationReverseOrder);
499+ TEST_CASE (disabledUnmatchedSuppressionWithInformation2);
500+ TEST_CASE (disabledInformationWithUnmatchedSuppression);
496501
497502 TEST_CASE (ignorepaths1);
498503 TEST_CASE (ignorepaths2);
@@ -1031,6 +1036,7 @@ class TestCmdlineParser : public TestFixture {
10311036 ASSERT (settings->severity .isEnabled (Severity::error));
10321037 ASSERT (settings->severity .isEnabled (Severity::information));
10331038 ASSERT (!settings->checks .isEnabled (Checks::missingInclude));
1039+ ASSERT (settings->checks .isEnabled (Checks::unmatchedSuppression));
10341040 }
10351041
10361042 void enabledUnusedFunction () {
@@ -1170,7 +1176,7 @@ class TestCmdlineParser : public TestFixture {
11701176 ASSERT_EQUALS (false , settings->checks .isEnabled (Checks::internalCheck));
11711177 }
11721178
1173- void disableInformationPartial () {
1179+ void disabledMissingIncludeWithInformation2 () {
11741180 REDIRECT;
11751181 const char * const argv[] = {" cppcheck" , " --enable=information" , " --disable=missingInclude" , " file.cpp" };
11761182 ASSERT_EQUALS_ENUM (CmdLineParser::Result::Success, parseFromArgs (argv));
@@ -1179,7 +1185,7 @@ class TestCmdlineParser : public TestFixture {
11791185 ASSERT_EQUALS (" " , logger->str ());
11801186 }
11811187
1182- void disableInformationPartial2 () {
1188+ void disabledInformationWithMissingInclude () {
11831189 REDIRECT;
11841190 const char * const argv[] = {" cppcheck" , " --enable=missingInclude" , " --disable=information" , " file.cpp" };
11851191 ASSERT_EQUALS_ENUM (CmdLineParser::Result::Success, parseFromArgs (argv));
@@ -3421,6 +3427,53 @@ class TestCmdlineParser : public TestFixture {
34213427 ASSERT_EQUALS (false , settings->safety );
34223428 }
34233429
3430+ void disabledUnmatchedSuppressionWithInformation () {
3431+ REDIRECT;
3432+ const char * const argv[] = {" cppcheck" , " --disable=unmatchedSuppression" , " --enable=information" , " file.cpp" };
3433+ ASSERT_EQUALS_ENUM (CmdLineParser::Result::Success, parseFromArgs (argv));
3434+ ASSERT (settings->severity .isEnabled (Severity::error));
3435+ ASSERT (settings->severity .isEnabled (Severity::information));
3436+ ASSERT (!settings->checks .isEnabled (Checks::unmatchedSuppression));
3437+ ASSERT_EQUALS (" " , logger->str ());
3438+ }
3439+
3440+ void enabledUnmatchedSuppressionWithInformation () {
3441+ REDIRECT;
3442+ const char * const argv[] = {" cppcheck" , " --enable=information" , " --enable=unmatchedSuppression" , " file.cpp" };
3443+ ASSERT_EQUALS_ENUM (CmdLineParser::Result::Success, parseFromArgs (argv));
3444+ ASSERT (settings->severity .isEnabled (Severity::error));
3445+ ASSERT (settings->severity .isEnabled (Severity::information));
3446+ ASSERT (settings->checks .isEnabled (Checks::unmatchedSuppression));
3447+ ASSERT_EQUALS (" " , logger->str ());
3448+ }
3449+
3450+ void enabledUnmatchedSuppressionWithInformationReverseOrder () {
3451+ REDIRECT;
3452+ const char * const argv[] = {" cppcheck" , " --enable=unmatchedSuppression" , " --enable=information" , " file.cpp" };
3453+ ASSERT_EQUALS_ENUM (CmdLineParser::Result::Success, parseFromArgs (argv));
3454+ ASSERT (settings->severity .isEnabled (Severity::error));
3455+ ASSERT (settings->severity .isEnabled (Severity::information));
3456+ ASSERT (settings->checks .isEnabled (Checks::unmatchedSuppression));
3457+ ASSERT_EQUALS (" " , logger->str ());
3458+ }
3459+
3460+ void disabledUnmatchedSuppressionWithInformation2 () {
3461+ REDIRECT;
3462+ const char * const argv[] = {" cppcheck" , " --enable=information" , " --disable=unmatchedSuppression" , " file.cpp" };
3463+ ASSERT_EQUALS_ENUM (CmdLineParser::Result::Success, parseFromArgs (argv));
3464+ ASSERT (settings->severity .isEnabled (Severity::information));
3465+ ASSERT (!settings->checks .isEnabled (Checks::unmatchedSuppression));
3466+ ASSERT_EQUALS (" " , logger->str ());
3467+ }
3468+
3469+ void disabledInformationWithUnmatchedSuppression () {
3470+ REDIRECT;
3471+ const char * const argv[] = {" cppcheck" , " --enable=unmatchedSuppression" , " --disable=information" , " file.cpp" };
3472+ ASSERT_EQUALS_ENUM (CmdLineParser::Result::Success, parseFromArgs (argv));
3473+ ASSERT (!settings->severity .isEnabled (Severity::information));
3474+ ASSERT (settings->checks .isEnabled (Checks::unmatchedSuppression));
3475+ }
3476+
34243477 void ignorepaths1 () {
34253478 REDIRECT;
34263479 const char * const argv[] = {" cppcheck" , " -isrc" , " file.cpp" };
0 commit comments