MCPcopy Create free account
hub / github.com/cppcheck-opensource/cppcheck / suppressionsGlob

Method suppressionsGlob

test/testsuppressions.cpp:254–300  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

252 }
253
254 void suppressionsGlob() const {
255 // Check for syntax errors in glob
256 {
257 SuppressionList suppressions;
258 std::istringstream s("errorid:*?.cpp\n");
259 ASSERT_EQUALS("Failed to add suppression. Invalid glob pattern '*?.cpp'.", suppressions.parseFile(s));
260 }
261
262 // Check that globbing works
263 {
264 SuppressionList suppressions;
265 std::istringstream s("errorid:x*.cpp\n"
266 "errorid:y?.cpp\n"
267 "errorid:test.c*\n"
268 "errorid:dir/**\n"
269 "errorid:**/abc**/xyz-??*.?pp\n");
270 ASSERT_EQUALS("", suppressions.parseFile(s));
271 ASSERT_EQUALS(true, suppressions.isSuppressed(errorMessage("errorid", "xyz.cpp", 1)));
272 ASSERT_EQUALS(true, suppressions.isSuppressed(errorMessage("errorid", "xyz.cpp.cpp", 1)));
273 ASSERT_EQUALS(false, suppressions.isSuppressed(errorMessage("errorid", "abc.cpp", 1)));
274 ASSERT_EQUALS(true, suppressions.isSuppressed(errorMessage("errorid", "ya.cpp", 1)));
275 ASSERT_EQUALS(false, suppressions.isSuppressed(errorMessage("errorid", "y.cpp", 1)));
276 ASSERT_EQUALS(true, suppressions.isSuppressed(errorMessage("errorid", "test.c", 1)));
277 ASSERT_EQUALS(true, suppressions.isSuppressed(errorMessage("errorid", "test.cpp", 1)));
278
279 ASSERT_EQUALS(true, suppressions.isSuppressed(errorMessage("errorid", "dir/test.cpp", 1)));
280 ASSERT_EQUALS(true, suppressions.isSuppressed(errorMessage("errorid", "dir/deep/nested/test.cpp", 1)));
281 ASSERT_EQUALS(false, suppressions.isSuppressed(errorMessage("errorid", "yellow.cpp", 1)));
282 ASSERT_EQUALS(true, suppressions.isSuppressed(errorMessage("errorid", "foo/sub/abc/sub/xyz-22aaa.cpp", 1)));
283 ASSERT_EQUALS(false, suppressions.isSuppressed(errorMessage("errorid", "foo/sub/abc-xyz-22.cpp", 1)));
284 ASSERT_EQUALS(false, suppressions.isSuppressed(errorMessage("errorid", "x/abcxyz-11.cpp", 1)));
285 }
286
287 // Check that both a filename match and a glob match apply
288 {
289 SuppressionList suppressions;
290 std::istringstream s("errorid:x*.cpp\n"
291 "errorid:xyz.cpp:1\n"
292 "errorid:a*.cpp:1\n"
293 "errorid:abc.cpp:2");
294 ASSERT_EQUALS("", suppressions.parseFile(s));
295 ASSERT_EQUALS(true, suppressions.isSuppressed(errorMessage("errorid", "xyz.cpp", 1)));
296 ASSERT_EQUALS(true, suppressions.isSuppressed(errorMessage("errorid", "xyz.cpp", 2)));
297 ASSERT_EQUALS(true, suppressions.isSuppressed(errorMessage("errorid", "abc.cpp", 1)));
298 ASSERT_EQUALS(true, suppressions.isSuppressed(errorMessage("errorid", "abc.cpp", 2)));
299 }
300 }
301
302 void suppressionsGlobId() const {
303 SuppressionList suppressions;

Callers

nothing calls this directly

Calls 2

parseFileMethod · 0.45
isSuppressedMethod · 0.45

Tested by

no test coverage detected