aboutsummaryrefslogtreecommitdiff
path: root/examples/junit/src/test/java/com/example/BUILD.bazel
diff options
context:
space:
mode:
authorMark <mteffeteller@google.com>2023-06-21 23:30:18 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-06-21 23:30:18 +0000
commit54819157eaa66e14f2c68b54609bd6bfa360b708 (patch)
tree68cf332a40b94b2d28b256b19b916f99220bb0c4 /examples/junit/src/test/java/com/example/BUILD.bazel
parentba37c2e361c2ba91bacc47fcae5383c52e50f6be (diff)
parente73be1680dae58cb83d869104def1c59102d59b2 (diff)
downloadjazzer-api-54819157eaa66e14f2c68b54609bd6bfa360b708.tar.gz
Sync jazzer in AOSP with upstream repo (new SHA: 30decf81a147c66fa5a098072c38ab6924ba0aa6) am: 9350e0ab03 am: 99d9a79746 am: 34a8e5c8aa am: e73be1680d
Original change: https://android-review.googlesource.com/c/platform/external/jazzer-api/+/2627336 Change-Id: I1b97ed5cdcf2adda4d443148cc0d447974e51785 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'examples/junit/src/test/java/com/example/BUILD.bazel')
-rw-r--r--examples/junit/src/test/java/com/example/BUILD.bazel232
1 files changed, 232 insertions, 0 deletions
diff --git a/examples/junit/src/test/java/com/example/BUILD.bazel b/examples/junit/src/test/java/com/example/BUILD.bazel
new file mode 100644
index 00000000..8bbdcecd
--- /dev/null
+++ b/examples/junit/src/test/java/com/example/BUILD.bazel
@@ -0,0 +1,232 @@
+load("//bazel:fuzz_target.bzl", "java_fuzz_target_test")
+
+java_binary(
+ name = "ExampleFuzzTests",
+ testonly = True,
+ srcs = glob(["*.java"]),
+ create_executable = False,
+ visibility = [
+ "//src/test/java/com/code_intelligence/jazzer/junit:__pkg__",
+ ],
+ deps = [
+ "//deploy:jazzer",
+ "//deploy:jazzer-api",
+ "//deploy:jazzer-junit",
+ "//examples/junit/src/main/java/com/example:parser",
+ "//examples/junit/src/test/resources:example_seed_corpora",
+ "@maven//:org_junit_jupiter_junit_jupiter_api",
+ "@maven//:org_junit_jupiter_junit_jupiter_params",
+ "@maven//:org_mockito_mockito_core",
+ ],
+)
+
+java_fuzz_target_test(
+ name = "DataFuzzTest",
+ srcs = ["ValidFuzzTests.java"],
+ allowed_findings = ["com.code_intelligence.jazzer.api.FuzzerSecurityIssueMedium"],
+ fuzzer_args = [
+ "-runs=0",
+ ],
+ target_class = "com.example.ValidFuzzTests",
+ target_method = "dataFuzz",
+ verify_crash_reproducer = False,
+ runtime_deps = [
+ ":junit_runtime",
+ ],
+ deps = [
+ "//examples/junit/src/main/java/com/example:parser",
+ "//src/main/java/com/code_intelligence/jazzer/junit:fuzz_test",
+ "@maven//:org_junit_jupiter_junit_jupiter_api",
+ ],
+)
+
+java_fuzz_target_test(
+ name = "ByteFuzzTest",
+ srcs = ["ByteFuzzTest.java"],
+ allowed_findings = ["org.opentest4j.AssertionFailedError"],
+ fuzzer_args = [
+ "-runs=0",
+ ],
+ target_class = "com.example.ByteFuzzTest",
+ target_method = "byteFuzz",
+ verify_crash_reproducer = False,
+ runtime_deps = [
+ ":junit_runtime",
+ ],
+ deps = [
+ "//examples/junit/src/main/java/com/example:parser",
+ "//src/main/java/com/code_intelligence/jazzer/junit:fuzz_test",
+ "@maven//:org_junit_jupiter_junit_jupiter_api",
+ ],
+)
+
+java_fuzz_target_test(
+ name = "LifecycleFuzzTest",
+ srcs = ["LifecycleFuzzTest.java"],
+ allowed_findings = ["java.io.IOException"],
+ fuzzer_args = [
+ "-runs=0",
+ ],
+ target_class = "com.example.LifecycleFuzzTest",
+ verify_crash_reproducer = False,
+ runtime_deps = [
+ ":junit_runtime",
+ ],
+ deps = [
+ "//examples/junit/src/main/java/com/example:parser",
+ "//src/main/java/com/code_intelligence/jazzer/junit:fuzz_test",
+ "@maven//:org_junit_jupiter_junit_jupiter_api",
+ ],
+)
+
+java_fuzz_target_test(
+ name = "KeepGoingFuzzTest",
+ srcs = ["KeepGoingFuzzTest.java"],
+ allowed_findings = ["java.lang.IllegalArgumentException"],
+ expect_crash = False,
+ fuzzer_args = [
+ "--keep_going=3",
+ "-runs=10",
+ ],
+ target_class = "com.example.KeepGoingFuzzTest",
+ runtime_deps = [
+ ":junit_runtime",
+ ],
+ deps = [
+ "//src/main/java/com/code_intelligence/jazzer/junit:fuzz_test",
+ "@maven//:org_junit_jupiter_junit_jupiter_api",
+ ],
+)
+
+# Verifies that fuzzer command-line arguments are honored for @FuzzTests.
+java_fuzz_target_test(
+ name = "CommandLineFuzzTest",
+ srcs = ["CommandLineFuzzTest.java"],
+ allowed_findings = ["java.lang.Error"],
+ fuzzer_args = [
+ # Ignore the first two findings.
+ "--ignore=d5e250a5298b81e6,d86371e6d41739ec",
+ ],
+ target_class = "com.example.CommandLineFuzzTest",
+ verify_crash_reproducer = False,
+ runtime_deps = [
+ ":junit_runtime",
+ ],
+ deps = [
+ "//examples/junit/src/main/java/com/example:parser",
+ "//src/main/java/com/code_intelligence/jazzer/junit:fuzz_test",
+ "@maven//:org_junit_jupiter_junit_jupiter_api",
+ ],
+)
+
+# Verify that Mockito is properly ignored.
+# Using version 5+ could otherwise introduce cyclic instrumentation.
+java_fuzz_target_test(
+ name = "MockitoFuzzTest",
+ srcs = ["MockitoFuzzTest.java"],
+ fuzzer_args = [
+ "-runs=1",
+ ],
+ tags = ["no-jdk8"],
+ target_class = "com.example.MockitoFuzzTest",
+ verify_crash_reproducer = False,
+ runtime_deps = [
+ ":junit_runtime",
+ ],
+ deps = [
+ "//examples/junit/src/main/java/com/example:parser",
+ "//src/main/java/com/code_intelligence/jazzer/junit:fuzz_test",
+ "@maven//:org_junit_jupiter_junit_jupiter_api",
+ "@maven//:org_mockito_mockito_core",
+ ],
+)
+
+java_fuzz_target_test(
+ name = "AutofuzzLifecycleFuzzTest",
+ srcs = ["AutofuzzLifecycleFuzzTest.java"],
+ fuzzer_args = [
+ "-runs=0",
+ ],
+ target_class = "com.example.AutofuzzLifecycleFuzzTest",
+ verify_crash_reproducer = False,
+ runtime_deps = [
+ ":junit_runtime",
+ ],
+ deps = [
+ "//src/main/java/com/code_intelligence/jazzer/junit:fuzz_test",
+ "@maven//:org_junit_jupiter_junit_jupiter_api",
+ ],
+)
+
+java_fuzz_target_test(
+ name = "MutatorFuzzTest",
+ srcs = ["MutatorFuzzTest.java"],
+ allowed_findings = ["java.lang.AssertionError"],
+ data = [
+ "//examples/junit/src/test/resources:MutatorFuzzTestInputs",
+ ],
+ env = {
+ "JAZZER_FUZZ": "1",
+ },
+ fuzzer_args = [
+ "--experimental_mutator",
+ "$(rlocationpaths //examples/junit/src/test/resources:MutatorFuzzTestInputs)",
+ ],
+ target_class = "com.example.MutatorFuzzTest",
+ verify_crash_reproducer = False,
+ runtime_deps = [
+ ":junit_runtime",
+ ],
+ deps = [
+ "//src/main/java/com/code_intelligence/jazzer/driver:fuzz_target_runner",
+ "//src/main/java/com/code_intelligence/jazzer/junit:fuzz_test",
+ "//src/main/java/com/code_intelligence/jazzer/mutation/annotation",
+ "@maven//:org_junit_jupiter_junit_jupiter_api",
+ ],
+)
+
+java_fuzz_target_test(
+ name = "JavaSeedFuzzTest",
+ srcs = ["JavaSeedFuzzTest.java"],
+ allowed_findings = ["java.lang.Error"],
+ env = {"JAZZER_FUZZ": "1"},
+ fuzzer_args = [
+ "--experimental_mutator",
+ ],
+ target_class = "com.example.JavaSeedFuzzTest",
+ verify_crash_reproducer = False,
+ runtime_deps = [
+ ":junit_runtime",
+ ],
+ deps = [
+ "//src/main/java/com/code_intelligence/jazzer/junit:fuzz_test",
+ "//src/main/java/com/code_intelligence/jazzer/mutation/annotation",
+ "@maven//:org_junit_jupiter_junit_jupiter_api",
+ "@maven//:org_junit_jupiter_junit_jupiter_params",
+ ],
+)
+
+java_fuzz_target_test(
+ name = "JavaBinarySeedFuzzTest",
+ srcs = ["JavaBinarySeedFuzzTest.java"],
+ allowed_findings = ["java.lang.Error"],
+ env = {"JAZZER_FUZZ": "1"},
+ target_class = "com.example.JavaBinarySeedFuzzTest",
+ verify_crash_reproducer = False,
+ runtime_deps = [
+ ":junit_runtime",
+ ],
+ deps = [
+ "//src/main/java/com/code_intelligence/jazzer/junit:fuzz_test",
+ "@maven//:org_junit_jupiter_junit_jupiter_api",
+ "@maven//:org_junit_jupiter_junit_jupiter_params",
+ ],
+)
+
+java_library(
+ name = "junit_runtime",
+ runtime_deps = [
+ "@maven//:org_junit_jupiter_junit_jupiter_engine",
+ "@maven//:org_junit_platform_junit_platform_launcher",
+ ],
+)