Skip to content

Commit 1e86ab2

Browse files
committed
updated the readme
1 parent 31cf376 commit 1e86ab2

File tree

1 file changed

+30
-1
lines changed

1 file changed

+30
-1
lines changed

README.md

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,43 @@ In this example, we demonstrate how you can use CI Fuzz to integrate fuzz testin
99
* [Simple Checks Example](src/simple_examples/explore_me.cpp#L10):
1010
A simple example that triggers a buffer over when the input parameters satisfy certain criteria.
1111
We show that CI Fuzz can quickly generate a test case that trigger this bug.
12+
Execute with:
13+
```bash
14+
cifuzz run simple_checks_fuzz_test
15+
```
1216
* [Complex Checks Example](src/simple_examples/explore_me.cpp#L22):
1317
A more complex example that triggers a use-after-free bug when the input parameters satisfy certain criteria. In this example, the checks are more complex and involve Base64 encoding and XORing with constant value, making it more challenging to find the correct combination of input parameters that trigger the bug.
18+
Execute with:
19+
```bash
20+
cifuzz run complex_checks_fuzz_test
21+
```
1422
* [Stateful Example](src/state_example):
1523
An example that demonstrates the challenges of creating high-quality fuzz tests for complex projects with a large public API. This fuzz test was created with an early version of Code Intelligence auto-generation features, but it is still an excellent example on how to test a large API that keeps state between the calls.
24+
Execute with:
25+
```bash
26+
cifuzz run state_fuzzer
27+
```
1628
* [Structure Aware Inputs Example](src/advanced_examples/explore_me.cpp#L8):
1729
An example that shows how to fuzz an API that requires structured inputs, with the use of the FuzzedDataProvider helper class.
18-
30+
Execute with:
31+
```bash
32+
cifuzz run structured_input_checks_fuzz_test
33+
```
1934
* [Custom Mutator Example](src/advanced_examples/custom_mutator_example_checks_test.cpp#L37):
2035
An example that is build on top of the [Structure Aware Inputs Example](src/advanced_examples/explore_me.cpp#L8) and shows how to utilize custom mutators to change how the inputs are mutated.
36+
Execute with:
37+
```bash
38+
cifuzz run custom_mutator_example_checks_fuzz_test
39+
```
40+
41+
42+
To execute all fuzz tests at the same time, or calculate the code coverage for all, just skip the fuzz target name. Like:
43+
```bash
44+
cifuzz run
45+
```
46+
or:
47+
```bash
48+
cifuzz coverage
49+
```
2150

2251
To use the devcontainer environment you need to export your cifuzz download token to a environment var called "CIFUZZ_CREDENTIALS" like `export CIFUZZ_CREDENTIALS=[my_token]`.

0 commit comments

Comments
 (0)