aboutsummaryrefslogtreecommitdiff
path: root/fuzz
diff options
context:
space:
mode:
authorCory Barker <cobark@google.com>2022-07-12 17:21:05 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2022-07-12 17:21:05 +0000
commit7e0b4bae8a4af77f15c5b690e1fe7e27c1086453 (patch)
tree7e62a86315a96e2f1fa433eb22a356fca5937370 /fuzz
parent1e3d27821b5be4a018814b0edfee7ffce5499686 (diff)
parentf4b1c3a7a75fdbdf755d10f476d782c2ffe641c7 (diff)
downloadsoong-7e0b4bae8a4af77f15c5b690e1fe7e27c1086453.tar.gz
Merge "Adding support for building AFLpp Test: Build AFL fuzzers locally and ran them"
Diffstat (limited to 'fuzz')
-rw-r--r--fuzz/fuzz_common.go21
1 files changed, 13 insertions, 8 deletions
diff --git a/fuzz/fuzz_common.go b/fuzz/fuzz_common.go
index 8e54d80ab..631380cc0 100644
--- a/fuzz/fuzz_common.go
+++ b/fuzz/fuzz_common.go
@@ -27,12 +27,13 @@ import (
"android/soong/android"
)
-type Lang string
+type FuzzType string
const (
- Cc Lang = ""
- Rust Lang = "rust"
- Java Lang = "java"
+ Cc FuzzType = ""
+ Rust FuzzType = "rust"
+ Java FuzzType = "java"
+ AFL FuzzType = "AFL"
)
var BoolDefault = proptools.BoolDefault
@@ -47,6 +48,7 @@ type FuzzPackager struct {
Packages android.Paths
FuzzTargets map[string]bool
SharedLibInstallStrings []string
+ FuzzType FuzzType
}
type FileToZip struct {
@@ -265,7 +267,7 @@ func (f *FuzzConfig) String() string {
return string(b)
}
-func (s *FuzzPackager) CreateFuzzPackage(ctx android.SingletonContext, archDirs map[ArchOs][]FileToZip, lang Lang, pctx android.PackageContext) {
+func (s *FuzzPackager) CreateFuzzPackage(ctx android.SingletonContext, archDirs map[ArchOs][]FileToZip, fuzzType FuzzType, pctx android.PackageContext) {
var archOsList []ArchOs
for archOs := range archDirs {
archOsList = append(archOsList, archOs)
@@ -278,12 +280,15 @@ func (s *FuzzPackager) CreateFuzzPackage(ctx android.SingletonContext, archDirs
hostOrTarget := archOs.HostOrTarget
builder := android.NewRuleBuilder(pctx, ctx)
zipFileName := "fuzz-" + hostOrTarget + "-" + arch + ".zip"
- if lang == Rust {
+ if fuzzType == Rust {
zipFileName = "fuzz-rust-" + hostOrTarget + "-" + arch + ".zip"
}
- if lang == Java {
+ if fuzzType == Java {
zipFileName = "fuzz-java-" + hostOrTarget + "-" + arch + ".zip"
}
+ if fuzzType == AFL {
+ zipFileName = "fuzz-afl-" + hostOrTarget + "-" + arch + ".zip"
+ }
outputFile := android.PathForOutput(ctx, zipFileName)
s.Packages = append(s.Packages, outputFile)
@@ -294,7 +299,6 @@ func (s *FuzzPackager) CreateFuzzPackage(ctx android.SingletonContext, archDirs
Flag("-L 0") // No need to try and re-compress the zipfiles.
for _, fileToZip := range filesToZip {
-
if fileToZip.DestinationPathPrefix != "" {
command.FlagWithArg("-P ", fileToZip.DestinationPathPrefix)
} else {
@@ -313,6 +317,7 @@ func (s *FuzzPackager) PreallocateSlice(ctx android.MakeVarsContext, targets str
for target, _ := range s.FuzzTargets {
fuzzTargets = append(fuzzTargets, target)
}
+
sort.Strings(fuzzTargets)
ctx.Strict(targets, strings.Join(fuzzTargets, " "))
}