aboutsummaryrefslogtreecommitdiff
path: root/clang/unittests/Basic/DiagnosticTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/unittests/Basic/DiagnosticTest.cpp')
-rw-r--r--clang/unittests/Basic/DiagnosticTest.cpp47
1 files changed, 17 insertions, 30 deletions
diff --git a/clang/unittests/Basic/DiagnosticTest.cpp b/clang/unittests/Basic/DiagnosticTest.cpp
index 0f1b1d8..de09086 100644
--- a/clang/unittests/Basic/DiagnosticTest.cpp
+++ b/clang/unittests/Basic/DiagnosticTest.cpp
@@ -21,7 +21,6 @@
#include "llvm/Support/VirtualFileSystem.h"
#include "gmock/gmock.h"
#include "gtest/gtest.h"
-#include <algorithm>
#include <memory>
#include <optional>
#include <vector>
@@ -296,35 +295,23 @@ TEST_F(SuppressionMappingTest, EmitCategoryIsExcluded) {
}
TEST_F(SuppressionMappingTest, LongestMatchWins) {
- StringRef Lines[] = {
- "[unused]",
- "src:*clang/*",
- "src:*clang/lib/Sema/*",
- "src:*clang/lib/Sema/*=emit",
- "src:*clang/lib/Sema/foo*",
- };
- llvm::MutableArrayRef<StringRef> Rules = Lines;
- Rules = Rules.drop_front();
- llvm::sort(Rules);
-
- do {
- Diags.getDiagnosticOptions().DiagnosticSuppressionMappingsFile = "foo.txt";
- std::string Contents = join(std::begin(Lines), std::end(Lines), "\n");
- FS->addFile("foo.txt", /*ModificationTime=*/{},
- llvm::MemoryBuffer::getMemBuffer(Contents));
- clang::ProcessWarningOptions(Diags, Diags.getDiagnosticOptions(), *FS);
- EXPECT_THAT(diags(), IsEmpty());
-
- EXPECT_TRUE(Diags.isSuppressedViaMapping(
- diag::warn_unused_function, locForFile("clang/lib/Basic/foo.h")))
- << Contents;
- EXPECT_FALSE(Diags.isSuppressedViaMapping(
- diag::warn_unused_function, locForFile("clang/lib/Sema/bar.h")))
- << Contents;
- EXPECT_TRUE(Diags.isSuppressedViaMapping(
- diag::warn_unused_function, locForFile("clang/lib/Sema/foo.h")))
- << Contents;
- } while (std::next_permutation(Rules.begin(), Rules.end()));
+ llvm::StringLiteral SuppressionMappingFile = R"(
+ [unused]
+ src:*clang/*
+ src:*clang/lib/Sema/*=emit
+ src:*clang/lib/Sema/foo*)";
+ Diags.getDiagnosticOptions().DiagnosticSuppressionMappingsFile = "foo.txt";
+ FS->addFile("foo.txt", /*ModificationTime=*/{},
+ llvm::MemoryBuffer::getMemBuffer(SuppressionMappingFile));
+ clang::ProcessWarningOptions(Diags, Diags.getDiagnosticOptions(), *FS);
+ EXPECT_THAT(diags(), IsEmpty());
+
+ EXPECT_TRUE(Diags.isSuppressedViaMapping(
+ diag::warn_unused_function, locForFile("clang/lib/Basic/foo.h")));
+ EXPECT_FALSE(Diags.isSuppressedViaMapping(
+ diag::warn_unused_function, locForFile("clang/lib/Sema/bar.h")));
+ EXPECT_TRUE(Diags.isSuppressedViaMapping(diag::warn_unused_function,
+ locForFile("clang/lib/Sema/foo.h")));
}
TEST_F(SuppressionMappingTest, LongShortMatch) {