@@ -1240,14 +1240,37 @@ class TestSuppressions : public TestFixture {
12401240 }
12411241
12421242 void inlinesuppress_comment () const {
1243- SuppressionList::Suppression s;
12441243 std::string errMsg;
1245- ASSERT_EQUALS (true , s.parseComment (" // cppcheck-suppress abc ; some comment" , &errMsg));
1246- ASSERT_EQUALS (" " , errMsg);
1247- ASSERT_EQUALS (true , s.parseComment (" // cppcheck-suppress abc // some comment" , &errMsg));
1248- ASSERT_EQUALS (" " , errMsg);
1249- ASSERT_EQUALS (true , s.parseComment (" // cppcheck-suppress abc -- some comment" , &errMsg));
1250- ASSERT_EQUALS (" " , errMsg);
1244+ {
1245+ SuppressionList::Suppression s;
1246+ ASSERT_EQUALS (true , s.parseComment (" // cppcheck-suppress abc ; some comment // extra stuff" , &errMsg));
1247+ ASSERT_EQUALS (" " , errMsg);
1248+ ASSERT_EQUALS (" some comment // extra stuff" , s.extraComment );
1249+ }
1250+ {
1251+ SuppressionList::Suppression s;
1252+ ASSERT_EQUALS (true , s.parseComment (" // cppcheck-suppress abc; some comment // extra stuff" , &errMsg));
1253+ ASSERT_EQUALS (" " , errMsg);
1254+ ASSERT_EQUALS (" some comment // extra stuff" , s.extraComment );
1255+ }
1256+ {
1257+ SuppressionList::Suppression s;
1258+ ASSERT_EQUALS (true , s.parseComment (" // cppcheck-suppress abc // some comment ; extra stuff" , &errMsg));
1259+ ASSERT_EQUALS (" " , errMsg);
1260+ ASSERT_EQUALS (" some comment ; extra stuff" , s.extraComment );
1261+ }
1262+ {
1263+ SuppressionList::Suppression s;
1264+ ASSERT_EQUALS (true , s.parseComment (" // cppcheck-suppress abc// some comment ; extra stuff" , &errMsg));
1265+ ASSERT_EQUALS (" " , errMsg);
1266+ ASSERT_EQUALS (" some comment ; extra stuff" , s.extraComment );
1267+ }
1268+ {
1269+ SuppressionList::Suppression s;
1270+ ASSERT_EQUALS (true , s.parseComment (" // cppcheck-suppress abc -- some comment" , &errMsg));
1271+ ASSERT_EQUALS (" " , errMsg);
1272+ ASSERT_EQUALS (" " , s.extraComment );
1273+ }
12511274 }
12521275
12531276 // TODO: tests internal function - should it be private?
@@ -1388,6 +1411,48 @@ class TestSuppressions : public TestFixture {
13881411 suppressions=SuppressionList::parseMultiSuppressComment (" /*cppcheck-suppress[errorId1, errorId2 symbolName=arr]*/" , &errMsg);
13891412 ASSERT_EQUALS (2 , suppressions.size ());
13901413 ASSERT_EQUALS (true , errMsg.empty ());
1414+
1415+ errMsg = " " ;
1416+ suppressions=SuppressionList::parseMultiSuppressComment (" //cppcheck-suppress[errorId1, errorId2 symbolName=arr] ; extra comment" , &errMsg);
1417+ ASSERT_EQUALS (2 , suppressions.size ());
1418+ ASSERT_EQUALS (true , errMsg.empty ());
1419+ ASSERT_EQUALS (" extra comment" , suppressions[0 ].extraComment );
1420+ ASSERT_EQUALS (" extra comment" , suppressions[1 ].extraComment );
1421+
1422+ errMsg = " " ;
1423+ suppressions=SuppressionList::parseMultiSuppressComment (" //cppcheck-suppress[errorId1, errorId2 symbolName=arr] // extra comment" , &errMsg);
1424+ ASSERT_EQUALS (2 , suppressions.size ());
1425+ ASSERT_EQUALS (true , errMsg.empty ());
1426+ ASSERT_EQUALS (" extra comment" , suppressions[0 ].extraComment );
1427+ ASSERT_EQUALS (" extra comment" , suppressions[1 ].extraComment );
1428+
1429+ errMsg = " " ;
1430+ suppressions=SuppressionList::parseMultiSuppressComment (" /*cppcheck-suppress[errorId1, errorId2 symbolName=arr] ; extra comment */" , &errMsg);
1431+ ASSERT_EQUALS (2 , suppressions.size ());
1432+ ASSERT_EQUALS (true , errMsg.empty ());
1433+ ASSERT_EQUALS (" extra comment" , suppressions[0 ].extraComment );
1434+ ASSERT_EQUALS (" extra comment" , suppressions[1 ].extraComment );
1435+
1436+ errMsg = " " ;
1437+ suppressions=SuppressionList::parseMultiSuppressComment (" /*cppcheck-suppress[errorId1, errorId2 symbolName=arr] // extra comment */" , &errMsg);
1438+ ASSERT_EQUALS (2 , suppressions.size ());
1439+ ASSERT_EQUALS (true , errMsg.empty ());
1440+ ASSERT_EQUALS (" extra comment" , suppressions[0 ].extraComment );
1441+ ASSERT_EQUALS (" extra comment" , suppressions[1 ].extraComment );
1442+
1443+ errMsg = " " ;
1444+ suppressions=SuppressionList::parseMultiSuppressComment (" /*cppcheck-suppress[errorId1, errorId2 symbolName=arr] ; extra comment // more */" , &errMsg);
1445+ ASSERT_EQUALS (2 , suppressions.size ());
1446+ ASSERT_EQUALS (true , errMsg.empty ());
1447+ ASSERT_EQUALS (" extra comment // more" , suppressions[0 ].extraComment );
1448+ ASSERT_EQUALS (" extra comment // more" , suppressions[1 ].extraComment );
1449+
1450+ errMsg = " " ;
1451+ suppressions=SuppressionList::parseMultiSuppressComment (" /*cppcheck-suppress[errorId1, errorId2 symbolName=arr] // extra comment ; more */" , &errMsg);
1452+ ASSERT_EQUALS (2 , suppressions.size ());
1453+ ASSERT_EQUALS (true , errMsg.empty ());
1454+ ASSERT_EQUALS (" extra comment ; more" , suppressions[0 ].extraComment );
1455+ ASSERT_EQUALS (" extra comment ; more" , suppressions[1 ].extraComment );
13911456 }
13921457
13931458 void globalSuppressions () { // Testing that Cppcheck::useGlobalSuppressions works (#8515)
0 commit comments