|
51 | 51 | #include "./centipede/centipede_callbacks.h" |
52 | 52 | #include "./centipede/command.h" |
53 | 53 | #include "./centipede/coverage.h" |
| 54 | +#include "./centipede/crash_deduplication.h" |
54 | 55 | #include "./centipede/crash_summary.h" |
55 | 56 | #include "./centipede/distill.h" |
56 | 57 | #include "./centipede/environment.h" |
@@ -807,11 +808,12 @@ int ReplayCrash(const Environment& env, |
807 | 808 | if (env.report_crash_summary) { |
808 | 809 | CrashSummary crash_summary{target_config.binary_identifier, |
809 | 810 | target_config.fuzz_tests_in_current_shard[0]}; |
810 | | - // There should be at most one crash, so no deduplication actually happens. |
811 | | - DeduplicateAndOptionallyStoreNewCrashes(workdir, /*total_shards=*/1, |
812 | | - /*crash_signatures=*/{}, |
813 | | - /*crashing_dir=*/std::nullopt, |
814 | | - crash_summary); |
| 811 | + for (const auto& [signature, crash_details] : |
| 812 | + GetCrashesFromWorkdir(workdir, /*total_shards=*/1)) { |
| 813 | + crash_summary.AddCrash({env.crash_id, |
| 814 | + /*category=*/crash_details.description, signature, |
| 815 | + crash_details.description}); |
| 816 | + } |
815 | 817 | crash_summary.Report(&std::cerr); |
816 | 818 | } |
817 | 819 | return fuzz_result; |
|
0 commit comments