Skip to content

Commit 80803a6

Browse files
authored
Merge branch 'master' into nicholas.hulston/s3-span-pointers
2 parents c2e7727 + 7afe313 commit 80803a6

File tree

108 files changed

+2413
-539
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

108 files changed

+2413
-539
lines changed

.circleci/config.continue.yml.j2

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -953,13 +953,23 @@ jobs:
953953
no_output_timeout: 5m
954954
command: |
955955
cd system-tests
956-
DD_SITE=datadoghq.com DD_API_KEY=$SYSTEM_TESTS_E2E_DD_API_KEY DD_APPLICATION_KEY=$SYSTEM_TESTS_E2E_DD_APP_KEY ./run.sh DEBUGGER_SCENARIOS
956+
export DD_API_KEY=$SYSTEM_TESTS_E2E_DD_API_KEY
957+
./run.sh DEBUGGER_SCENARIOS
958+
959+
- run:
960+
name: Collect log files
961+
no_output_timeout: 5m
962+
command: |
963+
mkdir -p logs_debugger
964+
for dir in system-tests/logs*/; do
965+
cp -r "$dir" logs_debugger
966+
done
957967
958968
- store_test_results:
959-
path: system-tests/logs_debugger*
969+
path: logs_debugger
960970
961971
- store_artifacts:
962-
path: system-tests/logs_debugger*
972+
path: logs_debugger
963973
964974
parametric-tests:
965975
machine:

