Lines Matching refs:parse
38 TEST(ModuleRecord, parse) { in TEST() argument
41 ModuleRecord::parse( in TEST()
44 EXPECT_EQ(std::nullopt, ModuleRecord::parse("MODULE")); in TEST()
45 EXPECT_EQ(std::nullopt, ModuleRecord::parse("MODULE Linux")); in TEST()
46 EXPECT_EQ(std::nullopt, ModuleRecord::parse("MODULE Linux x86_64")); in TEST()
48 ModuleRecord::parse("MODULE Linux x86_64 deadbeefbaadf00d")); in TEST()
51 TEST(InfoRecord, parse) { in TEST() argument
53 InfoRecord::parse("INFO CODE_ID 404142434445464748494a4b4c4d4e4f")); in TEST()
54 EXPECT_EQ(InfoRecord(UUID()), InfoRecord::parse("INFO CODE_ID 47 a.exe")); in TEST()
56 EXPECT_EQ(std::nullopt, InfoRecord::parse("INFO")); in TEST()
57 EXPECT_EQ(std::nullopt, InfoRecord::parse("INFO CODE_ID")); in TEST()
60 TEST(FileRecord, parse) { in TEST() argument
61 EXPECT_EQ(FileRecord(47, "foo"), FileRecord::parse("FILE 47 foo")); in TEST()
62 EXPECT_EQ(std::nullopt, FileRecord::parse("FILE 47")); in TEST()
63 EXPECT_EQ(std::nullopt, FileRecord::parse("FILE")); in TEST()
64 EXPECT_EQ(std::nullopt, FileRecord::parse("")); in TEST()
67 TEST(FuncRecord, parse) { in TEST() argument
69 FuncRecord::parse("FUNC m 47 7 8 foo")); in TEST()
71 FuncRecord::parse("FUNC 47 7 8 foo")); in TEST()
73 EXPECT_EQ(std::nullopt, FuncRecord::parse("PUBLIC 47 7 8 foo")); in TEST()
74 EXPECT_EQ(std::nullopt, FuncRecord::parse("FUNC 47 7 8")); in TEST()
75 EXPECT_EQ(std::nullopt, FuncRecord::parse("FUNC 47 7")); in TEST()
76 EXPECT_EQ(std::nullopt, FuncRecord::parse("FUNC 47")); in TEST()
77 EXPECT_EQ(std::nullopt, FuncRecord::parse("FUNC m")); in TEST()
78 EXPECT_EQ(std::nullopt, FuncRecord::parse("FUNC")); in TEST()
81 TEST(InlineOriginRecord, parse) { in TEST() argument
83 InlineOriginRecord::parse("INLINE_ORIGIN 47 foo")); in TEST()
84 EXPECT_EQ(std::nullopt, InlineOriginRecord::parse("INLINE_ORIGIN 47")); in TEST()
85 EXPECT_EQ(std::nullopt, InlineOriginRecord::parse("INLINE_ORIGIN")); in TEST()
86 EXPECT_EQ(std::nullopt, InlineOriginRecord::parse("")); in TEST()
89 TEST(InlineRecord, parse) { in TEST() argument
92 EXPECT_EQ(record1, InlineRecord::parse("INLINE 0 1 2 3 4 5")); in TEST()
94 EXPECT_EQ(record1, InlineRecord::parse("INLINE 0 1 2 3 4 5 6 7")); in TEST()
95 EXPECT_EQ(std::nullopt, InlineRecord::parse("INLINE 0 1 2 3")); in TEST()
96 EXPECT_EQ(std::nullopt, InlineRecord::parse("INLINE 0 1 2 3 4 5 6")); in TEST()
97 EXPECT_EQ(std::nullopt, InlineRecord::parse("INLNIE 0")); in TEST()
98 EXPECT_EQ(std::nullopt, InlineRecord::parse("")); in TEST()
99 EXPECT_EQ(std::nullopt, InlineRecord::parse("FUNC")); in TEST()
102 TEST(LineRecord, parse) { in TEST() argument
103 EXPECT_EQ(LineRecord(0x47, 0x74, 47, 74), LineRecord::parse("47 74 47 74")); in TEST()
104 EXPECT_EQ(std::nullopt, LineRecord::parse("47 74 47")); in TEST()
105 EXPECT_EQ(std::nullopt, LineRecord::parse("47 74")); in TEST()
106 EXPECT_EQ(std::nullopt, LineRecord::parse("47")); in TEST()
107 EXPECT_EQ(std::nullopt, LineRecord::parse("")); in TEST()
108 EXPECT_EQ(std::nullopt, LineRecord::parse("FUNC")); in TEST()
111 TEST(PublicRecord, parse) { in TEST() argument
113 PublicRecord::parse("PUBLIC m 47 8 foo")); in TEST()
115 PublicRecord::parse("PUBLIC 47 8 foo")); in TEST()
117 EXPECT_EQ(std::nullopt, PublicRecord::parse("FUNC 47 8 foo")); in TEST()
118 EXPECT_EQ(std::nullopt, PublicRecord::parse("PUBLIC 47 8")); in TEST()
119 EXPECT_EQ(std::nullopt, PublicRecord::parse("PUBLIC 47")); in TEST()
120 EXPECT_EQ(std::nullopt, PublicRecord::parse("PUBLIC m")); in TEST()
121 EXPECT_EQ(std::nullopt, PublicRecord::parse("PUBLIC")); in TEST()
124 TEST(StackCFIRecord, parse) { in TEST() argument
126 StackCFIRecord::parse( in TEST()
130 StackCFIRecord::parse("STACK CFI INIT 47 8 .cfa: $esp 4 + ")); in TEST()
133 StackCFIRecord::parse("STACK CFI 47 .cfa: $esp 4 +")); in TEST()
137 StackCFIRecord::parse("STACK CFI INIT 47 8 .cfa: ^ ^ ^")); in TEST()
139 EXPECT_EQ(std::nullopt, StackCFIRecord::parse("STACK CFI INIT 47")); in TEST()
140 EXPECT_EQ(std::nullopt, StackCFIRecord::parse("STACK CFI INIT")); in TEST()
141 EXPECT_EQ(std::nullopt, StackCFIRecord::parse("STACK CFI")); in TEST()
142 EXPECT_EQ(std::nullopt, StackCFIRecord::parse("STACK")); in TEST()
143 EXPECT_EQ(std::nullopt, StackCFIRecord::parse("FILE 47 foo")); in TEST()
144 EXPECT_EQ(std::nullopt, StackCFIRecord::parse("42 47")); in TEST()
147 TEST(StackWinRecord, parse) { in TEST() argument
150 StackWinRecord::parse("STACK WIN 4 47 8 1 2 3 4 5 6 1 $eip $esp ^ =")); in TEST()
152 EXPECT_EQ(std::nullopt, StackWinRecord::parse( in TEST()
155 StackWinRecord::parse("STACK WIN 4 47 8 1 0 0 0 0 0 0 1")); in TEST()
156 EXPECT_EQ(std::nullopt, StackWinRecord::parse( in TEST()
159 StackWinRecord::parse("STACK WIN 3 47 8 1 0 0 0 0 0 0 1")); in TEST()
160 EXPECT_EQ(std::nullopt, StackWinRecord::parse( in TEST()
163 StackWinRecord::parse("STACK WIN 4 47 8 1 0 0 0 0 0")); in TEST()
164 EXPECT_EQ(std::nullopt, StackWinRecord::parse("STACK WIN 4 47 8 1 0 0 0 0")); in TEST()
165 EXPECT_EQ(std::nullopt, StackWinRecord::parse("STACK WIN 4 47 8 1 0 0 0")); in TEST()
166 EXPECT_EQ(std::nullopt, StackWinRecord::parse("STACK WIN 4 47 8 1 0 0")); in TEST()
167 EXPECT_EQ(std::nullopt, StackWinRecord::parse("STACK WIN 4 47 8 1 0")); in TEST()
168 EXPECT_EQ(std::nullopt, StackWinRecord::parse("STACK WIN 4 47 8 1")); in TEST()
169 EXPECT_EQ(std::nullopt, StackWinRecord::parse("STACK WIN 4 47 8")); in TEST()
170 EXPECT_EQ(std::nullopt, StackWinRecord::parse("STACK WIN 4 47")); in TEST()
171 EXPECT_EQ(std::nullopt, StackWinRecord::parse("STACK WIN 4")); in TEST()
172 EXPECT_EQ(std::nullopt, StackWinRecord::parse("STACK WIN")); in TEST()
173 EXPECT_EQ(std::nullopt, StackWinRecord::parse("STACK")); in TEST()
174 EXPECT_EQ(std::nullopt, StackWinRecord::parse("")); in TEST()
175 EXPECT_EQ(std::nullopt, StackCFIRecord::parse("FILE 47 foo")); in TEST()
176 EXPECT_EQ(std::nullopt, StackCFIRecord::parse("42 47")); in TEST()