Lines Matching refs:Result
83 void PrintTo(const GraphResult &Result, ::std::ostream *os) { in PrintTo() argument
84 *os << "Result BaseAddress: 0x" << std::hex << Result.BaseAddress << "\n"; in PrintTo()
86 if (Result.ConditionalBranchNodes.empty()) in PrintTo()
89 for (const auto &Node : Result.ConditionalBranchNodes) { in PrintTo()
93 << HexStringifyContainer(Result.flattenAddress(Node.Fallthrough)) in PrintTo()
96 << HexStringifyContainer(Result.flattenAddress(Node.Target)) << "\n"; in PrintTo()
99 if (Result.OrphanedNodes.empty()) in PrintTo()
102 for (const auto &Orphan : Result.OrphanedNodes) { in PrintTo()
104 << ") Path: " << HexStringifyContainer(Result.flattenAddress(Orphan)) in PrintTo()
145 MATCHER_P2(HasPath, Result, Matcher, "has path " + PrintToString(Matcher)) {
146 const auto &Path = Result.flattenAddress(arg);
161 const auto Result = in TEST_F() local
164 EXPECT_THAT(Result.OrphanedNodes, IsEmpty()); in TEST_F()
165 EXPECT_THAT(Result.ConditionalBranchNodes, SizeIs(1)); in TEST_F()
166 EXPECT_THAT(Result.ConditionalBranchNodes, in TEST_F()
169 Result.ConditionalBranchNodes, in TEST_F()
172 HasPath(Result, ElementsAre(0xDEADBEEF + 4))), in TEST_F()
174 HasPath(Result, ElementsAre(0xDEADBEEF + 2)))))) in TEST_F()
175 << PrintToString(Result); in TEST_F()
188 const auto Result = in TEST_F() local
191 EXPECT_THAT(Result.OrphanedNodes, IsEmpty()); in TEST_F()
192 EXPECT_THAT(Result.ConditionalBranchNodes, SizeIs(1)); in TEST_F()
193 EXPECT_THAT(Result.ConditionalBranchNodes, in TEST_F()
196 Result.ConditionalBranchNodes, in TEST_F()
199 HasPath(Result, ElementsAre(0xDEADBEEF + 4))), in TEST_F()
201 HasPath(Result, ElementsAre(0xDEADBEEF + 2)))))) in TEST_F()
202 << PrintToString(Result); in TEST_F()
218 const auto Result = in TEST_F() local
221 EXPECT_THAT(Result.OrphanedNodes, IsEmpty()); in TEST_F()
222 EXPECT_THAT(Result.ConditionalBranchNodes, SizeIs(2)); in TEST_F()
223 EXPECT_THAT(Result.ConditionalBranchNodes, in TEST_F()
226 Result.ConditionalBranchNodes, in TEST_F()
230 HasPath(Result, ElementsAre(0xDEADBEEF + 2, 0xDEADBEEF + 3))), in TEST_F()
232 HasPath(Result, ElementsAre(0xDEADBEEF + 5)))))) in TEST_F()
233 << PrintToString(Result); in TEST_F()
235 Result.ConditionalBranchNodes, in TEST_F()
239 HasPath(Result, ElementsAre(0xDEADBEEF + 9))), in TEST_F()
241 HasPath(Result, ElementsAre(0xDEADBEEF + 2, 0xDEADBEEF + 3)))))) in TEST_F()
242 << PrintToString(Result); in TEST_F()
257 GraphResult Result = in TEST_F() local
260 EXPECT_THAT(Result.OrphanedNodes, IsEmpty()); in TEST_F()
261 EXPECT_THAT(Result.ConditionalBranchNodes, SizeIs(2)); in TEST_F()
262 EXPECT_THAT(Result.ConditionalBranchNodes, in TEST_F()
265 Result.ConditionalBranchNodes, in TEST_F()
269 HasPath(Result, ElementsAre(0xDEADBEEF + 2, 0xDEADBEEF + 3))), in TEST_F()
271 HasPath(Result, ElementsAre(0xDEADBEEF + 7)))))) in TEST_F()
272 << PrintToString(Result); in TEST_F()
274 Result.ConditionalBranchNodes, in TEST_F()
278 HasPath(Result, ElementsAre(0xDEADBEEF + 7))), in TEST_F()
280 HasPath(Result, ElementsAre(0xDEADBEEF + 2, 0xDEADBEEF + 3)))))) in TEST_F()
281 << PrintToString(Result); in TEST_F()
293 GraphResult Result = in TEST_F() local
295 EXPECT_THAT(Result.OrphanedNodes, IsEmpty()); in TEST_F()
296 EXPECT_THAT(Result.ConditionalBranchNodes, IsEmpty()); in TEST_F()
298 Result = GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 1, 0x0}); in TEST_F()
299 EXPECT_THAT(Result.OrphanedNodes, IsEmpty()); in TEST_F()
300 EXPECT_THAT(Result.ConditionalBranchNodes, IsEmpty()); in TEST_F()
302 Result = GraphBuilder::buildFlowGraph(Analysis, {0xDEADC0DE, 0x0}); in TEST_F()
303 EXPECT_THAT(Result.OrphanedNodes, IsEmpty()); in TEST_F()
304 EXPECT_THAT(Result.ConditionalBranchNodes, IsEmpty()); in TEST_F()
316 GraphResult Result = in TEST_F() local
318 EXPECT_THAT(Result.ConditionalBranchNodes, IsEmpty()); in TEST_F()
319 EXPECT_THAT(Result.OrphanedNodes, ElementsAre(0xDEADBEEF + 2)); in TEST_F()
320 EXPECT_THAT(Result.IntermediateNodes, IsEmpty()); in TEST_F()
332 GraphResult Result = in TEST_F() local
334 EXPECT_THAT(Result.OrphanedNodes, IsEmpty()); in TEST_F()
335 EXPECT_THAT(Result.ConditionalBranchNodes, SizeIs(1)); in TEST_F()
337 Result.ConditionalBranchNodes, in TEST_F()
340 HasPath(Result, ElementsAre(0xDEADBEEF))), in TEST_F()
342 HasPath(Result, ElementsAre(0xDEADBEEF + 2)))))) in TEST_F()
343 << PrintToString(Result); in TEST_F()
356 GraphResult Result = in TEST_F() local
358 EXPECT_THAT(Result.OrphanedNodes, IsEmpty()); in TEST_F()
359 EXPECT_THAT(Result.ConditionalBranchNodes, SizeIs(1)); in TEST_F()
361 Result.ConditionalBranchNodes, in TEST_F()
365 HasPath(Result, ElementsAre(0xDEADBEEF + 2, 0xDEADBEEF))), in TEST_F()
367 HasPath(Result, ElementsAre(0xDEADBEEF + 4)))))) in TEST_F()
368 << PrintToString(Result); in TEST_F()
381 GraphResult Result = in TEST_F() local
383 EXPECT_THAT(Result.OrphanedNodes, ElementsAre(0xDEADBEEF + 4)); in TEST_F()
384 EXPECT_THAT(Result.ConditionalBranchNodes, IsEmpty()); in TEST_F()
405 GraphResult Result = in TEST_F() local
407 EXPECT_THAT(Result.OrphanedNodes, SizeIs(1)); in TEST_F()
408 EXPECT_THAT(Result.OrphanedNodes, in TEST_F()
409 Each(HasPath(Result, ElementsAre(0xDEADBEEF + 4, 0xDEADBEEF + 5, in TEST_F()
411 << PrintToString(Result); in TEST_F()
412 EXPECT_THAT(Result.ConditionalBranchNodes, IsEmpty()); in TEST_F()
434 GraphResult Result = in TEST_F() local
436 EXPECT_THAT(Result.OrphanedNodes, IsEmpty()); in TEST_F()
438 Result.ConditionalBranchNodes, in TEST_F()
443 HasPath(Result, ElementsAre(0xDEADBEEF + 4, 0xDEADBEEF + 5))), in TEST_F()
445 HasPath(Result, ElementsAre(0xDEADBEEF + 2)))))) in TEST_F()
446 << PrintToString(Result); in TEST_F()
466 GraphResult Result = in TEST_F() local
468 EXPECT_THAT(Result.OrphanedNodes, IsEmpty()); in TEST_F()
469 EXPECT_THAT(Result.ConditionalBranchNodes, SizeIs(2)); in TEST_F()
471 Result.ConditionalBranchNodes, in TEST_F()
476 HasPath(Result, ElementsAre(0xDEADBEEF + 7))), in TEST_F()
478 HasPath(Result, ElementsAre(0xDEADBEEF + 2, 0xDEADBEEF + 3)))))) in TEST_F()
479 << PrintToString(Result); in TEST_F()
481 Result.ConditionalBranchNodes, in TEST_F()
486 HasPath(Result, ElementsAre(0xDEADBEEF + 2, 0xDEADBEEF + 3))), in TEST_F()
488 HasPath(Result, ElementsAre(0xDEADBEEF + 7)))))) in TEST_F()
489 << PrintToString(Result); in TEST_F()
490 EXPECT_THAT(Result.IntermediateNodes, SizeIs(1)); in TEST_F()
491 EXPECT_THAT(Result.IntermediateNodes, in TEST_F()
549 GraphResult Result = in TEST_F() local
552 EXPECT_THAT(Result.OrphanedNodes, SizeIs(1)); in TEST_F()
553 EXPECT_THAT(Result.ConditionalBranchNodes, SizeIs(3)); in TEST_F()
556 Result.OrphanedNodes, in TEST_F()
558 HasPath(Result, ElementsAre(0x1000 + 11, 0x1000 + 9))))) in TEST_F()
559 << PrintToString(Result); in TEST_F()
561 EXPECT_THAT(Result.ConditionalBranchNodes, in TEST_F()
566 HasPath(Result, ElementsAre(0x1000 + 20, 0x1000 + 21, in TEST_F()
569 HasPath(Result, ElementsAre(0x1000 + 2, 0x1000 + 7, in TEST_F()
571 << PrintToString(Result); in TEST_F()
573 EXPECT_THAT(Result.ConditionalBranchNodes, in TEST_F()
578 HasPath(Result, ElementsAre(0x1000 + 22))), in TEST_F()
580 HasPath(Result, ElementsAre(0x1000 + 6, 0x1000 + 7, in TEST_F()
582 << PrintToString(Result); in TEST_F()
585 Result.ConditionalBranchNodes, in TEST_F()
589 HasPath(Result, ElementsAre(0x1000 + 9))), in TEST_F()
591 HasPath(Result, ElementsAre(0x1000 + 15)))))) in TEST_F()
592 << PrintToString(Result); in TEST_F()