Skip to content

Commit

Permalink
Move coverage_report.lcov to BuildToolsLog
Browse files Browse the repository at this point in the history
  • Loading branch information
fmeum committed May 3, 2024
1 parent a7e1098 commit 680facf
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
package com.google.devtools.build.lib.analysis.test;

import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
import com.google.common.eventbus.EventBus;
import com.google.devtools.build.lib.actions.ActionAnalysisMetadata;
import com.google.devtools.build.lib.actions.ActionConflictException;
Expand Down Expand Up @@ -71,6 +72,10 @@ public ImmutableList<ActionAnalysisMetadata> getActions() {
public Collection<Artifact> getCoverageOutputs() {
return coverageReportAction.getOutputs();
}

public Artifact getCoverageReportArtifact() {
return Iterables.getOnlyElement(coverageReportAction.getOutputs());
}
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,16 @@
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
import com.google.common.eventbus.EventBus;
import com.google.common.eventbus.Subscribe;
import com.google.devtools.build.lib.actions.ActionKeyContext;
import com.google.devtools.build.lib.actions.ActionLookupKey;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.actions.ArtifactFactory;
import com.google.devtools.build.lib.analysis.BlazeDirectories;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
import com.google.devtools.build.lib.analysis.test.CoverageReportActionFactory;
import com.google.devtools.build.lib.analysis.test.CoverageReportActionFactory.CoverageReportActionsWrapper;
import com.google.devtools.build.lib.buildtool.buildevent.BuildCompleteEvent;
import com.google.devtools.build.lib.collect.nestedset.NestedSet;
import com.google.devtools.build.lib.events.EventHandler;
import com.google.devtools.build.lib.runtime.BlazeModule;
Expand Down Expand Up @@ -97,18 +100,21 @@ public CoverageReportActionsWrapper createCoverageReportActionsWrapper(
}
Preconditions.checkArgument(options.combinedReport == ReportType.LCOV);
CoverageReportActionBuilder builder = new CoverageReportActionBuilder();
return builder.createCoverageActionsWrapper(
eventHandler,
directories,
targetsToTest,
baselineCoverageArtifacts,
artifactFactory,
actionKeyContext,
actionLookupKey,
workspaceName,
this::getArgs,
this::getLocationMessage,
/*htmlReport=*/ false);
CoverageReportActionsWrapper wrapper =
builder.createCoverageActionsWrapper(
eventHandler,
directories,
targetsToTest,
baselineCoverageArtifacts,
artifactFactory,
actionKeyContext,
actionLookupKey,
workspaceName,
this::getArgs,
this::getLocationMessage,
/* htmlReport= */ false);
eventBus.register(new CoverageReportCollector(wrapper));
return wrapper;
}

private ImmutableList<String> getArgs(CoverageArgs args) {
Expand All @@ -130,4 +136,14 @@ private String getLocationMessage(CoverageArgs args) {
}
};
}

private record CoverageReportCollector(CoverageReportActionsWrapper wrapper) {
@Subscribe
public void buildComplete(BuildCompleteEvent event) {
event
.getResult()
.getBuildToolLogCollection()
.addLocalFile("coverage_report.lcov", wrapper.getCoverageReportArtifact().getPath());
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -1962,7 +1962,7 @@ end_of_record"

cat bes.txt | tr '\n' ' ' > $TEST_log
report_sha=$(sha256sum bazel-out/_coverage/_coverage_report.dat | cut -d ' ' -f 1)
expect_log "coverage_report { coverage_report { uri: \"bytestream://[^\"]*/${report_sha}/[^\"]*\""
expect_log "log { name: \"coverage_report.lcov\" uri: \"bytestream://[^\"]*/${report_sha}/[^\"]*\""
}

function test_remote_cache_eviction_retries() {
Expand Down

0 comments on commit 680facf

Please sign in to comment.