Skip to content

Commit c9e04c1

Browse files
Replace string constants with a dedicated enum for test statuses (#7218)
1 parent 7294eaf commit c9e04c1

File tree

8 files changed

+32
-32
lines changed

8 files changed

+32
-32
lines changed

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/domain/AbstractTestModule.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan;
44

55
import datadog.trace.api.Config;
6-
import datadog.trace.api.civisibility.CIConstants;
76
import datadog.trace.api.civisibility.telemetry.CiVisibilityCountMetric;
87
import datadog.trace.api.civisibility.telemetry.CiVisibilityMetricCollector;
98
import datadog.trace.api.civisibility.telemetry.tag.EventType;
@@ -71,7 +70,7 @@ public AbstractTestModule(
7170

7271
// setting status to skip initially,
7372
// as we do not know in advance whether the module will have any children
74-
span.setTag(Tags.TEST_STATUS, CIConstants.TEST_SKIP);
73+
span.setTag(Tags.TEST_STATUS, TestStatus.skip);
7574

7675
testDecorator.afterStart(span);
7776

@@ -89,11 +88,11 @@ public void setTag(String key, Object value) {
8988
public void setErrorInfo(Throwable error) {
9089
span.setError(true);
9190
span.addThrowable(error);
92-
span.setTag(Tags.TEST_STATUS, CIConstants.TEST_FAIL);
91+
span.setTag(Tags.TEST_STATUS, TestStatus.fail);
9392
}
9493

9594
public void setSkipReason(String skipReason) {
96-
span.setTag(Tags.TEST_STATUS, CIConstants.TEST_SKIP);
95+
span.setTag(Tags.TEST_STATUS, TestStatus.skip);
9796
if (skipReason != null) {
9897
span.setTag(Tags.TEST_SKIP_REASON, skipReason);
9998
}

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/domain/AbstractTestSession.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan;
44

55
import datadog.trace.api.Config;
6-
import datadog.trace.api.civisibility.CIConstants;
76
import datadog.trace.api.civisibility.telemetry.CiVisibilityCountMetric;
87
import datadog.trace.api.civisibility.telemetry.CiVisibilityMetricCollector;
98
import datadog.trace.api.civisibility.telemetry.TagValue;
@@ -72,7 +71,7 @@ public AbstractTestSession(
7271

7372
// setting status to skip initially,
7473
// as we do not know in advance whether the session will have any children
75-
span.setTag(Tags.TEST_STATUS, CIConstants.TEST_SKIP);
74+
span.setTag(Tags.TEST_STATUS, TestStatus.skip);
7675

7776
span.setResourceName(projectName);
7877

@@ -106,11 +105,11 @@ public void setTag(String key, Object value) {
106105
public void setErrorInfo(Throwable error) {
107106
span.setError(true);
108107
span.addThrowable(error);
109-
span.setTag(Tags.TEST_STATUS, CIConstants.TEST_FAIL);
108+
span.setTag(Tags.TEST_STATUS, TestStatus.fail);
110109
}
111110

112111
public void setSkipReason(String skipReason) {
113-
span.setTag(Tags.TEST_STATUS, CIConstants.TEST_SKIP);
112+
span.setTag(Tags.TEST_STATUS, TestStatus.skip);
114113
if (skipReason != null) {
115114
span.setTag(Tags.TEST_SKIP_REASON, skipReason);
116115
}

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/domain/TestImpl.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ public TestImpl(
113113
span.setTag(Tags.TEST_MODULE_ID, moduleId);
114114
span.setTag(Tags.TEST_SESSION_ID, sessionId);
115115

116-
span.setTag(Tags.TEST_STATUS, CIConstants.TEST_PASS);
116+
span.setTag(Tags.TEST_STATUS, TestStatus.pass);
117117

118118
if (testClass != null && !testClass.getName().equals(testSuiteName)) {
119119
span.setTag(Tags.TEST_SOURCE_CLASS, testClass.getName());
@@ -178,12 +178,12 @@ public void setTag(String key, Object value) {
178178
public void setErrorInfo(Throwable error) {
179179
span.setError(true);
180180
span.addThrowable(error);
181-
span.setTag(Tags.TEST_STATUS, CIConstants.TEST_FAIL);
181+
span.setTag(Tags.TEST_STATUS, TestStatus.fail);
182182
}
183183

184184
@Override
185185
public void setSkipReason(String skipReason) {
186-
span.setTag(Tags.TEST_STATUS, CIConstants.TEST_SKIP);
186+
span.setTag(Tags.TEST_STATUS, TestStatus.skip);
187187
if (skipReason != null) {
188188
span.setTag(Tags.TEST_SKIP_REASON, skipReason);
189189

@@ -222,7 +222,7 @@ public void end(@Nullable Long endTime) {
222222
CoverageBridge.removeThreadLocalCoverageProbeStore();
223223
boolean coveragesGathered =
224224
context.getCoverageProbeStore().report(sessionId, suiteId, span.getSpanId());
225-
if (!coveragesGathered && !CIConstants.TEST_SKIP.equals(span.getTag(Tags.TEST_STATUS))) {
225+
if (!coveragesGathered && !TestStatus.skip.equals(span.getTag(Tags.TEST_STATUS))) {
226226
// test is not skipped, but no coverages were gathered
227227
metricCollector.add(CiVisibilityCountMetric.CODE_COVERAGE_IS_EMPTY, 1);
228228
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package datadog.trace.civisibility.domain;
2+
3+
public enum TestStatus {
4+
pass,
5+
fail,
6+
skip
7+
}

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/domain/TestSuiteImpl.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.startSpan;
55

66
import datadog.trace.api.Config;
7-
import datadog.trace.api.civisibility.CIConstants;
87
import datadog.trace.api.civisibility.DDTestSuite;
98
import datadog.trace.api.civisibility.telemetry.CiVisibilityCountMetric;
109
import datadog.trace.api.civisibility.telemetry.CiVisibilityMetricCollector;
@@ -103,7 +102,7 @@ public TestSuiteImpl(
103102

104103
// setting status to skip initially,
105104
// as we do not know in advance whether the suite will have any children
106-
span.setTag(Tags.TEST_STATUS, CIConstants.TEST_SKIP);
105+
span.setTag(Tags.TEST_STATUS, TestStatus.skip);
107106

108107
this.testClass = testClass;
109108
if (this.testClass != null) {
@@ -138,12 +137,12 @@ public void setTag(String key, Object value) {
138137
public void setErrorInfo(Throwable error) {
139138
span.setError(true);
140139
span.addThrowable(error);
141-
span.setTag(Tags.TEST_STATUS, CIConstants.TEST_FAIL);
140+
span.setTag(Tags.TEST_STATUS, TestStatus.fail);
142141
}
143142

144143
@Override
145144
public void setSkipReason(String skipReason) {
146-
span.setTag(Tags.TEST_STATUS, CIConstants.TEST_SKIP);
145+
span.setTag(Tags.TEST_STATUS, TestStatus.skip);
147146
if (skipReason != null) {
148147
span.setTag(Tags.TEST_SKIP_REASON, skipReason);
149148
}

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/events/BuildEventsHandlerImpl.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
package datadog.trace.civisibility.events;
22

3-
import datadog.trace.api.civisibility.CIConstants;
43
import datadog.trace.api.civisibility.config.ModuleExecutionSettings;
54
import datadog.trace.api.civisibility.events.BuildEventsHandler;
65
import datadog.trace.bootstrap.instrumentation.api.Tags;
76
import datadog.trace.civisibility.config.JvmInfo;
87
import datadog.trace.civisibility.config.JvmInfoFactory;
98
import datadog.trace.civisibility.domain.BuildSystemModule;
109
import datadog.trace.civisibility.domain.BuildSystemSession;
10+
import datadog.trace.civisibility.domain.TestStatus;
1111
import java.io.File;
1212
import java.nio.file.Path;
1313
import java.util.Collection;
@@ -86,7 +86,7 @@ public ModuleInfo onTestModuleStart(
8686

8787
BuildSystemSession testSession = inProgressTestSessions.get(sessionKey);
8888
BuildSystemModule testModule = testSession.testModuleStart(moduleName, null, outputClassesDirs);
89-
testModule.setTag(Tags.TEST_STATUS, CIConstants.TEST_PASS);
89+
testModule.setTag(Tags.TEST_STATUS, TestStatus.pass);
9090

9191
if (additionalTags != null) {
9292
for (Map.Entry<String, Object> e : additionalTags.entrySet()) {

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/utils/SpanUtils.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package datadog.trace.civisibility.utils;
22

3-
import datadog.trace.api.civisibility.CIConstants;
43
import datadog.trace.bootstrap.instrumentation.api.AgentSpan;
54
import datadog.trace.bootstrap.instrumentation.api.Tags;
5+
import datadog.trace.civisibility.domain.TestStatus;
66
import datadog.trace.civisibility.ipc.TestFramework;
77
import java.util.ArrayList;
88
import java.util.Collection;
@@ -97,24 +97,24 @@ private static void setFrameworks(AgentSpan span, Collection<TestFramework> fram
9797
}
9898

9999
private static void propagateStatus(AgentSpan parentSpan, AgentSpan childSpan) {
100-
String childStatus = (String) childSpan.getTag(Tags.TEST_STATUS);
100+
TestStatus childStatus = (TestStatus) childSpan.getTag(Tags.TEST_STATUS);
101101
if (childStatus == null) {
102102
return;
103103
}
104104

105-
String parentStatus = (String) parentSpan.getTag(Tags.TEST_STATUS);
105+
TestStatus parentStatus = (TestStatus) parentSpan.getTag(Tags.TEST_STATUS);
106106
switch (childStatus) {
107-
case CIConstants.TEST_PASS:
108-
if (parentStatus == null || CIConstants.TEST_SKIP.equals(parentStatus)) {
109-
parentSpan.setTag(Tags.TEST_STATUS, CIConstants.TEST_PASS);
107+
case pass:
108+
if (parentStatus == null || TestStatus.skip.equals(parentStatus)) {
109+
parentSpan.setTag(Tags.TEST_STATUS, TestStatus.pass);
110110
}
111111
break;
112-
case CIConstants.TEST_FAIL:
113-
parentSpan.setTag(Tags.TEST_STATUS, CIConstants.TEST_FAIL);
112+
case fail:
113+
parentSpan.setTag(Tags.TEST_STATUS, TestStatus.fail);
114114
break;
115-
case CIConstants.TEST_SKIP:
115+
case skip:
116116
if (parentStatus == null) {
117-
parentSpan.setTag(Tags.TEST_STATUS, CIConstants.TEST_SKIP);
117+
parentSpan.setTag(Tags.TEST_STATUS, TestStatus.skip);
118118
}
119119
break;
120120
default:

internal-api/src/main/java/datadog/trace/api/civisibility/CIConstants.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
package datadog.trace.api.civisibility;
22

33
public interface CIConstants {
4-
String TEST_PASS = "pass";
5-
String TEST_FAIL = "fail";
6-
String TEST_SKIP = "skip";
7-
84
/**
95
* Indicates that early flakiness detection feature was aborted in a test session because too many
106
* test cases were considered new.

0 commit comments

Comments
 (0)