Page MenuHomePhabricator

Add remote fuzzing integration tests
Needs ReviewPublic

Authored by aarongreen on Feb 5 2021, 8:52 AM.

Details

Summary

This change attempts to leverage as many of the existing tests under compiler-rt/test/fuzzer as possible for testing remote fuzzing. It introduces a new set of "check" targets, "check-fuzzer-remote-${arch}", that signal to the llvm-lit configuration to modify the 'compiler' and 'run commands. It builds two binaries for each test instead of one: a remote fuzzer that receives its test inputs via IPC, and a fuzzer engine proxy that starts the remote fuzzer, sends it inputs, and collects coverage from it.

This is the 20 change in a chain to enable remote fuzzing support.

Diff Detail

Event Timeline

aarongreen created this revision.Feb 5 2021, 8:52 AM
aarongreen requested review of this revision.Feb 5 2021, 8:52 AM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 5 2021, 8:52 AM
Herald added a subscriber: Restricted Project. · View Herald Transcript

Note to reviewers: this still has a lot of test disabled as FIXMEs. While the preceding changes are in review, I hope to investigate and rectify some of these. Others require additional features to be added that I won't try to land ahead of this change, e.g. value-profile support.