diff options
author | Mark <mteffeteller@google.com> | 2023-06-21 23:30:18 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2023-06-21 23:30:18 +0000 |
commit | 54819157eaa66e14f2c68b54609bd6bfa360b708 (patch) | |
tree | 68cf332a40b94b2d28b256b19b916f99220bb0c4 /examples/junit/src/test/java/com/example/BUILD.bazel | |
parent | ba37c2e361c2ba91bacc47fcae5383c52e50f6be (diff) | |
parent | e73be1680dae58cb83d869104def1c59102d59b2 (diff) | |
download | jazzer-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.bazel | 232 |
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", + ], +) |