Also provide test summaries in the build-event stream

For each test target, also have a test summary as children to this event.
As test summaries are posted on the event bus anyway, it is enough to
make then an instance of BuildEvent.

--
Change-Id: Id53e5f1760548a1fa621b1667fdb4470f51a52e8
Reviewed-on: https://bazel-review.googlesource.com/#/c/6931
MOS_MIGRATED_REVID=137961100
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 ae1327d..453127c 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
@@ -24,6 +24,7 @@
 import com.google.devtools.build.lib.collect.nestedset.NestedSet;
 import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
 import com.google.devtools.build.lib.collect.nestedset.Order;
+import com.google.devtools.build.lib.packages.TargetUtils;
 import com.google.devtools.build.lib.util.Preconditions;
 import com.google.devtools.build.skyframe.SkyValue;
 import java.util.Collection;
@@ -85,6 +86,9 @@
     for (Cause cause : getRootCauses()) {
       childrenBuilder.add(BuildEventId.fromCause(cause));
     }
+    if (TargetUtils.isTestRule(target.getTarget())) {
+      childrenBuilder.add(BuildEventId.testSummary(target.getTarget().getLabel()));
+    }
     return childrenBuilder.build();
   }