forked from hixio-mh/bazel
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add
CoverageActionsFinishedId
to the build_event_stream
proto.
With Skymeld, the coverage actions are run _after_ the analysis & execution phase, since this is the earliest place where we can 1) have the list of analyzed tests and 2) request for a Skyframe evaluation. Unfortunately, this means that the info about the coverage artifacts would be missing in the BEP message triggered by the `TargetCompleteEvents`, which are sent at the end of the analysis & execution phase. This CL fixes that by adding an empty `CoverageActionsFinishedId`, which is listed as a `#postedAfter()` event of `TargetCompleteEvent`. This ensures that all info regarding the coverage artifacts is availble by the time we convert the `TargetCompleteEvent` to a BEP message. PiperOrigin-RevId: 534809359 Change-Id: Iabde183433a8492d9f009e7b235990efe7fc7069
- Loading branch information
1 parent
23f9c10
commit c2a6f0c
Showing
9 changed files
with
77 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
47 changes: 47 additions & 0 deletions
47
src/main/java/com/google/devtools/build/lib/analysis/test/CoverageActionFinishedEvent.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
// Copyright 2023 The Bazel Authors. All rights reserved. | ||
// | ||
// Licensed under the Apache License, Version 2.0 (the "License"); | ||
// you may not use this file except in compliance with the License. | ||
// You may obtain a copy of the License at | ||
// | ||
// http://www.apache.org/licenses/LICENSE-2.0 | ||
// | ||
// Unless required by applicable law or agreed to in writing, software | ||
// distributed under the License is distributed on an "AS IS" BASIS, | ||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
// See the License for the specific language governing permissions and | ||
// limitations under the License. | ||
|
||
package com.google.devtools.build.lib.analysis.test; | ||
|
||
import com.google.common.collect.ImmutableList; | ||
import com.google.devtools.build.lib.buildeventstream.BuildEvent; | ||
import com.google.devtools.build.lib.buildeventstream.BuildEventContext; | ||
import com.google.devtools.build.lib.buildeventstream.BuildEventIdUtil; | ||
import com.google.devtools.build.lib.buildeventstream.BuildEventStreamProtos; | ||
import com.google.devtools.build.lib.buildeventstream.BuildEventStreamProtos.BuildEventId; | ||
import com.google.devtools.build.lib.buildeventstream.GenericBuildEvent; | ||
import java.util.Collection; | ||
|
||
/** | ||
* Signal that the coverage actions are finished. Only used as a prerequisite for {@link | ||
* com.google.devtools.build.lib.analysis.TargetCompleteEvent} in Skymeld mode. | ||
*/ | ||
public class CoverageActionFinishedEvent implements BuildEvent { | ||
|
||
@Override | ||
public BuildEventStreamProtos.BuildEvent asStreamProto(BuildEventContext context) | ||
throws InterruptedException { | ||
return GenericBuildEvent.protoChaining(this).build(); | ||
} | ||
|
||
@Override | ||
public BuildEventId getEventId() { | ||
return BuildEventIdUtil.coverageActionsFinished(); | ||
} | ||
|
||
@Override | ||
public Collection<BuildEventId> getChildrenEvents() { | ||
return ImmutableList.of(); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters