cc_fuzz: add "data" field

"data" field specifies data dependencies that will be installed in
fuzzer's output directory.

"data" behaves similar to "corpus", except "data" preserves directory
structure, e.g.

    data: ["foo/bar.txt"]

is installed into

    $OUT/data/fuzz/<arch>/<target>/data/foo/bar.txt

Test: build a fuzzer with data depenency, check data is installed
correctly
Change-Id: Ia1255026278435181b6d93f91f8f9ad39c96d07f
This commit is contained in:
Tri Vo
2019-11-27 13:45:45 -08:00
parent af7c2fcb71
commit ad172d88b6
2 changed files with 34 additions and 0 deletions

View File

@@ -317,6 +317,11 @@ func (fuzz *fuzzBinary) AndroidMk(ctx AndroidMkContext, ret *android.AndroidMkDa
filepath.Dir(fuzz.corpusIntermediateDir.String())+":corpus/"+d.Base())
}
for _, d := range fuzz.data {
fuzzFiles = append(fuzzFiles,
filepath.Dir(fuzz.dataIntermediateDir.String())+":data/"+d.Rel())
}
if fuzz.dictionary != nil {
fuzzFiles = append(fuzzFiles,
filepath.Dir(fuzz.dictionary.String())+":"+fuzz.dictionary.Base())