diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-07-07 05:02:55 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-07-07 05:02:55 +0000 |
commit | 8f55244a1333bec0a96af10653a33ba7f68a267f (patch) | |
tree | 3243e58e56d3a8dee60c582a2c917d18edc9bd5a /bazel/fuzz_target.bzl | |
parent | a74c14e5721cfd85dd0d0ebc3789ac0657564b7b (diff) | |
parent | ba37c2e361c2ba91bacc47fcae5383c52e50f6be (diff) | |
download | jazzer-api-8f55244a1333bec0a96af10653a33ba7f68a267f.tar.gz |
Snap for 10453563 from ba37c2e361c2ba91bacc47fcae5383c52e50f6be to mainline-permission-releaseaml_per_341711000aml_per_341614000aml_per_341510010aml_per_341410020aml_per_341311000aml_per_341110020aml_per_341110010aml_per_341011100aml_per_341011020aml_per_340916010android14-mainline-permission-release
Change-Id: I74e7a34d5bfaf65a56951756023cd21521dca326
Diffstat (limited to 'bazel/fuzz_target.bzl')
-rw-r--r-- | bazel/fuzz_target.bzl | 40 |
1 files changed, 32 insertions, 8 deletions
diff --git a/bazel/fuzz_target.bzl b/bazel/fuzz_target.bzl index bd90e500..c70543bd 100644 --- a/bazel/fuzz_target.bzl +++ b/bazel/fuzz_target.bzl @@ -17,7 +17,7 @@ def java_fuzz_target_test( target_class = None, deps = [], hook_classes = [], - native_libs = [], + data = [], sanitizer = None, visibility = None, tags = [], @@ -25,6 +25,12 @@ def java_fuzz_target_test( srcs = [], size = None, timeout = None, + env = None, + verify_crash_input = True, + verify_crash_reproducer = True, + expect_crash = True, + # Default is that the reproducer does not throw any exception. + expected_findings = [], **kwargs): target_name = name + "_target" deploy_manifest_lines = [] @@ -47,8 +53,6 @@ def java_fuzz_target_test( **kwargs ) - additional_args = [] - if sanitizer == None: driver = "//driver:jazzer_driver" elif sanitizer == "address": @@ -60,19 +64,39 @@ def java_fuzz_target_test( native.java_test( name = name, - runtime_deps = ["//bazel:fuzz_target_test_wrapper"], + runtime_deps = [ + "//bazel/tools/java:fuzz_target_test_wrapper", + "//agent:jazzer_api_deploy.jar", + ":%s_deploy.jar" % target_name, + ], + jvm_flags = [ + # Use the same memory settings for reproducers as those suggested by Jazzer when + # encountering an OutOfMemoryError. + "-Xmx1620m", + # Ensure that reproducers can be compiled even if they contain UTF-8 characters. + "-Dfile.encoding=UTF-8", + ], size = size or "enormous", timeout = timeout or "moderate", args = [ "$(rootpath %s)" % driver, + "$(rootpath //agent:jazzer_api_deploy.jar)", "$(rootpath :%s_deploy.jar)" % target_name, - ] + additional_args + fuzzer_args, + str(verify_crash_input), + str(verify_crash_reproducer), + str(expect_crash), + # args are shell tokenized and thus quotes are required in the case where + # expected_findings is empty. + "'" + ",".join(expected_findings) + "'", + ] + fuzzer_args, data = [ ":%s_deploy.jar" % target_name, - "//agent:jazzer_agent_deploy.jar", + "//agent:jazzer_agent_deploy", + "//agent:jazzer_api_deploy.jar", driver, - ] + native_libs, - main_class = "FuzzTargetTestWrapper", + ] + data, + env = env, + main_class = "com.code_intelligence.jazzer.tools.FuzzTargetTestWrapper", use_testrunner = False, tags = tags, visibility = visibility, |