summaryrefslogtreecommitdiffstats
path: root/llvm/unittests/Remarks/YAMLRemarksSerializerTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/unittests/Remarks/YAMLRemarksSerializerTest.cpp')
-rw-r--r--llvm/unittests/Remarks/YAMLRemarksSerializerTest.cpp60
1 files changed, 39 insertions, 21 deletions
diff --git a/llvm/unittests/Remarks/YAMLRemarksSerializerTest.cpp b/llvm/unittests/Remarks/YAMLRemarksSerializerTest.cpp
index 12c754ee2c7..2d080483d48 100644
--- a/llvm/unittests/Remarks/YAMLRemarksSerializerTest.cpp
+++ b/llvm/unittests/Remarks/YAMLRemarksSerializerTest.cpp
@@ -14,11 +14,10 @@
using namespace llvm;
static void check(const remarks::Remark &R, StringRef ExpectedR,
- Optional<StringRef> ExpectedStrTab = None,
+ StringRef ExpectedMeta, bool UseStrTab = false,
Optional<remarks::StringTable> StrTab = None) {
std::string Buf;
raw_string_ostream OS(Buf);
- bool UseStrTab = ExpectedStrTab.hasValue();
Expected<std::unique_ptr<remarks::RemarkSerializer>> MaybeS = [&] {
if (UseStrTab) {
if (StrTab)
@@ -34,12 +33,12 @@ static void check(const remarks::Remark &R, StringRef ExpectedR,
S->emit(R);
EXPECT_EQ(OS.str(), ExpectedR);
- if (ExpectedStrTab) {
- Buf.clear();
- EXPECT_TRUE(S->StrTab);
- S->StrTab->serialize(OS);
- EXPECT_EQ(OS.str(), *ExpectedStrTab);
- }
+
+ Buf.clear();
+ std::unique_ptr<remarks::MetaSerializer> MS =
+ S->metaSerializer(OS, StringRef("/externalfile"));
+ MS->emit();
+ EXPECT_EQ(OS.str(), ExpectedMeta);
}
TEST(YAMLRemarks, SerializerRemark) {
@@ -57,17 +56,23 @@ TEST(YAMLRemarks, SerializerRemark) {
R.Args.back().Key = "keydebug";
R.Args.back().Val = "valuedebug";
R.Args.back().Loc = remarks::RemarkLocation{"argpath", 6, 7};
- check(R, "--- !Missed\n"
- "Pass: pass\n"
- "Name: name\n"
- "DebugLoc: { File: path, Line: 3, Column: 4 }\n"
- "Function: func\n"
- "Hotness: 5\n"
- "Args:\n"
- " - key: value\n"
- " - keydebug: valuedebug\n"
- " DebugLoc: { File: argpath, Line: 6, Column: 7 }\n"
- "...\n");
+ check(R,
+ "--- !Missed\n"
+ "Pass: pass\n"
+ "Name: name\n"
+ "DebugLoc: { File: path, Line: 3, Column: 4 }\n"
+ "Function: func\n"
+ "Hotness: 5\n"
+ "Args:\n"
+ " - key: value\n"
+ " - keydebug: valuedebug\n"
+ " DebugLoc: { File: argpath, Line: 6, Column: 7 }\n"
+ "...\n",
+ StringRef("REMARKS\0"
+ "\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0"
+ "/externalfile\0",
+ 38));
}
TEST(YAMLRemarks, SerializerRemarkStrTab) {
@@ -97,7 +102,13 @@ TEST(YAMLRemarks, SerializerRemarkStrTab) {
" - keydebug: 5\n"
" DebugLoc: { File: 6, Line: 6, Column: 7 }\n"
"...\n",
- StringRef("pass\0name\0func\0path\0value\0valuedebug\0argpath\0", 45));
+ StringRef("REMARKS\0"
+ "\0\0\0\0\0\0\0\0"
+ "\x2d\0\0\0\0\0\0\0"
+ "pass\0name\0func\0path\0value\0valuedebug\0argpath\0"
+ "/externalfile\0",
+ 83),
+ /*UseStrTab=*/true);
}
TEST(YAMLRemarks, SerializerRemarkParsedStrTab) {
@@ -128,5 +139,12 @@ TEST(YAMLRemarks, SerializerRemarkParsedStrTab) {
" - keydebug: 5\n"
" DebugLoc: { File: 6, Line: 6, Column: 7 }\n"
"...\n",
- StrTab, remarks::StringTable(remarks::ParsedStringTable(StrTab)));
+ StringRef("REMARKS\0"
+ "\0\0\0\0\0\0\0\0"
+ "\x2d\0\0\0\0\0\0\0"
+ "pass\0name\0func\0path\0value\0valuedebug\0argpath\0"
+ "/externalfile\0",
+ 83),
+ /*UseStrTab=*/true,
+ remarks::StringTable(remarks::ParsedStringTable(StrTab)));
}
OpenPOWER on IntegriCloud