summaryrefslogtreecommitdiff
path: root/fuzz/fuzz_common.go
diff options
context:
space:
mode:
author Mark <mteffeteller@google.com> 2023-05-08 22:11:44 +0000
committer Mark Teffeteller <mteffeteller@google.com> 2023-06-02 14:46:53 +0000
commitf736b924db7e45d0779b9e928a8d5ce22b927886 (patch)
tree8f21133f44baf7a3d6f013638debda95473e3779 /fuzz/fuzz_common.go
parentb7550aa09af04e92ce24e5bf2594b312d8bc51f7 (diff)
Add use_platform_libs to fuzz config
BUG: b/279082026 TEST: mma <java_fuzz> Change-Id: Ia3dba44f66ec18d1076f1b13cc654a35b31c02d4 WANT_LGTM=ccross
Diffstat (limited to 'fuzz/fuzz_common.go')
-rw-r--r--fuzz/fuzz_common.go27
1 files changed, 27 insertions, 0 deletions
diff --git a/fuzz/fuzz_common.go b/fuzz/fuzz_common.go
index 2a1b40452..b470304b5 100644
--- a/fuzz/fuzz_common.go
+++ b/fuzz/fuzz_common.go
@@ -170,6 +170,27 @@ func (service_privilege ServicePrivilege) isValidServicePrivilege() bool {
return false
}
+type UsePlatformLibs string
+
+const (
+ unknown_use_platform_libs UsePlatformLibs = "unknown_use_platform_libs"
+ // Use the native libraries on the device, typically in /system directory
+ use_platform_libs = "use_platform_libs"
+ // Do not use any native libraries (ART will not be initialized)
+ use_none = "use_none"
+)
+
+func (use_platform_libs UsePlatformLibs) isValidUsePlatformLibs() bool {
+ switch use_platform_libs {
+ case "",
+ unknown_use_platform_libs,
+ use_platform_libs,
+ use_none:
+ return true
+ }
+ return false
+}
+
type UserData string
const (
@@ -284,6 +305,10 @@ func IsValidConfig(fuzzModule FuzzPackagedModule, moduleName string) bool {
if !config.Automatically_route_to.isValidAutomaticallyRouteTo() {
panic(fmt.Errorf("Invalid automatically_route_to in fuzz config in %s", moduleName))
}
+
+ if !config.Use_platform_libs.isValidUsePlatformLibs() {
+ panic(fmt.Errorf("Invalid use_platform_libs in fuzz config in %s", moduleName))
+ }
}
return true
}
@@ -341,6 +366,8 @@ type FuzzConfig struct {
Target_modules []string `json:"target_modules,omitempty"`
// Specifies a bug assignee to replace default ISE assignment
Triage_assignee string `json:"triage_assignee,omitempty"`
+ // Specifies libs used to initialize ART (java only, 'use_none' for no initialization)
+ Use_platform_libs UsePlatformLibs `json:"use_platform_libs,omitempty"`
}
type FuzzFrameworks struct {