Lines Matching full:result
81 void PrintTo(const GraphResult &Result, ::std::ostream *os) { in PrintTo() argument
82 *os << "Result BaseAddress: 0x" << std::hex << Result.BaseAddress << "\n"; in PrintTo()
84 if (Result.ConditionalBranchNodes.empty()) in PrintTo()
87 for (const auto &Node : Result.ConditionalBranchNodes) { in PrintTo()
91 << HexStringifyContainer(Result.flattenAddress(Node.Fallthrough)) in PrintTo()
94 << HexStringifyContainer(Result.flattenAddress(Node.Target)) << "\n"; in PrintTo()
97 if (Result.OrphanedNodes.empty()) in PrintTo()
100 for (const auto &Orphan : Result.OrphanedNodes) { in PrintTo()
102 << ") Path: " << HexStringifyContainer(Result.flattenAddress(Orphan)) in PrintTo()
143 MATCHER_P2(HasPath, Result, Matcher, "has path " + PrintToString(Matcher)) {
144 const auto &Path = Result.flattenAddress(arg);
159 const auto Result = in TEST_F() local
162 EXPECT_THAT(Result.OrphanedNodes, IsEmpty()); in TEST_F()
163 EXPECT_THAT(Result.ConditionalBranchNodes, SizeIs(1)); in TEST_F()
164 EXPECT_THAT(Result.ConditionalBranchNodes, in TEST_F()
167 Result.ConditionalBranchNodes, in TEST_F()
170 HasPath(Result, ElementsAre(0xDEADBEEF + 4))), in TEST_F()
172 HasPath(Result, ElementsAre(0xDEADBEEF + 2)))))) in TEST_F()
173 << PrintToString(Result); in TEST_F()
186 const auto Result = in TEST_F() local
189 EXPECT_THAT(Result.OrphanedNodes, IsEmpty()); in TEST_F()
190 EXPECT_THAT(Result.ConditionalBranchNodes, SizeIs(1)); in TEST_F()
191 EXPECT_THAT(Result.ConditionalBranchNodes, in TEST_F()
194 Result.ConditionalBranchNodes, in TEST_F()
197 HasPath(Result, ElementsAre(0xDEADBEEF + 4))), in TEST_F()
199 HasPath(Result, ElementsAre(0xDEADBEEF + 2)))))) in TEST_F()
200 << PrintToString(Result); in TEST_F()
216 const auto Result = in TEST_F() local
219 EXPECT_THAT(Result.OrphanedNodes, IsEmpty()); in TEST_F()
220 EXPECT_THAT(Result.ConditionalBranchNodes, SizeIs(2)); in TEST_F()
221 EXPECT_THAT(Result.ConditionalBranchNodes, in TEST_F()
224 Result.ConditionalBranchNodes, in TEST_F()
228 HasPath(Result, ElementsAre(0xDEADBEEF + 2, 0xDEADBEEF + 3))), in TEST_F()
230 HasPath(Result, ElementsAre(0xDEADBEEF + 5)))))) in TEST_F()
231 << PrintToString(Result); in TEST_F()
233 Result.ConditionalBranchNodes, in TEST_F()
237 HasPath(Result, ElementsAre(0xDEADBEEF + 9))), in TEST_F()
239 HasPath(Result, ElementsAre(0xDEADBEEF + 2, 0xDEADBEEF + 3)))))) in TEST_F()
240 << PrintToString(Result); in TEST_F()
255 GraphResult Result = in TEST_F() local
258 EXPECT_THAT(Result.OrphanedNodes, IsEmpty()); in TEST_F()
259 EXPECT_THAT(Result.ConditionalBranchNodes, SizeIs(2)); in TEST_F()
260 EXPECT_THAT(Result.ConditionalBranchNodes, in TEST_F()
263 Result.ConditionalBranchNodes, in TEST_F()
267 HasPath(Result, ElementsAre(0xDEADBEEF + 2, 0xDEADBEEF + 3))), in TEST_F()
269 HasPath(Result, ElementsAre(0xDEADBEEF + 7)))))) in TEST_F()
270 << PrintToString(Result); in TEST_F()
272 Result.ConditionalBranchNodes, in TEST_F()
276 HasPath(Result, ElementsAre(0xDEADBEEF + 7))), in TEST_F()
278 HasPath(Result, ElementsAre(0xDEADBEEF + 2, 0xDEADBEEF + 3)))))) in TEST_F()
279 << PrintToString(Result); in TEST_F()
291 GraphResult Result = in TEST_F() local
293 EXPECT_THAT(Result.OrphanedNodes, IsEmpty()); in TEST_F()
294 EXPECT_THAT(Result.ConditionalBranchNodes, IsEmpty()); in TEST_F()
296 Result = GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 1, 0x0}); in TEST_F()
297 EXPECT_THAT(Result.OrphanedNodes, IsEmpty()); in TEST_F()
298 EXPECT_THAT(Result.ConditionalBranchNodes, IsEmpty()); in TEST_F()
300 Result = GraphBuilder::buildFlowGraph(Analysis, {0xDEADC0DE, 0x0}); in TEST_F()
301 EXPECT_THAT(Result.OrphanedNodes, IsEmpty()); in TEST_F()
302 EXPECT_THAT(Result.ConditionalBranchNodes, IsEmpty()); in TEST_F()
314 GraphResult Result = in TEST_F() local
316 EXPECT_THAT(Result.ConditionalBranchNodes, IsEmpty()); in TEST_F()
317 EXPECT_THAT(Result.OrphanedNodes, ElementsAre(0xDEADBEEF + 2)); in TEST_F()
318 EXPECT_THAT(Result.IntermediateNodes, IsEmpty()); in TEST_F()
330 GraphResult Result = in TEST_F() local
332 EXPECT_THAT(Result.OrphanedNodes, IsEmpty()); in TEST_F()
333 EXPECT_THAT(Result.ConditionalBranchNodes, SizeIs(1)); in TEST_F()
335 Result.ConditionalBranchNodes, in TEST_F()
338 HasPath(Result, ElementsAre(0xDEADBEEF))), in TEST_F()
340 HasPath(Result, ElementsAre(0xDEADBEEF + 2)))))) in TEST_F()
341 << PrintToString(Result); in TEST_F()
354 GraphResult Result = in TEST_F() local
356 EXPECT_THAT(Result.OrphanedNodes, IsEmpty()); in TEST_F()
357 EXPECT_THAT(Result.ConditionalBranchNodes, SizeIs(1)); in TEST_F()
359 Result.ConditionalBranchNodes, in TEST_F()
363 HasPath(Result, ElementsAre(0xDEADBEEF + 2, 0xDEADBEEF))), in TEST_F()
365 HasPath(Result, ElementsAre(0xDEADBEEF + 4)))))) in TEST_F()
366 << PrintToString(Result); in TEST_F()
379 GraphResult Result = in TEST_F() local
381 EXPECT_THAT(Result.OrphanedNodes, ElementsAre(0xDEADBEEF + 4)); in TEST_F()
382 EXPECT_THAT(Result.ConditionalBranchNodes, IsEmpty()); in TEST_F()
403 GraphResult Result = in TEST_F() local
405 EXPECT_THAT(Result.OrphanedNodes, SizeIs(1)); in TEST_F()
406 EXPECT_THAT(Result.OrphanedNodes, in TEST_F()
407 Each(HasPath(Result, ElementsAre(0xDEADBEEF + 4, 0xDEADBEEF + 5, in TEST_F()
409 << PrintToString(Result); in TEST_F()
410 EXPECT_THAT(Result.ConditionalBranchNodes, IsEmpty()); in TEST_F()
432 GraphResult Result = in TEST_F() local
434 EXPECT_THAT(Result.OrphanedNodes, IsEmpty()); in TEST_F()
436 Result.ConditionalBranchNodes, in TEST_F()
441 HasPath(Result, ElementsAre(0xDEADBEEF + 4, 0xDEADBEEF + 5))), in TEST_F()
443 HasPath(Result, ElementsAre(0xDEADBEEF + 2)))))) in TEST_F()
444 << PrintToString(Result); in TEST_F()
464 GraphResult Result = in TEST_F() local
466 EXPECT_THAT(Result.OrphanedNodes, IsEmpty()); in TEST_F()
467 EXPECT_THAT(Result.ConditionalBranchNodes, SizeIs(2)); in TEST_F()
469 Result.ConditionalBranchNodes, in TEST_F()
474 HasPath(Result, ElementsAre(0xDEADBEEF + 7))), in TEST_F()
476 HasPath(Result, ElementsAre(0xDEADBEEF + 2, 0xDEADBEEF + 3)))))) in TEST_F()
477 << PrintToString(Result); in TEST_F()
479 Result.ConditionalBranchNodes, in TEST_F()
484 HasPath(Result, ElementsAre(0xDEADBEEF + 2, 0xDEADBEEF + 3))), in TEST_F()
486 HasPath(Result, ElementsAre(0xDEADBEEF + 7)))))) in TEST_F()
487 << PrintToString(Result); in TEST_F()
488 EXPECT_THAT(Result.IntermediateNodes, SizeIs(1)); in TEST_F()
489 EXPECT_THAT(Result.IntermediateNodes, in TEST_F()
547 GraphResult Result = in TEST_F() local
550 EXPECT_THAT(Result.OrphanedNodes, SizeIs(1)); in TEST_F()
551 EXPECT_THAT(Result.ConditionalBranchNodes, SizeIs(3)); in TEST_F()
554 Result.OrphanedNodes, in TEST_F()
556 HasPath(Result, ElementsAre(0x1000 + 11, 0x1000 + 9))))) in TEST_F()
557 << PrintToString(Result); in TEST_F()
559 EXPECT_THAT(Result.ConditionalBranchNodes, in TEST_F()
564 HasPath(Result, ElementsAre(0x1000 + 20, 0x1000 + 21, in TEST_F()
567 HasPath(Result, ElementsAre(0x1000 + 2, 0x1000 + 7, in TEST_F()
569 << PrintToString(Result); in TEST_F()
571 EXPECT_THAT(Result.ConditionalBranchNodes, in TEST_F()
576 HasPath(Result, ElementsAre(0x1000 + 22))), in TEST_F()
578 HasPath(Result, ElementsAre(0x1000 + 6, 0x1000 + 7, in TEST_F()
580 << PrintToString(Result); in TEST_F()
583 Result.ConditionalBranchNodes, in TEST_F()
587 HasPath(Result, ElementsAre(0x1000 + 9))), in TEST_F()
589 HasPath(Result, ElementsAre(0x1000 + 15)))))) in TEST_F()
590 << PrintToString(Result); in TEST_F()