1# Copyright 2021 The Pigweed Authors 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); you may not 4# use this file except in compliance with the License. You may obtain a copy of 5# the License at 6# 7# https://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12# License for the specific language governing permissions and limitations under 13# the License. 14"""Utilities for fuzzing.""" 15 16load("@rules_fuzzing//fuzzing:cc_defs.bzl", "cc_fuzz_test") 17 18def pw_cc_fuzz_test(**kwargs): 19 """Wrapper for cc_fuzz_test that adds required Pigweed dependencies. 20 21 Args: 22 **kwargs: Arguments to be augmented. 23 """ 24 kwargs["deps"].append("//pw_fuzzer:libfuzzer") 25 26 # TODO: b/234877642 - Remove this implicit dependency once we have a better 27 # way to handle the facades without introducing a circular dependency into 28 # the build. 29 kwargs["deps"].append(str(Label("//pw_build:default_link_extra_lib"))) 30 31 # TODO: b/292628774 - Only linux is supported for now. 32 kwargs["target_compatible_with"] = ["@platforms//os:linux"] 33 cc_fuzz_test(**kwargs) 34