You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by dp...@apache.org on 2019/08/03 22:13:52 UTC

[ignite-teamcity-bot] branch newtest-detection-fix updated: Fix for new failure detection in case some executions are missing

This is an automated email from the ASF dual-hosted git repository.

dpavlov pushed a commit to branch newtest-detection-fix
in repository https://gitbox.apache.org/repos/asf/ignite-teamcity-bot.git


The following commit(s) were added to refs/heads/newtest-detection-fix by this push:
     new a167fdc  Fix for new failure detection in case some executions are missing
a167fdc is described below

commit a167fdca60a192c0e408a9db72a5b2880ca703be
Author: Dmitriy Pavlov <dp...@apache.org>
AuthorDate: Sun Aug 4 01:13:45 2019 +0300

    Fix for new failure detection in case some executions are missing
---
 .../apache/ignite/tcbot/engine/issue/EventTemplate.java | 12 ++++++++++++
 .../ignite/tcbot/engine/issue/EventTemplates.java       |  2 +-
 .../ci/teamcity/ignited/runhist/InvocationData.java     | 17 ++++++++++++++---
 .../ci/teamcity/ignited/runhist/RunHistCompacted.java   |  3 ++-
 .../apache/ignite/tcignited/history/IEventTemplate.java |  2 ++
 5 files changed, 31 insertions(+), 5 deletions(-)

diff --git a/tcbot-engine/src/main/java/org/apache/ignite/tcbot/engine/issue/EventTemplate.java b/tcbot-engine/src/main/java/org/apache/ignite/tcbot/engine/issue/EventTemplate.java
index d6ab25e..8f754e5 100644
--- a/tcbot-engine/src/main/java/org/apache/ignite/tcbot/engine/issue/EventTemplate.java
+++ b/tcbot-engine/src/main/java/org/apache/ignite/tcbot/engine/issue/EventTemplate.java
@@ -22,6 +22,7 @@ import org.apache.ignite.tcignited.history.IEventTemplate;
 public class EventTemplate implements IEventTemplate {
     private final int[] beforeEvent;
     private final int[] eventAndAfter;
+    private boolean includeMissing = false;
 
     public EventTemplate(int[] beforeEvent, int[] eventAndAfter) {
         this.beforeEvent = beforeEvent;
@@ -36,6 +37,17 @@ public class EventTemplate implements IEventTemplate {
         return eventAndAfter;
     }
 
+    @Override
+    public boolean includeMissing() {
+        return includeMissing;
+    }
+
+    EventTemplate includeMissing(boolean include) {
+        this.includeMissing = include;
+
+        return this;
+    }
+
     public int cntEvents() {
         return beforeEvent.length + eventAndAfter.length;
     }
diff --git a/tcbot-engine/src/main/java/org/apache/ignite/tcbot/engine/issue/EventTemplates.java b/tcbot-engine/src/main/java/org/apache/ignite/tcbot/engine/issue/EventTemplates.java
index dcb5af2..8502925 100644
--- a/tcbot-engine/src/main/java/org/apache/ignite/tcbot/engine/issue/EventTemplates.java
+++ b/tcbot-engine/src/main/java/org/apache/ignite/tcbot/engine/issue/EventTemplates.java
@@ -40,7 +40,7 @@ public class EventTemplates {
     public static final EventTemplate newContributedTestFailure = new EventTemplate(
             new int[]{MISSING, MISSING, MISSING, MISSING},
             new int[]{FAIL, FAIL, FAIL, FAIL}
-    );
+    ).includeMissing(true);
 
     public static final EventTemplate newFailureForFlakyTest = new EventTemplate(
             new int[]{OK, OK, OK, OK, OK},
diff --git a/tcbot-teamcity-ignited/src/main/java/org/apache/ignite/ci/teamcity/ignited/runhist/InvocationData.java b/tcbot-teamcity-ignited/src/main/java/org/apache/ignite/ci/teamcity/ignited/runhist/InvocationData.java
index 78bdd75..e5b72a2 100644
--- a/tcbot-teamcity-ignited/src/main/java/org/apache/ignite/ci/teamcity/ignited/runhist/InvocationData.java
+++ b/tcbot-teamcity-ignited/src/main/java/org/apache/ignite/ci/teamcity/ignited/runhist/InvocationData.java
@@ -52,8 +52,8 @@ public class InvocationData {
      */
     public int notMutedAndNonMissingRunsCount() {
         return (int)
-            invocations()
-                .filter(invocation -> invocation.status() != MUTED && invocation.status() != MISSING)
+            invocations(true)
+                .filter(invocation -> invocation.status() != MUTED)
                 .count();
     }
 
@@ -62,7 +62,18 @@ public class InvocationData {
      */
     @Nonnull
     Stream<Invocation> invocations() {
-        return invocationList.stream();
+        return invocations(false);
+    }
+
+
+    @Nonnull Stream<Invocation> invocations(boolean skipMissing) {
+        Stream<Invocation> stream = invocationList.stream();
+
+        if (skipMissing) {
+            stream = stream.filter(invocation -> invocation.status() != MISSING);
+        }
+
+        return stream;
     }
 
     /**
diff --git a/tcbot-teamcity-ignited/src/main/java/org/apache/ignite/ci/teamcity/ignited/runhist/RunHistCompacted.java b/tcbot-teamcity-ignited/src/main/java/org/apache/ignite/ci/teamcity/ignited/runhist/RunHistCompacted.java
index 7015da7..3a0ccfd 100644
--- a/tcbot-teamcity-ignited/src/main/java/org/apache/ignite/ci/teamcity/ignited/runhist/RunHistCompacted.java
+++ b/tcbot-teamcity-ignited/src/main/java/org/apache/ignite/ci/teamcity/ignited/runhist/RunHistCompacted.java
@@ -125,7 +125,8 @@ public class RunHistCompacted implements  IRunHistory {
         assert centralEvtBuild < template.length;
         assert centralEvtBuild >= 0;
 
-        List<Invocation> histAsArr = data.invocations().collect(Collectors.toList());
+        boolean includeMissing = t.includeMissing();
+        List<Invocation> histAsArr = data.invocations(!includeMissing).collect(Collectors.toList());
 
         if (histAsArr.size() < template.length)
             return null;
diff --git a/tcbot-teamcity-ignited/src/main/java/org/apache/ignite/tcignited/history/IEventTemplate.java b/tcbot-teamcity-ignited/src/main/java/org/apache/ignite/tcignited/history/IEventTemplate.java
index c762de1..cba384c 100644
--- a/tcbot-teamcity-ignited/src/main/java/org/apache/ignite/tcignited/history/IEventTemplate.java
+++ b/tcbot-teamcity-ignited/src/main/java/org/apache/ignite/tcignited/history/IEventTemplate.java
@@ -23,4 +23,6 @@ public interface IEventTemplate {
     int[] beforeEvent();
 
     int[] eventAndAfter();
+
+    boolean includeMissing();
 }