Skip to content

Commit

Permalink
Updated the README file to clarify prerequisites. (#191)
Browse files Browse the repository at this point in the history
  • Loading branch information
stefanbucur authored Jan 7, 2022
1 parent 9b3d9a8 commit ebf883d
Showing 1 changed file with 14 additions and 7 deletions.
21 changes: 14 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,9 @@ The rule library currently provides support for C++ and Java fuzz tests. Support

## Features at a glance

* Multiple fuzzing engines out of the box:
* [libFuzzer][libfuzzer-doc]
* [Honggfuzz][honggfuzz-doc]
* Java fuzzing through [Jazzer][jazzer-doc]
* C++ and Java fuzzing, with several fuzzing engines supported out of the box:
* C++: [libFuzzer][libfuzzer-doc] and [Honggfuzz][honggfuzz-doc]
* Java: [Jazzer][jazzer-doc]
* Multiple sanitizer configurations:
* [Address Sanitizer][asan-doc]
* [Memory Sanitizer][msan-doc]
Expand All @@ -23,23 +22,31 @@ The rule library currently provides support for C++ and Java fuzz tests. Support
* Out-of-the-box [OSS-Fuzz](https://github.com/google/oss-fuzz) support that [substantially simplifies][bazel-oss-fuzz] the project integration effort.
* Regression testing support, useful in continuous integration.
* Customization options:
* Defining additional fuzzing engines
* Defining additional fuzzing engines.
* Customizing the behavior of the fuzz test rule.

Contributions are welcome! Please read the [contribution guidelines](/docs/contributing.md).

## Getting started

This section will walk you through the steps to set up fuzzing in your Bazel project and write your first fuzz test. We assume Bazel [is installed](https://docs.bazel.build/versions/4.0.0/install.html) on your machine.
This section will walk you through the steps to set up fuzzing in your Bazel project and write your first fuzz test. We assume Bazel [is installed](https://docs.bazel.build/versions/main/install.html) on your machine.

### Prerequisites

The fuzz tests require a Clang compiler. The libFuzzer engine requires at least Clang 6.0. In addition, the Honggfuzz engine requires the `libunwind-dev` and `libblocksruntime-dev` packages:
The fuzzing rules have been tested on Bazel 4.0.0 or later. Check your Bazel version by running `bazel --version`.

C++ fuzzing requires a Clang compiler. The libFuzzer engine requires at least Clang 6.0. In addition, the Honggfuzz engine requires the `libunwind-dev` and `libblocksruntime-dev` packages:

```sh
$ sudo apt-get install clang libunwind-dev libblocksruntime-dev
```

Java fuzzing requires Clang and the LLD linker:

```sh
$ sudo apt-get install clang lld
```

### Configuring the WORKSPACE

Add the following to your `WORKSPACE` file:
Expand Down

0 comments on commit ebf883d

Please sign in to comment.