Skip to content

Commit 2bdbc76

Browse files
Alami-Aminewoody-applerestyled-commitsbzbarsky-apple
authored
[Fuzzing] Adding all-clusters-app fuzz test to OSS-Fuzz (project-chip#35408)
* Added a base38 rountrip Fuzzer to fuzz the encoding and decoding in base38 Added a base38 decoder Fuzzer to fuzz the function decoding base38 strings Added a dependancy in TLV-Reader config to correct the build error * adding all clusters * Restyled by gn * Moving this back * Restyled by gn * Update src/setup_payload/tests/FuzzBase38.cpp Co-authored-by: Boris Zbarsky <bzbarsky@apple.com> * Update src/setup_payload/tests/FuzzBase38.cpp Co-authored-by: Boris Zbarsky <bzbarsky@apple.com> * Update src/setup_payload/tests/FuzzBase38.cpp Co-authored-by: Boris Zbarsky <bzbarsky@apple.com> * Removing this * Updating * Update src/setup_payload/tests/FuzzBase38Decode.cpp Co-authored-by: Boris Zbarsky <bzbarsky@apple.com> * restrict activation of enable_fuzz_test_targets --------- Co-authored-by: Justin Wood <woody@apple.com> Co-authored-by: Restyled.io <commits@restyled.io> Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>
1 parent a073055 commit 2bdbc76

File tree

3 files changed

+17
-2
lines changed

3 files changed

+17
-2
lines changed

BUILD.gn

+1
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ if (current_toolchain != "${dir_pw_toolchain}/default:default") {
5252
if (enable_fuzz_test_targets) {
5353
group("fuzz_tests") {
5454
deps = [
55+
"${chip_root}/examples/all-clusters-app/linux:fuzz-chip-all-clusters-app",
5556
"${chip_root}/src/credentials/tests:fuzz-chip-cert",
5657
"${chip_root}/src/lib/core/tests:fuzz-tlv-reader",
5758
"${chip_root}/src/lib/dnssd/minimal_mdns/tests:fuzz-minmdns-packet-parsing",

build/chip/fuzz_test.gni

+5-2
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,12 @@ import("${chip_root}/build/chip/tests.gni")
2121
import("${dir_pw_unit_test}/test.gni")
2222

2323
declare_args() {
24-
enable_fuzz_test_targets = is_clang && chip_build_tests &&
25-
(current_os == "linux" || current_os == "mac")
24+
#Fuzz testing using libfuzzer
25+
enable_fuzz_test_targets =
26+
(is_libfuzzer || oss_fuzz) && is_clang && chip_build_tests &&
27+
(current_os == "linux" || current_os == "mac")
2628

29+
#Fuzz testing using pw_fuzzer and FuzzTest Framework
2730
pw_enable_fuzz_test_targets = false
2831
}
2932

examples/all-clusters-app/linux/BUILD.gn

+11
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import("${build_root}/config/compiler/compiler.gni")
1919
import("${chip_root}/src/lib/lib.gni")
2020
import("${chip_root}/src/platform/device.gni")
2121

22+
import("${chip_root}/build/chip/fuzz_test.gni")
2223
import("${chip_root}/examples/common/pigweed/pigweed_rpcs.gni")
2324

2425
if (chip_enable_pw_rpc) {
@@ -201,3 +202,13 @@ group("linux") {
201202
group("default") {
202203
deps = [ ":linux" ]
203204
}
205+
206+
if (enable_fuzz_test_targets) {
207+
chip_fuzz_target("fuzz-chip-all-clusters-app") {
208+
sources = [ "fuzzing-main.cpp" ]
209+
public_deps = [
210+
":chip-all-clusters-common",
211+
"${chip_root}/examples/platform/linux:app-main",
212+
]
213+
}
214+
}

0 commit comments

Comments
 (0)