Skip to content

Commit e78edfa

Browse files
refactor test management overriding logic
1 parent bd2aa39 commit e78edfa

File tree

2 files changed

+21
-20
lines changed

2 files changed

+21
-20
lines changed

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

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -178,20 +178,7 @@ private Map<String, ExecutionSettings> doCreate(
178178
CiVisibilitySettings::isKnownTestsEnabled,
179179
Config::isCiVisibilityKnownTestsRequestEnabled);
180180

181-
boolean testManagementEnabled =
182-
isFeatureEnabled(
183-
settings,
184-
s -> s.getTestManagementSettings().isEnabled(),
185-
Config::isCiVisibilityTestManagementEnabled);
186-
TestManagementSettings testManagementSettings = TestManagementSettings.DEFAULT;
187-
if (testManagementEnabled) {
188-
testManagementSettings = settings.getTestManagementSettings();
189-
if (isValueOverriden(Config::getCiVisibilityTestManagementAttemptToFixRetries, null)) {
190-
testManagementSettings =
191-
new TestManagementSettings(
192-
true, config.getCiVisibilityTestManagementAttemptToFixRetries());
193-
}
194-
}
181+
TestManagementSettings testManagementSettings = getTestManagementSettings(settings);
195182

196183
LOGGER.info(
197184
"CI Visibility settings ({}, {}/{}/{}):\n"
@@ -214,7 +201,7 @@ private Map<String, ExecutionSettings> doCreate(
214201
impactedTestsEnabled,
215202
knownTestsRequest,
216203
flakyTestRetriesEnabled,
217-
testManagementEnabled);
204+
testManagementSettings.isEnabled());
218205

219206
Future<SkippableTests> skippableTestsFuture =
220207
executor.submit(() -> getSkippableTests(tracerEnvironment, itrEnabled));
@@ -288,9 +275,24 @@ private boolean isFeatureEnabled(
288275
return remoteSetting.apply(ciVisibilitySettings) && killSwitch.apply(config);
289276
}
290277

291-
private boolean isValueOverriden(Function<Config, Integer> valueGetter, Integer defaultValue) {
292-
Integer value = valueGetter.apply(config);
293-
return !value.equals(defaultValue);
278+
@Nonnull
279+
private TestManagementSettings getTestManagementSettings(CiVisibilitySettings settings) {
280+
boolean testManagementEnabled =
281+
isFeatureEnabled(
282+
settings,
283+
s -> s.getTestManagementSettings().isEnabled(),
284+
Config::isCiVisibilityTestManagementEnabled);
285+
286+
if (!testManagementEnabled) {
287+
return TestManagementSettings.DEFAULT;
288+
}
289+
290+
Integer retries = config.getCiVisibilityTestManagementAttemptToFixRetries();
291+
if (retries != null) {
292+
return new TestManagementSettings(true, retries);
293+
}
294+
295+
return settings.getTestManagementSettings();
294296
}
295297

296298
@Nonnull
@@ -325,7 +327,6 @@ private SkippableTests getSkippableTests(
325327
Thread.currentThread().interrupt();
326328
LOGGER.error("Interrupted while waiting for git data upload", e);
327329
return SkippableTests.EMPTY;
328-
329330
} catch (Exception e) {
330331
LOGGER.error("Could not obtain list of skippable tests, will proceed without skipping", e);
331332
return SkippableTests.EMPTY;

internal-api/src/main/java/datadog/trace/api/Config.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2990,7 +2990,7 @@ public boolean isCiVisibilityTestManagementEnabled() {
29902990
return ciVisibilityTestManagementEnabled;
29912991
}
29922992

2993-
public int getCiVisibilityTestManagementAttemptToFixRetries() {
2993+
public Integer getCiVisibilityTestManagementAttemptToFixRetries() {
29942994
return ciVisibilityTestManagementAttemptToFixRetries;
29952995
}
29962996

0 commit comments

Comments
 (0)