components/json/gradle.lockfile

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
# This is a Gradle generated file for dependency locking.
2+
# Manual edits can break the build and are not advised.
3+
# This file is expected to be part of source control.
4+
ch.qos.logback:logback-classic:1.2.3=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
5+
ch.qos.logback:logback-core:1.2.3=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
6+
com.beust:jcommander:1.78=jmhRuntimeClasspath,testRuntimeClasspath
7+
com.github.javaparser:javaparser-core:3.25.1=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
8+
com.github.spotbugs:spotbugs-annotations:4.2.0=compileClasspath,jmhCompileClasspath,jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
9+
com.github.spotbugs:spotbugs-annotations:4.7.3=spotbugs
10+
com.github.spotbugs:spotbugs:4.7.3=spotbugs
11+
com.google.code.findbugs:jsr305:3.0.2=compileClasspath,jmhCompileClasspath,jmhRuntimeClasspath,spotbugs,testCompileClasspath,testRuntimeClasspath
12+
com.google.code.gson:gson:2.9.1=spotbugs
13+
com.thoughtworks.qdox:qdox:1.12.1=jmhRuntimeClasspath,testRuntimeClasspath
14+
commons-codec:commons-codec:1.15=spotbugs
15+
de.thetaphi:forbiddenapis:3.1=compileClasspath,jmhCompileClasspath
16+
info.picocli:picocli:4.6.3=jmhRuntimeClasspath,testRuntimeClasspath
17+
jaxen:jaxen:1.2.0=spotbugs
18+
jline:jline:2.14.6=jmhRuntimeClasspath,testRuntimeClasspath
19+
junit:junit:4.13.2=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
20+
net.jcip:jcip-annotations:1.0=compileClasspath,jmhCompileClasspath,jmhRuntimeClasspath,spotbugs,testCompileClasspath,testRuntimeClasspath
21+
net.sf.jopt-simple:jopt-simple:5.0.4=jmh,jmhCompileClasspath,jmhRuntimeClasspath
22+
net.sf.saxon:Saxon-HE:11.4=spotbugs
23+
org.apache.ant:ant-antlr:1.10.12=jmhRuntimeClasspath,testRuntimeClasspath
24+
org.apache.ant:ant-antlr:1.9.15=codenarc
25+
org.apache.ant:ant-junit:1.10.12=jmhRuntimeClasspath,testRuntimeClasspath
26+
org.apache.ant:ant-junit:1.9.15=codenarc
27+
org.apache.ant:ant-launcher:1.10.12=jmhRuntimeClasspath,testRuntimeClasspath
28+
org.apache.ant:ant:1.10.12=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
29+
org.apache.bcel:bcel:6.5.0=spotbugs
30+
org.apache.commons:commons-lang3:3.12.0=pitest,spotbugs
31+
org.apache.commons:commons-math3:3.2=jmh,jmhCompileClasspath,jmhRuntimeClasspath
32+
org.apache.commons:commons-text:1.10.0=pitest,spotbugs
33+
org.apache.httpcomponents.client5:httpclient5:5.1.3=spotbugs
34+
org.apache.httpcomponents.core5:httpcore5-h2:5.1.3=spotbugs
35+
org.apache.httpcomponents.core5:httpcore5:5.1.3=spotbugs
36+
org.apache.logging.log4j:log4j-api:2.19.0=spotbugs
37+
org.apache.logging.log4j:log4j-core:2.19.0=spotbugs
38+
org.apiguardian:apiguardian-api:1.1.2=testCompileClasspath
39+
org.codehaus.groovy:groovy-all:3.0.17=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
40+
org.codehaus.groovy:groovy-ant:2.5.14=codenarc
41+
org.codehaus.groovy:groovy-ant:3.0.17=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
42+
org.codehaus.groovy:groovy-astbuilder:3.0.17=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
43+
org.codehaus.groovy:groovy-cli-picocli:3.0.17=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
44+
org.codehaus.groovy:groovy-console:3.0.17=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
45+
org.codehaus.groovy:groovy-datetime:3.0.17=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
46+
org.codehaus.groovy:groovy-docgenerator:3.0.17=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
47+
org.codehaus.groovy:groovy-groovydoc:2.5.14=codenarc
48+
org.codehaus.groovy:groovy-groovydoc:3.0.17=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
49+
org.codehaus.groovy:groovy-groovysh:3.0.17=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
50+
org.codehaus.groovy:groovy-jmx:3.0.17=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
51+
org.codehaus.groovy:groovy-json:2.5.14=codenarc
52+
org.codehaus.groovy:groovy-json:3.0.17=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
53+
org.codehaus.groovy:groovy-jsr223:3.0.17=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
54+
org.codehaus.groovy:groovy-macro:3.0.17=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
55+
org.codehaus.groovy:groovy-nio:3.0.17=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
56+
org.codehaus.groovy:groovy-servlet:3.0.17=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
57+
org.codehaus.groovy:groovy-sql:3.0.17=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
58+
org.codehaus.groovy:groovy-swing:3.0.17=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
59+
org.codehaus.groovy:groovy-templates:2.5.14=codenarc
60+
org.codehaus.groovy:groovy-templates:3.0.17=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
61+
org.codehaus.groovy:groovy-test-junit5:3.0.17=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
62+
org.codehaus.groovy:groovy-test:3.0.17=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
63+
org.codehaus.groovy:groovy-testng:3.0.17=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
64+
org.codehaus.groovy:groovy-xml:2.5.14=codenarc
65+
org.codehaus.groovy:groovy-xml:3.0.17=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
66+
org.codehaus.groovy:groovy:2.5.14=codenarc
67+
org.codehaus.groovy:groovy:3.0.17=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
68+
org.codenarc:CodeNarc:2.2.0=codenarc
69+
org.dom4j:dom4j:2.1.3=spotbugs
70+
org.gmetrics:GMetrics:1.1=codenarc
71+
org.hamcrest:hamcrest-core:1.3=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
72+
org.hamcrest:hamcrest:2.2=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
73+
org.jacoco:org.jacoco.agent:0.8.5=jacocoAgent,jacocoAnt
74+
org.jacoco:org.jacoco.ant:0.8.5=jacocoAnt
75+
org.jacoco:org.jacoco.core:0.8.5=jacocoAnt
76+
org.jacoco:org.jacoco.report:0.8.5=jacocoAnt
77+
org.junit.jupiter:junit-jupiter-api:5.9.2=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
78+
org.junit.jupiter:junit-jupiter-engine:5.9.2=jmhRuntimeClasspath,testRuntimeClasspath
79+
org.junit.jupiter:junit-jupiter-params:5.9.2=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
80+
org.junit.jupiter:junit-jupiter:5.9.2=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
81+
org.junit.platform:junit-platform-commons:1.9.2=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
82+
org.junit.platform:junit-platform-engine:1.9.2=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
83+
org.junit.platform:junit-platform-launcher:1.9.2=jmhRuntimeClasspath,testRuntimeClasspath
84+
org.junit:junit-bom:5.9.1=spotbugs
85+
org.junit:junit-bom:5.9.2=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
86+
org.objenesis:objenesis:3.3=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
87+
org.openjdk.jmh:jmh-core:1.36=jmh,jmhCompileClasspath,jmhRuntimeClasspath
88+
org.openjdk.jmh:jmh-generator-asm:1.36=jmh,jmhCompileClasspath,jmhRuntimeClasspath
89+
org.openjdk.jmh:jmh-generator-bytecode:1.36=jmh,jmhCompileClasspath,jmhRuntimeClasspath
90+
org.openjdk.jmh:jmh-generator-reflection:1.36=jmh,jmhCompileClasspath,jmhRuntimeClasspath
91+
org.opentest4j:opentest4j:1.2.0=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
92+
org.ow2.asm:asm-analysis:7.2=jacocoAnt
93+
org.ow2.asm:asm-analysis:9.4=spotbugs
94+
org.ow2.asm:asm-commons:7.2=jacocoAnt
95+
org.ow2.asm:asm-commons:9.4=spotbugs
96+
org.ow2.asm:asm-tree:7.2=jacocoAnt
97+
org.ow2.asm:asm-tree:9.4=spotbugs
98+
org.ow2.asm:asm-util:9.4=spotbugs
99+
org.ow2.asm:asm:7.2=jacocoAnt
100+
org.ow2.asm:asm:9.0=jmh,jmhCompileClasspath,jmhRuntimeClasspath
101+
org.ow2.asm:asm:9.4=spotbugs
102+
org.pitest:pitest-command-line:1.9.11=pitest
103+
org.pitest:pitest-entry:1.9.11=pitest
104+
org.pitest:pitest:1.9.11=pitest
105+
org.slf4j:jcl-over-slf4j:1.7.30=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
106+
org.slf4j:jul-to-slf4j:1.7.30=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
107+
org.slf4j:log4j-over-slf4j:1.7.30=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
108+
org.slf4j:slf4j-api:1.7.30=testCompileClasspath
109+
org.slf4j:slf4j-api:1.7.32=jmhRuntimeClasspath,testRuntimeClasspath
110+
org.slf4j:slf4j-api:2.0.0=spotbugs,spotbugsSlf4j
111+
org.slf4j:slf4j-simple:2.0.0=spotbugsSlf4j
112+
org.spockframework:spock-core:2.2-groovy-3.0=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
113+
org.spockframework:spock-junit4:2.2-groovy-3.0=jmhRuntimeClasspath,testCompileClasspath,testRuntimeClasspath
114+
org.testng:testng:7.5=jmhRuntimeClasspath,testRuntimeClasspath
115+
org.webjars:jquery:3.5.1=jmhRuntimeClasspath,testRuntimeClasspath
116+
org.xmlresolver:xmlresolver:4.4.3=spotbugs
117+
xml-apis:xml-apis:1.4.01=spotbugs
118+
empty=annotationProcessor,jmhAnnotationProcessor,runtimeClasspath,spotbugsPlugins,testAnnotationProcessor

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/ConfigurationApiImpl.java

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import datadog.trace.api.civisibility.telemetry.CiVisibilityMetricCollector;
1616
import datadog.trace.api.civisibility.telemetry.tag.CoverageEnabled;
1717
import datadog.trace.api.civisibility.telemetry.tag.EarlyFlakeDetectionEnabled;
18+
import datadog.trace.api.civisibility.telemetry.tag.FlakyTestRetriesEnabled;
1819
import datadog.trace.api.civisibility.telemetry.tag.ItrEnabled;
1920
import datadog.trace.api.civisibility.telemetry.tag.ItrSkipEnabled;
2021
import datadog.trace.api.civisibility.telemetry.tag.RequireGit;
@@ -132,6 +133,7 @@ public CiVisibilitySettings getSettings(TracerEnvironment tracerEnvironment) thr
132133
settings.getEarlyFlakeDetectionSettings().isEnabled()
133134
? EarlyFlakeDetectionEnabled.TRUE
134135
: null,
136+
settings.isFlakyTestRetriesEnabled() ? FlakyTestRetriesEnabled.TRUE : null,
135137
settings.isGitUploadRequired() ? RequireGit.TRUE : null);
136138

