History log of /fuchsia/zircon/system/utest/fuzz-utils/fuzzer.cpp
Revision Date Author Comments
# d30e1801 17-Sep-2018 Aaron Green <aarongreen@google.com>

[fuzz] Add 'Stop' command

This CL add the 'fuzz stop' command, which will kill a running fuzz
task.

SEC-103

Tests: Added unit test.
Change-Id: Id97dfc3012b514eb7cbdc09a0f07e98f9c794bf3


# 3f6e2f3c 17-Sep-2018 Aaron Green <aarongreen@google.com>

[fuzz] Add merge control file

This CL adds the libFuzzer -merge_control_file option when executing
'fuzz merge'. By default libFuzzer wants to create a /tmp file, and
fails to do so.

Note: libFuzzer is still trying to spawn subprocesses like
'/pkg/bin/<target>'. Until that's resolved, 'fuzz merge' won't act as
intended.

SEC-103

Tests: Added unit tests
Change-Id: I7bce9dca4002880bddcff04fa427a375f6c5ee57


# 2bbc71d7 17-Sep-2018 Aaron Green <aarongreen@google.com>

[fuzz] Improve fuzz job tree walking

This CL reworks Fuzzer::Check and its related methods to look for
component manifests when run on a Fuchisa package. It also reformats
the output to make the salient details easier to spot.

SEC-103

Tests: Reran unit tests, manually tested with other packages
Change-Id: I5060d013e068ae24a6aaaa9c4c5e63a4635fe10b


# b26eac05 14-Sep-2018 Aaron Green <aarongreen@google.com>

[fuzz] Add component manifest handling

This CL updates the fuzz tool to use component manifests when
fuzzing Fuchsia packages. This allows fuzz targets to be linked
dynamically against their sanitized dependencies at runtime.

It also updates the test fixture with fake component manifests.

SEC-103

Tests: Updated unit tests to use component manifests

Change-Id: I49bd35535bf6605c0a60e28d2ce064b6cfec6e91


# 1763e612 01-Sep-2018 Aaron Green <aarongreen@google.com>

[fuzz-utils] Add Fuzzer (12/12: Merge)

This CL adds the final subcommand, Merge, which can be used to
combine and/or minimize corpora.

SEC-103

Tests: Added unit tests for the Merge subcommand.
Change-Id: I67b893298604cc174cfeac264ccf32975c0efe82


# 71abb0fd 01-Sep-2018 Aaron Green <aarongreen@google.com>

[fuzz-utils] Add Fuzzer (11/12: Repro)

This CL adds the Repro command which can be used to run a fuzz target
with previously found test units (crashes, leaks, timeouts, etc.)

SEC-103

Tests: Added unit tests for the Repro subcommand
Change-Id: Ia270b55812e4c6cb557895449add86247b671633


# 5a65edfc 01-Sep-2018 Aaron Green <aarongreen@google.com>

[fuzz-utils] Add Fuzzer (10/12: Check)

This CL adds the Check subcommand, which reports various information
about a fuzz target, including execution status, test units found,
and corpus size.

SEC-103

Tests: Added unit tests for the Check subcommand
Change-Id: I1b088cf876b80cbdd403851964ba499c6b31cc5f


# 82f0430b 01-Sep-2018 Aaron Green <aarongreen@google.com>

[fuzz-utils] Add Fuzzer (9/12: Start)

This CL adds the Start subcommand, the primary subcommand to run a
fuzz target.

SEC-103

Tests: Added unit tests for the Start subcommand
Change-Id: Ia0890dbd06e0bb9bcd9b2e598cca6d0ce87f3265


# 7712a57e 01-Sep-2018 Aaron Green <aarongreen@google.com>

[fuzz-utils] Add Fuzzer (8/12: Seeds)

This CL adds the Seeds subcommand, which lists the seed corpora. As a
result, it also adds code to parse the package resources.

SEC-103

Tests: Added unit tests for the above subcommand
Change-Id: I619f79cd805b903cf4a67b006be0e4f0397ad6bf


# 2b647112 01-Sep-2018 Aaron Green <aarongreen@google.com>

[fuzz-utils] Add Fuzzer (7/12: List)

This CL adds the List subcommand, which displays all available
fuzzing packages and targets available on the system.

SEC-103

Tests: Added unit tests for the above command.
Change-Id: Idf6dc2aea9f3f56dd477c3583b7b1a852debe3c1


# 6909ef99 01-Sep-2018 Aaron Green <aarongreen@google.com>

[fuzz-utils] Add Fuzzer (6/12: Help)

This CL add the Help subcommand, which just prints the usage message.

SEC-103

Tests: Add unit test for Help subcommand
Change-Id: I0c5f6319c8cec9b8a7c4899519db48e56431efa7


# afac6dec 01-Sep-2018 Aaron Green <aarongreen@google.com>

[fuzz-utils] Add Fuzzer (4/12: CheckProcess)

This CL adds a method to walk the job tree, find the fuzz target
subprocess and report on its status.

SEC-103

Tests: Added unit tests for the above method
Change-Id: I732f4da6f5e1f00bb246d5a78b6f84576448d327


# aaad7547 01-Sep-2018 Aaron Green <aarongreen@google.com>

[fuzz-utils] Add Fuzzer (3/12: FindFuzzers)

This CL adds methods to find fuzzers, both in the Zircon and Fuchsia
configurations, as well as generically.

SEC-103

Tests: Added unit tests for the above methods
Change-Id: Id45d7915f0f19cb01359b9e9d64966ac2e5eabee


# 6f0e5db5 01-Sep-2018 Aaron Green <aarongreen@google.com>

[fuzz-utils] Add Fuzzer (2/12: RebasePath, GetPackagePath)

This CL adds the ability to construct PkgFS paths, both in test and
production settings.

SEC-103

Tests: Added unit tests for the above methods
Change-Id: I00fc7172dfe74697b8f0da2ed80f885c4738351b


# 4601a9ad 01-Sep-2018 Aaron Green <aarongreen@google.com>

[fuzz-utils] Add Fuzzer (1/12: SetOption)

This CL creates the Fuzzer class, which leverages the other code in
fuzz-utils to make finding, configuring, and running fuzz-targets
easy.

It also introduces elements of the test harness, namely FuzzerFixture
and TestFuzzer. The former creates a filesystem environemnt to test
in, the latter exposes select interfaces of Fuzzer to facilitate unit
testing and provides convenience functions for performing tests.

SEC-103

Tests: Added SetOption unit test to utest/fuzz-utils/fuzzer.cpp
Change-Id: I7430c7248d08450347babe84562cd1c94a51f75c