blob: 40e0061eb65d23e5d112fb94c33fb5f491408e18 [file] [log] [blame]
# Copyright 2021 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Simple fuzz targets that demonstrate the Bazel extension functionality and
# serve as regression tests. Targets that are expected to crash or hang are
# disabled in the OSS-Fuzz integration using the "no-oss-fuzz" tag.
load("@rules_cc//cc:defs.bzl", "cc_binary")
load("//fuzzing:java_defs.bzl", "java_fuzz_test")
filegroup(
name = "corpus",
srcs = [
"corpus_0.txt",
"corpus_1.txt",
],
)
java_fuzz_test(
name = "JavaEmptyFuzzTest",
srcs = ["com/example/JavaEmptyFuzzTest.java"],
corpus = [
"corpus_0.txt",
],
)
java_fuzz_test(
name = "JavaFuzzTest",
srcs = ["com/example/JavaFuzzTest.java"],
)
java_fuzz_test(
name = "JavaNativeFuzzTest",
srcs = ["com/example/JavaNativeFuzzTest.java"],
corpus = [
":corpus",
],
transitive_native_deps = [
":native",
],
)
# A native library that interfaces with Java through the JNI.
cc_binary(
name = "native",
srcs = [
"com/example/JavaNativeFuzzTest.cpp",
"com/example/JavaNativeFuzzTest.h",
],
linkshared = True,
deps = [
"@bazel_tools//tools/jdk:jni",
],
)