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/04 11:30:22 UTC
[ignite-teamcity-bot] branch newtest-detection-fix updated: Newly
contributed test detection fixed: test presence in suite is checked,
fixed should be first check
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 ecf7b20 Newly contributed test detection fixed: test presence in suite is checked, fixed should be first check
ecf7b20 is described below
commit ecf7b206cfd4785f85aab7e2615f7502bd4b6c9b
Author: Dmitriy Pavlov <dp...@apache.org>
AuthorDate: Sun Aug 4 14:30:17 2019 +0300
Newly contributed test detection fixed: test presence in suite is checked, fixed should be first check
---
.../apache/ignite/tcbot/engine/issue/EventTemplate.java | 15 +++++++++++++++
.../apache/ignite/tcbot/engine/issue/EventTemplates.java | 2 +-
.../ci/teamcity/ignited/runhist/RunHistCompacted.java | 10 ++++++++++
.../apache/ignite/tcignited/history/IEventTemplate.java | 2 ++
4 files changed, 28 insertions(+), 1 deletion(-)
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 8f754e5..0298bc3 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
@@ -23,6 +23,10 @@ public class EventTemplate implements IEventTemplate {
private final int[] beforeEvent;
private final int[] eventAndAfter;
private boolean includeMissing = false;
+ /**
+ * Event template eventAndAfter should be always first build in history of non-missed object.
+ */
+ private boolean shouldBeFirstNonMissing = false;
public EventTemplate(int[] beforeEvent, int[] eventAndAfter) {
this.beforeEvent = beforeEvent;
@@ -42,6 +46,11 @@ public class EventTemplate implements IEventTemplate {
return includeMissing;
}
+ @Override
+ public boolean shouldBeFirstNonMissing() {
+ return shouldBeFirstNonMissing;
+ }
+
EventTemplate includeMissing(boolean include) {
this.includeMissing = include;
@@ -51,4 +60,10 @@ public class EventTemplate implements IEventTemplate {
public int cntEvents() {
return beforeEvent.length + eventAndAfter.length;
}
+
+ public EventTemplate onlyForFirstNonMissing(boolean shouldBeFirst) {
+ this.shouldBeFirstNonMissing = shouldBeFirst;
+
+ return this;
+ }
}
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 8502925..98ecff9 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);
+ ).includeMissing(true).onlyForFirstNonMissing(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/RunHistCompacted.java b/tcbot-teamcity-ignited/src/main/java/org/apache/ignite/ci/teamcity/ignited/runhist/RunHistCompacted.java
index 3a0ccfd..23c01be 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
@@ -27,6 +27,7 @@ import org.apache.ignite.tcignited.history.RunStatus;
import javax.annotation.Nullable;
import java.util.List;
import java.util.Objects;
+import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
@@ -141,6 +142,15 @@ public class RunHistCompacted implements IRunHistory {
break;
}
+ if (detectedAt != null && t.shouldBeFirstNonMissing()) {
+ Optional<Invocation> first = data.invocations(true).findFirst();
+ if (!first.isPresent())
+ return null;
+
+ if (first.get().buildId() != detectedAt)
+ return null;
+ }
+
return detectedAt;
}
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 cba384c..78b0edc 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
@@ -25,4 +25,6 @@ public interface IEventTemplate {
int[] eventAndAfter();
boolean includeMissing();
+
+ boolean shouldBeFirstNonMissing();
}