diff --git a/dd-smoke-tests/java9-modules/instrumentable-module-app/instrumentable-module-app.gradle b/dd-smoke-tests/java9-modules/instrumentable-module-app/instrumentable-module-app.gradle deleted file mode 100644 index b24e5ecc21..0000000000 --- a/dd-smoke-tests/java9-modules/instrumentable-module-app/instrumentable-module-app.gradle +++ /dev/null @@ -1,21 +0,0 @@ -ext { - minJavaVersionForTests = JavaVersion.VERSION_1_9 -} - -apply from: "${rootDir}/gradle/java.gradle" - -jar { - manifest { - attributes( - 'Main-Class': 'datadog.smoketest.moduleapp.instrumentable.ModuleApplication' - ) - } -} - -jlink { - moduleName = 'datadog.smoketest.moduleapp.instrumentable' - options = ['--no-man-pages', '--no-header-files'] -} - -sourceCompatibility = "1.9" -targetCompatibility = "1.9" \ No newline at end of file diff --git a/dd-smoke-tests/java9-modules/instrumentable-module-app/src/main/java/datadog/smoketest/moduleapp/instrumentable/ModuleApplication.java b/dd-smoke-tests/java9-modules/instrumentable-module-app/src/main/java/datadog/smoketest/moduleapp/instrumentable/ModuleApplication.java deleted file mode 100644 index c7f36262bc..0000000000 --- a/dd-smoke-tests/java9-modules/instrumentable-module-app/src/main/java/datadog/smoketest/moduleapp/instrumentable/ModuleApplication.java +++ /dev/null @@ -1,11 +0,0 @@ -package datadog.smoketest.moduleapp.instrumentable; - -public class ModuleApplication { - public static void main(final String[] args) { - final String agentStatus = System.getProperty("dd.agent.status"); - - if (!"INSTALLED".equals(agentStatus)) { - throw new RuntimeException("Incorrect agent status: " + agentStatus); - } - } -} diff --git a/dd-smoke-tests/java9-modules/instrumentable-module-app/src/main/java/module-info.java b/dd-smoke-tests/java9-modules/instrumentable-module-app/src/main/java/module-info.java deleted file mode 100644 index ea750fe98c..0000000000 --- a/dd-smoke-tests/java9-modules/instrumentable-module-app/src/main/java/module-info.java +++ /dev/null @@ -1,3 +0,0 @@ -module datadog.smoketest.moduleapp.instrumentable { - exports datadog.smoketest.moduleapp.instrumentable; -} diff --git a/dd-smoke-tests/java9-modules/java9-modules.gradle b/dd-smoke-tests/java9-modules/java9-modules.gradle index 0568ca1b4d..c3497b9973 100644 --- a/dd-smoke-tests/java9-modules/java9-modules.gradle +++ b/dd-smoke-tests/java9-modules/java9-modules.gradle @@ -2,21 +2,34 @@ plugins { id 'org.beryx.jlink' version '2.1.1' // latest version that doesn't have a Java 11+ warning } +ext { + minJavaVersionForTests = JavaVersion.VERSION_1_9 +} + apply from: "${rootDir}/gradle/java.gradle" sourceCompatibility = "1.9" targetCompatibility = "1.9" +jar { + manifest { + attributes( + 'Main-Class': 'datadog.smoketest.moduleapp.ModuleApplication' + ) + } +} + +jlink { + moduleName = 'datadog.smoketest.moduleapp' + options = ['--no-man-pages', '--no-header-files', '--add-modules', 'java.instrument'] +} + +test { + dependsOn tasks.jlink + jvmArgs "-Ddatadog.smoketest.module.image=${jlink.imageDir.get()}" +} + dependencies { testCompile project(':dd-smoke-tests') } -Project main_project = project -subprojects { subProject -> - apply plugin: "org.beryx.jlink" - - main_project.tasks.test.dependsOn subProject.tasks.jlink - - main_project.tasks.test.jvmArgs "-Ddatadog.smoketest.${subProject.tasks.jlink.moduleName.get()}.image=${subProject.tasks.jlink.imageDir.get()}" -} - diff --git a/dd-smoke-tests/java9-modules/src/main/java/datadog/smoketest/moduleapp/ModuleApplication.java b/dd-smoke-tests/java9-modules/src/main/java/datadog/smoketest/moduleapp/ModuleApplication.java new file mode 100644 index 0000000000..b7e484b2d7 --- /dev/null +++ b/dd-smoke-tests/java9-modules/src/main/java/datadog/smoketest/moduleapp/ModuleApplication.java @@ -0,0 +1,7 @@ +package datadog.smoketest.moduleapp; + +public class ModuleApplication { + public static void main(final String[] args) throws InterruptedException { + Thread.sleep(600); + } +} diff --git a/dd-smoke-tests/java9-modules/src/main/java/module-info.java b/dd-smoke-tests/java9-modules/src/main/java/module-info.java new file mode 100644 index 0000000000..e2316b9bcc --- /dev/null +++ b/dd-smoke-tests/java9-modules/src/main/java/module-info.java @@ -0,0 +1,3 @@ +module datadog.smoketest.moduleapp { + exports datadog.smoketest.moduleapp; +} diff --git a/dd-smoke-tests/java9-modules/src/test/groovy/datadog/smoketest/Java9ModulesSmokeTest.groovy b/dd-smoke-tests/java9-modules/src/test/groovy/datadog/smoketest/Java9ModulesSmokeTest.groovy index e655ccbf0a..f95aab709c 100644 --- a/dd-smoke-tests/java9-modules/src/test/groovy/datadog/smoketest/Java9ModulesSmokeTest.groovy +++ b/dd-smoke-tests/java9-modules/src/test/groovy/datadog/smoketest/Java9ModulesSmokeTest.groovy @@ -4,27 +4,25 @@ import spock.lang.Timeout import java.util.concurrent.TimeUnit -abstract class Java9ModulesSmokeTest extends AbstractSmokeTest { +class Java9ModulesSmokeTest extends AbstractSmokeTest { // Estimate for the amount of time instrumentation plus some extra private static final int TIMEOUT_SECS = 30 @Override ProcessBuilder createProcessBuilder() { println System.getProperties() - String imageDir = System.getProperty("datadog.smoketest.${moduleName}.image") + String imageDir = System.getProperty("datadog.smoketest.module.image") assert imageDir != null List command = new ArrayList<>() command.add(imageDir + "/bin/java") command.addAll(defaultJavaProperties) - command.addAll((String[]) ["-m", "${moduleName}/${moduleName}.ModuleApplication"]) + command.addAll((String[]) ["-m", "datadog.smoketest.moduleapp/datadog.smoketest.moduleapp.ModuleApplication"]) ProcessBuilder processBuilder = new ProcessBuilder(command) processBuilder.directory(new File(buildDirectory)) } - abstract getModuleName() - // TODO: once java7 support is dropped use waitFor() with timeout call added in java8 // instead of timeout on test @Timeout(value = TIMEOUT_SECS, unit = TimeUnit.SECONDS) @@ -33,19 +31,3 @@ abstract class Java9ModulesSmokeTest extends AbstractSmokeTest { assert serverProcess.waitFor() == 0 } } - -class InstrumentableModuleTest extends Java9ModulesSmokeTest { - - @Override - def getModuleName() { - return "datadog.smoketest.moduleapp.instrumentable" - } -} - -class UninstrumentableModuleTest extends Java9ModulesSmokeTest { - - @Override - def getModuleName() { - return "datadog.smoketest.moduleapp.uninstrumentable" - } -} diff --git a/dd-smoke-tests/java9-modules/uninstrumentable-module-app/src/main/java/datadog/smoketest/moduleapp/uninstrumentable/ModuleApplication.java b/dd-smoke-tests/java9-modules/uninstrumentable-module-app/src/main/java/datadog/smoketest/moduleapp/uninstrumentable/ModuleApplication.java deleted file mode 100644 index 03c2545a31..0000000000 --- a/dd-smoke-tests/java9-modules/uninstrumentable-module-app/src/main/java/datadog/smoketest/moduleapp/uninstrumentable/ModuleApplication.java +++ /dev/null @@ -1,11 +0,0 @@ -package datadog.smoketest.moduleapp.uninstrumentable; - -public class ModuleApplication { - public static void main(final String[] args) { - final String agentStatus = System.getProperty("dd.agent.status"); - - if (!"NOT_INSTALLED".equals(agentStatus)) { - throw new RuntimeException("Incorrect agent status: " + agentStatus); - } - } -} diff --git a/dd-smoke-tests/java9-modules/uninstrumentable-module-app/src/main/java/module-info.java b/dd-smoke-tests/java9-modules/uninstrumentable-module-app/src/main/java/module-info.java deleted file mode 100644 index 8689f673c5..0000000000 --- a/dd-smoke-tests/java9-modules/uninstrumentable-module-app/src/main/java/module-info.java +++ /dev/null @@ -1,3 +0,0 @@ -module datadog.smoketest.moduleapp.uninstrumentable { - exports datadog.smoketest.moduleapp.uninstrumentable; -} diff --git a/dd-smoke-tests/java9-modules/uninstrumentable-module-app/uninstrumentable-module-app.gradle b/dd-smoke-tests/java9-modules/uninstrumentable-module-app/uninstrumentable-module-app.gradle deleted file mode 100644 index 5b8763e34c..0000000000 --- a/dd-smoke-tests/java9-modules/uninstrumentable-module-app/uninstrumentable-module-app.gradle +++ /dev/null @@ -1,21 +0,0 @@ -ext { - minJavaVersionForTests = JavaVersion.VERSION_1_9 -} - -apply from: "${rootDir}/gradle/java.gradle" - -jar { - manifest { - attributes( - 'Main-Class': 'datadog.smoketest.moduleapp.uninstrumentable.ModuleApplication' - ) - } -} - -jlink { - moduleName = 'datadog.smoketest.moduleapp.uninstrumentable' - options = ['--no-man-pages', '--no-header-files'] -} - -sourceCompatibility = "1.9" -targetCompatibility = "1.9" diff --git a/settings.gradle b/settings.gradle index 5c36cf573c..76c54dd385 100644 --- a/settings.gradle +++ b/settings.gradle @@ -24,8 +24,6 @@ include ':dd-smoke-tests:springboot' include ':dd-smoke-tests:wildfly' include ':dd-smoke-tests:cli' include ':dd-smoke-tests:java9-modules' -include ':dd-smoke-tests:java9-modules:instrumentable-module-app' -include ':dd-smoke-tests:java9-modules:uninstrumentable-module-app' // instrumentation: include ':dd-java-agent:instrumentation:akka-http-10.0'