Skip to content

Commit 0059efd

Browse files
test: add retries to gradle wrapper command (#9612)
1 parent 8f47b66 commit 0059efd

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

dd-smoke-tests/gradle/src/test/groovy/datadog/smoketest/GradleLauncherSmokeTest.groovy

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,19 @@ package datadog.smoketest
33
import datadog.communication.util.IOUtils
44
import datadog.trace.civisibility.utils.ShellCommandExecutor
55
import org.opentest4j.AssertionFailedError
6+
import org.slf4j.Logger
7+
import org.slf4j.LoggerFactory
68

79
/**
810
* This test runs Gradle Launcher with the Java Tracer injected
911
* and verifies that the tracer is injected into the Gradle Daemon.
1012
*/
1113
class GradleLauncherSmokeTest extends AbstractGradleTest {
1214

15+
private static final Logger LOGGER = LoggerFactory.getLogger(GradleLauncherSmokeTest)
16+
1317
private static final int GRADLE_BUILD_TIMEOUT_MILLIS = 90_000
18+
private static final int GRADLE_WRAPPER_RETRIES = 3
1419

1520
private static final String JAVA_HOME = buildJavaHome()
1621

@@ -47,7 +52,16 @@ class GradleLauncherSmokeTest extends AbstractGradleTest {
4752

4853
private void givenGradleWrapper(String gradleVersion) {
4954
def shellCommandExecutor = new ShellCommandExecutor(projectFolder.toFile(), GRADLE_BUILD_TIMEOUT_MILLIS, ["JAVA_HOME": JAVA_HOME])
50-
shellCommandExecutor.executeCommand(IOUtils::readFully, "./gradlew", "wrapper", "--gradle-version", gradleVersion)
55+
for (int attempt = 0; attempt < GRADLE_WRAPPER_RETRIES; attempt++) {
56+
try {
57+
shellCommandExecutor.executeCommand(IOUtils::readFully, "./gradlew", "wrapper", "--gradle-version", gradleVersion)
58+
return
59+
} catch (ShellCommandExecutor.ShellCommandFailedException e) {
60+
LOGGER.warn("Failed gradle wrapper resolution with exception: ", e)
61+
Thread.sleep(2000) // small delay for rapid retries on network issues
62+
}
63+
}
64+
throw new AssertionError((Object) "Tried $GRADLE_WRAPPER_RETRIES times to execute gradle wrapper command and failed")
5165
}
5266

5367
private String whenRunningGradleLauncherWithJavaTracerInjected(String gradleDaemonCmdLineParams) {

0 commit comments

Comments
 (0)