diff options
Diffstat (limited to 'llvm/unittests')
-rw-r--r-- | llvm/unittests/Remarks/YAMLRemarksSerializerTest.cpp | 60 |
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))); } |