@@ -82,6 +82,7 @@ class TestSuppressions : public TestFixture {
8282 TEST_CASE (unusedFunction);
8383
8484 TEST_CASE (suppressingSyntaxErrorAndExitCode);
85+ TEST_CASE (suppressLocal);
8586 }
8687
8788 void suppressionsBadId1 () const {
@@ -112,15 +113,17 @@ class TestSuppressions : public TestFixture {
112113
113114 void suppressionsDosFormat () const {
114115 Suppressions suppressions;
115- std::istringstream s (" abc\r\n def\r\n " );
116+ std::istringstream s (" abc\r\n "
117+ " def\r\n " );
116118 ASSERT_EQUALS (" " , suppressions.parseFile (s));
117119 ASSERT_EQUALS (true , suppressions.isSuppressed (errorMessage (" abc" )));
118120 ASSERT_EQUALS (true , suppressions.isSuppressed (errorMessage (" def" )));
119121 }
120122
121123 void suppressionsFileNameWithColon () const {
122124 Suppressions suppressions;
123- std::istringstream s (" errorid:c:\\ foo.cpp\n errorid:c:\\ bar.cpp:12" );
125+ std::istringstream s (" errorid:c:\\ foo.cpp\n "
126+ " errorid:c:\\ bar.cpp:12" );
124127 ASSERT_EQUALS (" " , suppressions.parseFile (s));
125128 ASSERT_EQUALS (true , suppressions.isSuppressed (errorMessage (" errorid" , " c:/foo.cpp" , 1111 )));
126129 ASSERT_EQUALS (false , suppressions.isSuppressed (errorMessage (" errorid" , " c:/bar.cpp" , 10 )));
@@ -138,7 +141,9 @@ class TestSuppressions : public TestFixture {
138141 // Check that globbing works
139142 {
140143 Suppressions suppressions;
141- std::istringstream s (" errorid:x*.cpp\n errorid:y?.cpp\n errorid:test.c*" );
144+ std::istringstream s (" errorid:x*.cpp\n "
145+ " errorid:y?.cpp\n "
146+ " errorid:test.c*" );
142147 ASSERT_EQUALS (" " , suppressions.parseFile (s));
143148 ASSERT_EQUALS (true , suppressions.isSuppressed (errorMessage (" errorid" , " xyz.cpp" , 1 )));
144149 ASSERT_EQUALS (true , suppressions.isSuppressed (errorMessage (" errorid" , " xyz.cpp.cpp" , 1 )));
@@ -152,7 +157,10 @@ class TestSuppressions : public TestFixture {
152157 // Check that both a filename match and a glob match apply
153158 {
154159 Suppressions suppressions;
155- std::istringstream s (" errorid:x*.cpp\n errorid:xyz.cpp:1\n errorid:a*.cpp:1\n errorid:abc.cpp:2" );
160+ std::istringstream s (" errorid:x*.cpp\n "
161+ " errorid:xyz.cpp:1\n "
162+ " errorid:a*.cpp:1\n "
163+ " errorid:abc.cpp:2" );
156164 ASSERT_EQUALS (" " , suppressions.parseFile (s));
157165 ASSERT_EQUALS (true , suppressions.isSuppressed (errorMessage (" errorid" , " xyz.cpp" , 1 )));
158166 ASSERT_EQUALS (true , suppressions.isSuppressed (errorMessage (" errorid" , " xyz.cpp" , 2 )));
@@ -526,12 +534,14 @@ class TestSuppressions : public TestFixture {
526534 }
527535
528536 void suppressionsFileComment () const {
529- std::istringstream file1 (" # comment\n abc" );
537+ std::istringstream file1 (" # comment\n "
538+ " abc" );
530539 Suppressions suppressions1;
531540 suppressions1.parseFile (file1);
532541 ASSERT_EQUALS (true , suppressions1.isSuppressed (errorMessage (" abc" , " test.cpp" , 123 )));
533542
534- std::istringstream file2 (" // comment\n abc" );
543+ std::istringstream file2 (" // comment\n "
544+ " abc" );
535545 Suppressions suppressions2;
536546 suppressions2.parseFile (file2);
537547 ASSERT_EQUALS (true , suppressions2.isSuppressed (errorMessage (" abc" , " test.cpp" , 123 )));
@@ -700,9 +710,9 @@ class TestSuppressions : public TestFixture {
700710
701711 void inlinesuppress_unusedFunction () const { // #4210, #4946 - wrong report of "unmatchedSuppression" for "unusedFunction"
702712 Suppressions suppressions;
703- auto suppression = Suppressions::Suppression (" unusedFunction" , " test.c" , 3 );
713+ Suppressions::Suppression suppression (" unusedFunction" , " test.c" , 3 );
704714 suppression.checked = true ; // have to do this because fixes for #5704
705- suppressions.addSuppression (suppression);
715+ suppressions.addSuppression (std::move ( suppression) );
706716 ASSERT_EQUALS (true , !suppressions.getUnmatchedLocalSuppressions (" test.c" , true ).empty ());
707717 ASSERT_EQUALS (false , !suppressions.getUnmatchedGlobalSuppressions (true ).empty ());
708718 ASSERT_EQUALS (false , !suppressions.getUnmatchedLocalSuppressions (" test.c" , false ).empty ());
@@ -795,9 +805,11 @@ class TestSuppressions : public TestFixture {
795805 ASSERT_EQUALS (false , s.isSuppressed (errorMsg));
796806 errorMsg.symbolNames = " array1\n " ;
797807 ASSERT_EQUALS (true , s.isSuppressed (errorMsg));
798- errorMsg.symbolNames = " x\n array2\n " ;
808+ errorMsg.symbolNames = " x\n "
809+ " array2\n " ;
799810 ASSERT_EQUALS (true , s.isSuppressed (errorMsg));
800- errorMsg.symbolNames = " array3\n x\n " ;
811+ errorMsg.symbolNames = " array3\n "
812+ " x\n " ;
801813 ASSERT_EQUALS (true , s.isSuppressed (errorMsg));
802814 }
803815
@@ -833,6 +845,20 @@ class TestSuppressions : public TestFixture {
833845 ASSERT_EQUALS (2 , checkSuppression (code3, " zerodiv:test.cpp:3" )); // suppress 'errordiv' at line 3 of test.cpp
834846 }
835847
848+ void suppressLocal () const {
849+ Suppressions suppressions;
850+ std::istringstream s (" errorid:test.cpp\n "
851+ " errorid2" );
852+ ASSERT_EQUALS (" " , suppressions.parseFile (s));
853+ ASSERT_EQUALS (true , suppressions.isSuppressed (errorMessage (" errorid" , " test.cpp" , 1 )));
854+ ASSERT_EQUALS (true , suppressions.isSuppressed (errorMessage (" errorid" , " test.cpp" , 1 ), false ));
855+ ASSERT_EQUALS (false , suppressions.isSuppressed (errorMessage (" errorid" , " test2.cpp" , 1 )));
856+ ASSERT_EQUALS (false , suppressions.isSuppressed (errorMessage (" errorid" , " test2.cpp" , 1 ), false ));
857+ ASSERT_EQUALS (true , suppressions.isSuppressed (errorMessage (" errorid2" , " test.cpp" , 1 )));
858+ ASSERT_EQUALS (false , suppressions.isSuppressed (errorMessage (" errorid2" , " test.cpp" , 1 ), false ));
859+ ASSERT_EQUALS (true , suppressions.isSuppressed (errorMessage (" errorid2" , " test2.cpp" , 1 )));
860+ ASSERT_EQUALS (false , suppressions.isSuppressed (errorMessage (" errorid2" , " test2.cpp" , 1 ), false ));
861+ }
836862};
837863
838864REGISTER_TEST (TestSuppressions)
0 commit comments