Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[libFuzzer] Let user specify extra stats file.
Summary: If AFL_DRIVER_EXTRA_STATS_FILENAME is set and valid, write to it peak_rss_mb and slowest_unit_time_sec. These are both stats that libFuzzer can print but afl cannot. Reviewers: kcc, aizatsky, metzman Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D21742 llvm-svn: 274273
- Loading branch information
1 parent
3898a04
commit 8ba86a5
Showing
3 changed files
with
208 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
; Test that not specifying an extra stats file isn't broken. | ||
RUN: unset AFL_DRIVER_EXTRA_STATS_FILENAME | ||
RUN: AFLDriverTest | ||
|
||
; Test that specifying an invalid extra stats file causes a crash. | ||
RUN: ASAN_OPTIONS= AFL_DRIVER_EXTRA_STATS_FILENAME=%T not --crash AFLDriverTest | ||
|
||
; Test that specifying a corrupted stats file causes a crash. | ||
echo "peak_rss_mb :0" > %t | ||
ASAN_OPTIONS= AFL_DRIVER_EXTRA_STATS_FILENAME=%t not --crash AFLDriverTest | ||
|
||
; Test that specifying a valid nonexistent stats file works. | ||
RUN: rm -f %t | ||
RUN: AFL_DRIVER_EXTRA_STATS_FILENAME=%t AFLDriverTest | ||
RUN: [[ $(grep "peak_rss_mb\|slowest_unit_time_sec" %t | wc -l) -eq 2 ]] | ||
|
||
; Test that specifying a valid preexisting stats file works. | ||
RUN: printf "peak_rss_mb : 0\nslowest_unit_time_sec: 0\n" > %t | ||
RUN: AFL_DRIVER_EXTRA_STATS_FILENAME=%t AFLDriverTest | ||
; Check that both lines were printed. | ||
RUN: [[ $(grep "peak_rss_mb\|slowest_unit_time_sec" %t | wc -l) -eq 2 ]] | ||
|
||
; Test that peak_rss_mb and slowest_unit_time_in_secs are only updated when necessary. | ||
; Check that both lines have 9999 since there's no way we have exceeded that | ||
; amount of time or virtual memory. | ||
RUN: printf "peak_rss_mb : 9999\nslowest_unit_time_sec: 9999\n" > %t | ||
RUN: AFL_DRIVER_EXTRA_STATS_FILENAME=%t AFLDriverTest | ||
RUN: [[ $(grep "9999" %t | wc -l) -eq 2 ]] |
2 changes: 1 addition & 1 deletion
2
llvm/lib/Fuzzer/test/afl-driver.test → llvm/lib/Fuzzer/test/afl-driver-stderr.test
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters