| 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; |
nothing calls this directly
no test coverage detected