Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ class AbstractGradleTest extends CiVisibilitySmokeTest {
private static final String GRADLE_TEST_RESOURCE_EXTENSION = ".gradleTest"
private static final String GRADLE_REGULAR_EXTENSION = ".gradle"

private static final ComparableVersion GRADLE_9 = new ComparableVersion("9.0.0")

@TempDir
protected Path projectFolder

Expand Down Expand Up @@ -105,23 +107,23 @@ class AbstractGradleTest extends CiVisibilitySmokeTest {
} else if (Jvm.current.java17) {
return gradleVersion.compareTo(new ComparableVersion("7.3")) >= 0
} else if (Jvm.current.java16) {
return gradleVersion.compareTo(new ComparableVersion("7.0")) >= 0
return gradleVersion.isWithin(new ComparableVersion("7.0"), GRADLE_9)
} else if (Jvm.current.java15) {
return gradleVersion.compareTo(new ComparableVersion("6.7")) >= 0
return gradleVersion.isWithin(new ComparableVersion("6.7"), GRADLE_9)
} else if (Jvm.current.java14) {
return gradleVersion.compareTo(new ComparableVersion("6.3")) >= 0
return gradleVersion.isWithin(new ComparableVersion("6.3"), GRADLE_9)
} else if (Jvm.current.java13) {
return gradleVersion.compareTo(new ComparableVersion("6.0")) >= 0
return gradleVersion.isWithin(new ComparableVersion("6.0"), GRADLE_9)
} else if (Jvm.current.java12) {
return gradleVersion.compareTo(new ComparableVersion("5.4")) >= 0
return gradleVersion.isWithin(new ComparableVersion("5.4"), GRADLE_9)
} else if (Jvm.current.java11) {
return gradleVersion.compareTo(new ComparableVersion("5.0")) >= 0
return gradleVersion.isWithin(new ComparableVersion("5.0"), GRADLE_9)
} else if (Jvm.current.java10) {
return gradleVersion.compareTo(new ComparableVersion("4.7")) >= 0
return gradleVersion.isWithin(new ComparableVersion("4.7"), GRADLE_9)
} else if (Jvm.current.java9) {
return gradleVersion.compareTo(new ComparableVersion("4.3")) >= 0
return gradleVersion.isWithin(new ComparableVersion("4.3"), GRADLE_9)
} else if (Jvm.current.java8) {
return gradleVersion.compareTo(new ComparableVersion("2.0")) >= 0
return gradleVersion.isWithin(new ComparableVersion("2.0"), GRADLE_9)
}
return false
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package datadog.smoketest

import datadog.communication.util.IOUtils
import datadog.trace.civisibility.utils.ShellCommandExecutor
import spock.util.environment.Jvm

/**
* This test runs Gradle Launcher with the Java Tracer injected
Expand All @@ -12,6 +13,7 @@ class GradleLauncherSmokeTest extends AbstractGradleTest {
private static final int GRADLE_BUILD_TIMEOUT_MILLIS = 90_000

private static final String AGENT_JAR = System.getProperty("datadog.smoketest.agent.shadowJar.path")
private static final String JAVA_HOME = buildJavaHome()

def "test Gradle Launcher injects tracer into Gradle Daemon: v#gradleVersion, cmd line - #gradleDaemonCmdLineParams"() {
given:
Expand Down Expand Up @@ -45,18 +47,19 @@ class GradleLauncherSmokeTest extends AbstractGradleTest {
}

private void givenGradleWrapper(String gradleVersion) {
def shellCommandExecutor = new ShellCommandExecutor(projectFolder.toFile(), GRADLE_BUILD_TIMEOUT_MILLIS)
def shellCommandExecutor = new ShellCommandExecutor(projectFolder.toFile(), GRADLE_BUILD_TIMEOUT_MILLIS, ["JAVA_HOME": JAVA_HOME])
shellCommandExecutor.executeCommand(IOUtils::readFully, "./gradlew", "wrapper", "--gradle-version", gradleVersion)
}

private String whenRunningGradleLauncherWithJavaTracerInjected(String gradleDaemonCmdLineParams) {
def shellCommandExecutor = new ShellCommandExecutor(projectFolder.toFile(), GRADLE_BUILD_TIMEOUT_MILLIS, [
"GRADLE_OPTS" : "-javaagent:${AGENT_JAR}".toString(),
"DD_CIVISIBILITY_ENABLED" : "true",
"DD_CIVISIBILITY_AGENTLESS_ENABLED" : "true",
"DD_CIVISIBILITY_AGENTLESS_URL" : "${mockBackend.intakeUrl}".toString(),
"DD_CIVISIBILITY_GIT_UPLOAD_ENABLED" : "false",
"DD_API_KEY" : "dummy"
"JAVA_HOME" : JAVA_HOME,
"GRADLE_OPTS" : "-javaagent:${AGENT_JAR}".toString(),
"DD_CIVISIBILITY_ENABLED" : "true",
"DD_CIVISIBILITY_AGENTLESS_ENABLED" : "true",
"DD_CIVISIBILITY_AGENTLESS_URL" : "${mockBackend.intakeUrl}".toString(),
"DD_CIVISIBILITY_GIT_UPLOAD_ENABLED": "false",
"DD_API_KEY" : "dummy"
])
String[] command = ["./gradlew", "--no-daemon", "--info"]
if (gradleDaemonCmdLineParams) {
Expand All @@ -74,4 +77,12 @@ class GradleLauncherSmokeTest extends AbstractGradleTest {
}
return true
}

private static String buildJavaHome() {
if (Jvm.current.isJava8()) {
return System.getenv("JAVA_8_HOME")
} else {
return System.getenv("JAVA_" + Jvm.current.getJavaSpecificationVersion() + "_HOME")
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ repositories {
dependencies {
testImplementation gradleTestKit()

testImplementation 'org.junit.platform:junit-platform-launcher'
testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.10.2'
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ repositories {
testing {
suites {
test {
useJUnitJupiter()
useJUnitJupiter('5.9.3')

dependencies {
implementation 'org.junit.platform:junit-platform-launcher:1.9.3'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import java.util.List;
import java.util.Locale;
import java.util.Properties;
import javax.annotation.Nonnull;

// backported from org.apache.maven:maven-artifact:3.9.9
public class ComparableVersion implements Comparable<ComparableVersion> {
Expand Down Expand Up @@ -125,6 +126,11 @@ public int compareTo(ComparableVersion o) {
return this.items.compareTo(o.items);
}

/** Checks if the version is in the range {@code [start, end)} */
public boolean isWithin(@Nonnull ComparableVersion start, @Nonnull ComparableVersion end) {
return compareTo(start) >= 0 && compareTo(end) < 0;
}

public String toString() {
return this.value;
}
Expand Down
Loading