137139
return settings;
@@ -166,7 +168,8 @@ public SkippableTests getSkippableTests(TracerEnvironment tracerEnvironment) thr
166168
for (DataDto<TestIdentifierJson> dataDto : response.data) {
167169
TestIdentifierJson testIdentifierJson = dataDto.getAttributes();
168170
Configurations conf = testIdentifierJson.getConfigurations();
169-
String moduleName = (conf != null ? conf : requestConf).getTestBundle();
171+
String moduleName =
172+
(conf != null && conf.getTestBundle() != null ? conf : requestConf).getTestBundle();
170173
testIdentifiersByModule
171174
.computeIfAbsent(moduleName, k -> new HashMap<>())
172175
.put(testIdentifierJson.toTestIdentifier(), testIdentifierJson.toTestMetadata());
@@ -185,6 +188,14 @@ public SkippableTests getSkippableTests(TracerEnvironment tracerEnvironment) thr
185188
@Override
186189
public Map<String, Collection<TestIdentifier>> getFlakyTestsByModule(
187190
TracerEnvironment tracerEnvironment) throws IOException {
191+
OkHttpUtils.CustomListener telemetryListener =
192+
new TelemetryListener.Builder(metricCollector)
193+
.requestCount(CiVisibilityCountMetric.FLAKY_TESTS_REQUEST)
194+
.requestErrors(CiVisibilityCountMetric.FLAKY_TESTS_REQUEST_ERRORS)
195+
.requestDuration(CiVisibilityDistributionMetric.FLAKY_TESTS_REQUEST_MS)
196+
.responseBytes(CiVisibilityDistributionMetric.FLAKY_TESTS_RESPONSE_BYTES)
197+
.build();
198+
188199
String uuid = uuidGenerator.get();
189200
EnvelopeDto<TracerEnvironment> request =
190201
new EnvelopeDto<>(
@@ -196,20 +207,27 @@ public Map<String, Collection<TestIdentifier>> getFlakyTestsByModule(
196207
FLAKY_TESTS_URI,
197208
requestBody,
198209
is -> testIdentifiersResponseAdapter.fromJson(Okio.buffer(Okio.source(is))).data,
199-
null,
210+
telemetryListener,
200211
false);
201212

202213
LOGGER.debug("Received {} flaky tests in total", response.size());
203214

215+
Configurations requestConf = tracerEnvironment.getConfigurations();
216+
217+
int flakyTestsCount = 0;
204218
Map<String, Collection<TestIdentifier>> testIdentifiers = new HashMap<>();
205219
for (DataDto<TestIdentifierJson> dataDto : response) {
206220
TestIdentifierJson testIdentifierJson = dataDto.getAttributes();
207-
Configurations configurations = testIdentifierJson.getConfigurations();
208-
String moduleName = configurations.getTestBundle();
221+
Configurations conf = testIdentifierJson.getConfigurations();
222+
String moduleName =
223+
(conf != null && conf.getTestBundle() != null ? conf : requestConf).getTestBundle();
209224
testIdentifiers
210225
.computeIfAbsent(moduleName, k -> new HashSet<>())
211226
.add(testIdentifierJson.toTestIdentifier());
227+
flakyTestsCount++;
212228
}
229+
230+
metricCollector.add(CiVisibilityDistributionMetric.FLAKY_TESTS_RESPONSE_TESTS, flakyTestsCount);
213231
return testIdentifiers;
214232
}
215233

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/ExecutionSettings.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,6 @@ public Collection<TestIdentifier> getKnownTests() {
114114

115115
@Nullable
116116
public Collection<TestIdentifier> getFlakyTests() {
117-
// backend does not store module info for flaky tests yet
118117
return flakyTests;
119118
}
120119

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/ExecutionSettingsFactoryImpl.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package datadog.trace.civisibility.config;
22

33
import datadog.trace.api.Config;
4+
import datadog.trace.api.civisibility.CIConstants;
45
import datadog.trace.api.civisibility.CiVisibilityWellKnownTags;
56
import datadog.trace.api.civisibility.config.TestIdentifier;
67
import datadog.trace.api.civisibility.config.TestMetadata;
@@ -139,11 +140,17 @@ private TracerEnvironment buildTracerEnvironment(
139140

140141
Map<String, Collection<TestIdentifier>> flakyTestsByModule =
141142
flakyTestRetriesEnabled && config.isCiVisibilityFlakyRetryOnlyKnownFlakes()
143+
|| CIConstants.FAIL_FAST_TEST_ORDER.equalsIgnoreCase(
144+
config.getCiVisibilityTestOrder())
142145
? getFlakyTestsByModule(tracerEnvironment)
143146
: null;
144147

145148
Map<String, Collection<TestIdentifier>> knownTestsByModule =
146-
earlyFlakeDetectionEnabled ? getKnownTestsByModule(tracerEnvironment) : null;
149+
earlyFlakeDetectionEnabled
150+
|| CIConstants.FAIL_FAST_TEST_ORDER.equalsIgnoreCase(
151+
config.getCiVisibilityTestOrder())
152+
? getKnownTestsByModule(tracerEnvironment)
153+
: null;
147154

148155
Set<String> moduleNames = new HashSet<>(Collections.singleton(DEFAULT_SETTINGS));
149156
moduleNames.addAll(skippableTestIdentifiers.keySet());

dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/config/TestIdentifierSerializer.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,10 @@ public static void serialize(Serializer serializer, TestIdentifier testIdentifie
1313
}
1414

1515
public static TestIdentifier deserialize(ByteBuffer buffer) {
16+
String suiteName = Serializer.readString(buffer);
1617
return new TestIdentifier(
17-
Serializer.readString(buffer),
18+
// suite name repeats a lot; interning it to save memory
19+
suiteName != null ? suiteName.intern() : null,
1820
Serializer.readString(buffer),
1921
Serializer.readString(buffer));
2022
}

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

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,14 @@
55
import datadog.trace.api.Config;
66
import datadog.trace.api.DDTraceId;
77
import datadog.trace.api.IdGenerationStrategy;
8+
import datadog.trace.api.civisibility.CIConstants;
89
import datadog.trace.api.civisibility.telemetry.CiVisibilityCountMetric;
910
import datadog.trace.api.civisibility.telemetry.CiVisibilityMetricCollector;
1011
import datadog.trace.api.civisibility.telemetry.TagValue;
12+
import datadog.trace.api.civisibility.telemetry.tag.AgentlessLogSubmissionEnabled;
1113
import datadog.trace.api.civisibility.telemetry.tag.AutoInjected;
1214
import datadog.trace.api.civisibility.telemetry.tag.EventType;
15+
import datadog.trace.api.civisibility.telemetry.tag.FailFastTestOrderEnabled;
1316
import datadog.trace.api.civisibility.telemetry.tag.HasCodeowner;
1417
import datadog.trace.api.civisibility.telemetry.tag.IsHeadless;
1518
import datadog.trace.api.civisibility.telemetry.tag.IsUnsupportedCI;
@@ -109,7 +112,11 @@ public AbstractTestSession(
109112
CiVisibilityCountMetric.TEST_SESSION,
110113
1,
111114
ciProvider,
112-
config.isCiVisibilityAutoInjected() ? AutoInjected.TRUE : null);
115+
config.isCiVisibilityAutoInjected() ? AutoInjected.TRUE : null,
116+
config.isAgentlessLogSubmissionEnabled() ? AgentlessLogSubmissionEnabled.TRUE : null,
117+
CIConstants.FAIL_FAST_TEST_ORDER.equalsIgnoreCase(config.getCiVisibilityTestOrder())
118+
? FailFastTestOrderEnabled.TRUE
119+
: null);
113120

114121
if (instrumentationType == InstrumentationType.MANUAL_API) {
115122
metricCollector.add(CiVisibilityCountMetric.MANUAL_API_EVENTS, 1, EventType.SESSION);

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ TestSuiteImpl testSuiteStart(
2525
*/
2626
boolean isNew(TestIdentifier test);
2727

28+
boolean isFlaky(TestIdentifier test);
29+
2830
/**
2931
* Checks if a given test should be skipped with Intelligent Test Runner or not
3032
*

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,11 @@ public boolean isNew(TestIdentifier test) {
8787
return executionStrategy.isNew(test);
8888
}
8989

90+
@Override
91+
public boolean isFlaky(TestIdentifier test) {
92+
return executionStrategy.isFlaky(test);
93+
}
94+
9095
@Override
9196
public boolean shouldBeSkipped(TestIdentifier test) {
9297
return executionStrategy.shouldBeSkipped(test);

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,11 @@ public boolean isNew(TestIdentifier test) {
7272
return executionStrategy.isNew(test);
7373
}
7474

75+
@Override
76+
public boolean isFlaky(TestIdentifier test) {
77+
return executionStrategy.isFlaky(test);
78+
}
79+
7580
@Override
7681
public boolean shouldBeSkipped(TestIdentifier test) {
7782
return executionStrategy.shouldBeSkipped(test);

0 commit comments

Comments
 (0)