Merge "rust: Fix incorrect expected gcno file for dylibs"

This commit is contained in:
Ivan Lozano 2020-11-17 15:18:03 +00:00 committed by Gerrit Code Review
commit 3d0f191c35
2 changed files with 4 additions and 2 deletions

View File

@ -200,7 +200,9 @@ func transformSrctoCrate(ctx ModuleContext, main android.Path, deps PathDeps, fl
profileEmitArg := strings.TrimPrefix(cc.PwdPrefix(), "PWD=") + "/"
if outputFile.Ext() != "" {
gcnoFile = android.PathForModuleOut(ctx, pathtools.ReplaceExtension(outputFile.Base(), "gcno"))
// rustc seems to split the output filename at the first '.' when determining the gcno filename
// so we need to do the same here.
gcnoFile = android.PathForModuleOut(ctx, strings.Split(outputFile.Base(), ".")[0]+".gcno")
rustcFlags = append(rustcFlags, "-Z profile-emit="+profileEmitArg+android.PathForModuleOut(
ctx, pathtools.ReplaceExtension(outputFile.Base(), "gcda")).String())
} else {

View File

@ -160,7 +160,7 @@ func TestCoverageZip(t *testing.T) {
t.Fatalf("missing expected coverage files for rust 'fizz' binary: %#v", fizzZipInputs)
}
if !android.SuffixInList(libfooZipInputs, "android_arm64_armv8-a_rlib_dylib-std_cov/librlib.gcno") ||
!android.SuffixInList(libfooZipInputs, "android_arm64_armv8-a_dylib_cov/libfoo.dylib.gcno") {
!android.SuffixInList(libfooZipInputs, "android_arm64_armv8-a_dylib_cov/libfoo.gcno") {
t.Fatalf("missing expected coverage files for rust 'fizz' binary: %#v", libfooZipInputs)
}
if !android.SuffixInList(buzzZipInputs, "android_arm64_armv8-a_cov/obj/foo.gcno") ||