/proc/self/cwd/test/fuzz/utility.cc
Line | Count | Source (jump to first uncovered line) |
1 | | #include "test/fuzz/utility.h" |
2 | | |
3 | | #include "source/common/common/logger.h" |
4 | | |
5 | | #include "absl/strings/str_format.h" |
6 | | |
7 | | namespace Envoy { |
8 | | namespace Fuzz { |
9 | | |
10 | 0 | std::vector<std::string> fuzzFindDiffs(absl::string_view expected, absl::string_view actual) { |
11 | 0 | std::vector<std::string> diffs; |
12 | 0 | const uint32_t max_diffs = 5; |
13 | 0 | if (expected.size() != actual.size()) { |
14 | 0 | diffs.push_back(absl::StrCat("Size mismatch: ", expected.size(), " != ", actual.size())); |
15 | 0 | } |
16 | 0 | uint32_t min_size = std::min(expected.size(), actual.size()); |
17 | 0 | for (uint32_t i = 0; i < min_size && diffs.size() < max_diffs; ++i) { |
18 | 0 | if (expected[i] != actual[i]) { |
19 | 0 | diffs.push_back(absl::StrFormat("[%d]: %c(%u) != %c(%u)", i, expected[i], expected[i], |
20 | 0 | actual[i], actual[i])); |
21 | 0 | } |
22 | 0 | } |
23 | 0 | return diffs; |
24 | 0 | } |
25 | | |
26 | | } // namespace Fuzz |
27 | | } // namespace Envoy |