Merge "Collect JNI coverage data only for first target." into rvc-dev

This commit is contained in:
Jaewoong Jung
2020-04-09 04:38:31 +00:00
committed by Android (Google) Code Review

View File

@@ -385,7 +385,18 @@ func (a *AndroidApp) jniBuildActions(jniLibs []jniLib, ctx android.ModuleContext
TransformJniLibsToJar(ctx, jniJarFile, jniLibs, a.useEmbeddedNativeLibs(ctx))
for _, jni := range jniLibs {
if jni.coverageFile.Valid() {
a.jniCoverageOutputs = append(a.jniCoverageOutputs, jni.coverageFile.Path())
// Only collect coverage for the first target arch if this is a multilib target.
// TODO(jungjw): Ideally, we want to collect both reports, but that would cause coverage
// data file path collisions since the current coverage file path format doesn't contain
// arch-related strings. This is fine for now though; the code coverage team doesn't use
// multi-arch targets such as test_suite_* for coverage collections yet.
//
// Work with the team to come up with a new format that handles multilib modules properly
// and change this.
if len(ctx.Config().Targets[android.Android]) == 1 ||
ctx.Config().Targets[android.Android][0].Arch.ArchType == jni.target.Arch.ArchType {
a.jniCoverageOutputs = append(a.jniCoverageOutputs, jni.coverageFile.Path())
}
}
}
} else {