@@ -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 ;
0 commit comments