diff options
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/analysis/TargetCompleteEvent.java | 21 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/buildeventstream/proto/build_event_stream.proto | 13 |
2 files changed, 34 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/TargetCompleteEvent.java b/src/main/java/com/google/devtools/build/lib/analysis/TargetCompleteEvent.java index 0c91396cf4..01a3ddf18d 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/TargetCompleteEvent.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/TargetCompleteEvent.java @@ -37,6 +37,7 @@ import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; import com.google.devtools.build.lib.collect.nestedset.NestedSetView; import com.google.devtools.build.lib.collect.nestedset.Order; import com.google.devtools.build.lib.packages.AttributeMap; +import com.google.devtools.build.lib.packages.TestSize; import com.google.devtools.build.lib.rules.test.TestProvider; import com.google.devtools.build.lib.syntax.Type; import com.google.devtools.build.lib.util.Preconditions; @@ -142,6 +143,21 @@ public final class TargetCompleteEvent return childrenBuilder.build(); } + private BuildEventStreamProtos.TestSize bepTestSize(TestSize size) { + switch (size) { + case SMALL: + return BuildEventStreamProtos.TestSize.SMALL; + case MEDIUM: + return BuildEventStreamProtos.TestSize.MEDIUM; + case LARGE: + return BuildEventStreamProtos.TestSize.LARGE; + case ENORMOUS: + return BuildEventStreamProtos.TestSize.ENORMOUS; + default: + return BuildEventStreamProtos.TestSize.UNKNOWN; + } + } + @Override public BuildEventStreamProtos.BuildEvent asStreamProto(BuildEventConverters converters) { BuildEventStreamProtos.TargetComplete.Builder builder = @@ -152,6 +168,11 @@ public final class TargetCompleteEvent builder.addAllTag(getTags()); builder.addAllOutputGroup(getOutputFilesByGroup(converters.artifactGroupNamer())); + if (isTest) { + builder.setTestSize( + bepTestSize(TestSize.getTestSize(target.getTarget().getAssociatedRule()))); + } + // TODO(aehlig): remove direct reporting of artifacts as soon as clients no longer // need it. for (ArtifactsInOutputGroup group : outputs) { diff --git a/src/main/java/com/google/devtools/build/lib/buildeventstream/proto/build_event_stream.proto b/src/main/java/com/google/devtools/build/lib/buildeventstream/proto/build_event_stream.proto index b3649abcaa..2dd862b837 100644 --- a/src/main/java/com/google/devtools/build/lib/buildeventstream/proto/build_event_stream.proto +++ b/src/main/java/com/google/devtools/build/lib/buildeventstream/proto/build_event_stream.proto @@ -355,6 +355,16 @@ message OutputGroup { repeated BuildEventId.NamedSetOfFilesId file_sets = 3; } +// Enumeration type characterizing the size of a test, as specified by the +// test rule. +enum TestSize { + UNKNOWN = 0; + SMALL = 1; + MEDIUM = 2; + LARGE = 3; + ENORMOUS = 4; +} + // Payload of the event indicating the completion of a target. The target is // specified in the id. If the target failed the root causes are provided as // children events. @@ -365,6 +375,9 @@ message TargetComplete { // "generated file") where the completion is reported. string target_kind = 5; + // The size of the test, if the target is a test target. Unset otherwise. + TestSize test_size = 6; + // The output files are arranged by their output group. If an output file // is part of multiple output groups, it appears once in each output // group. |