Merge pull request #309 from DataDog/tyler/test-versions

Add additional test task for testing latest versions of a dependency
This commit is contained in:
Tyler Benson 2018-05-07 09:57:26 +10:00 committed by GitHub
commit fa4a3931cd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
24 changed files with 164 additions and 55 deletions

View File

@ -111,13 +111,13 @@ jobs:
<<: *default_test_job
environment:
- JAVA8_HOME: /usr/lib/jvm/java-8-openjdk-amd64
- TEST_TASK: test
- TEST_TASK: test latestDepTest
test_9:
<<: *default_test_job
environment:
- JAVA9_HOME: /usr/lib/jvm/zulu-9-amd64
- TEST_TASK: testJava9
- TEST_TASK: testJava9 latestDepTestJava9
- INSTALL_ZULU: zulu-9

View File

@ -15,6 +15,14 @@ versionScan {
apply from: "${rootDir}/gradle/java.gradle"
apply plugin: 'org.unbroken-dome.test-sets'
testSets {
latestDepTest {
dirName = 'test'
}
}
// These classes use Ratpack which requires Java 8. (Currently also incompatible with Java 9.)
testJava8Only += '**/AWSClientTest.class'
@ -31,4 +39,6 @@ dependencies {
// Include httpclient instrumentation for testing because it is a dependency for aws-sdk.
testCompile project(':dd-java-agent:instrumentation:apache-httpclient-4.3')
testCompile group: 'com.amazonaws', name: 'aws-java-sdk', version: '1.11.119'
latestDepTestCompile group: 'com.amazonaws', name: 'aws-java-sdk', version: '+'
}

View File

@ -18,6 +18,14 @@ apply from: "${rootDir}/gradle/java.gradle"
// These classes use Cassandra 3 which requires Java 8. (Currently incompatible with Java 9.)
testJava8Only += '**/CassandraClientTest.class'
apply plugin: 'org.unbroken-dome.test-sets'
testSets {
latestDepTest {
dirName = 'test'
}
}
dependencies {
compileOnly group: 'com.datastax.cassandra', name: 'cassandra-driver-core', version: '3.2.0'
@ -28,5 +36,7 @@ dependencies {
testCompile project(':dd-java-agent:testing')
testCompile group: 'com.datastax.cassandra', name: 'cassandra-driver-core', version: '3.2.0'
testCompile(group: 'org.cassandraunit', name: 'cassandra-unit', version: '3.1.3.2')
testCompile group: 'org.cassandraunit', name: 'cassandra-unit', version: '3.1.3.2'
latestDepTestCompile group: 'com.datastax.cassandra', name: 'cassandra-driver-core', version: '+'
}

View File

@ -11,6 +11,14 @@ versionScan {
apply from: "${rootDir}/gradle/java.gradle"
apply plugin: 'org.unbroken-dome.test-sets'
testSets {
latestDepTest {
dirName = 'test'
}
}
dependencies {
// compileOnly group: 'com.netflix.hystrix', name: 'hystrix-core', version: '1.5.12'
@ -25,4 +33,6 @@ dependencies {
testCompile project(':dd-java-agent:instrumentation:java-concurrent')
testCompile project(':dd-java-agent:instrumentation:trace-annotation')
testCompile group: 'com.netflix.hystrix', name: 'hystrix-core', version: '1.4.0'
latestDepTestCompile group: 'com.netflix.hystrix', name: 'hystrix-core', version: '+'
}

View File

@ -4,11 +4,6 @@ import spock.lang.Unroll
class AkkaActorTest extends AgentTestRunner {
@Override
void afterTest() {
// Ignore failures to instrument sun proxy classes
}
@Unroll
def "akka #testMethod" () {
setup:

View File

@ -2,10 +2,6 @@ import datadog.opentracing.DDSpan
import datadog.trace.agent.test.AgentTestRunner
class ScalaInstrumentationTest extends AgentTestRunner {
@Override
void afterTest() {
// Ignore failures to instrument sun proxy classes
}
def "scala futures and callbacks"() {
setup:

View File

@ -9,8 +9,8 @@ import spock.lang.Unroll
import java.lang.reflect.Method
import java.util.concurrent.ArrayBlockingQueue
import java.util.concurrent.Callable
import java.util.concurrent.ExecutorService
import java.util.concurrent.Executor
import java.util.concurrent.ExecutorService
import java.util.concurrent.ForkJoinPool
import java.util.concurrent.Future
import java.util.concurrent.RejectedExecutionException
@ -33,11 +33,6 @@ class ExecutorInstrumentationTest extends AgentTestRunner {
submitMethod = ExecutorService.getMethod("submit", Callable)
}
@Override
void afterTest() {
// Ignore failures to instrument sun proxy classes
}
@Unroll
// more useful name breaks java9 javac
// def "#poolImpl.getClass().getSimpleName() #method.getName() propagates"()

View File

@ -12,6 +12,14 @@ versionScan {
apply from: "${rootDir}/gradle/java.gradle"
apply plugin: 'org.unbroken-dome.test-sets'
testSets {
latestDepTest {
dirName = 'test'
}
}
dependencies {
compileOnly group: 'redis.clients', name: 'jedis', version: '1.4.0'
@ -24,5 +32,6 @@ dependencies {
testCompile project(':dd-java-agent:testing')
testCompile group: 'com.github.kstyrc', name: 'embedded-redis', version: '0.6'
testCompile group: 'redis.clients', name: 'jedis', version: '1.4.0'
latestDepTestCompile group: 'redis.clients', name: 'jedis', version: '+'
}

View File

@ -11,6 +11,14 @@ versionScan {
apply from: "${rootDir}/gradle/java.gradle"
apply plugin: 'org.unbroken-dome.test-sets'
testSets {
latestDepTest {
dirName = 'test'
}
}
dependencies {
compileOnly group: 'javax.servlet', name: 'javax.servlet-api', version: '3.0.1'
@ -26,4 +34,7 @@ dependencies {
testCompile group: 'org.eclipse.jetty', name: 'jetty-servlet', version: '8.0.0.v20110901'
testCompile group: 'com.squareup.okhttp3', name: 'okhttp', version: '3.6.0'
latestDepTestCompile group: 'org.eclipse.jetty', name: 'jetty-server', version: '+'
latestDepTestCompile group: 'org.eclipse.jetty', name: 'jetty-servlet', version: '+'
}

View File

@ -12,6 +12,14 @@ versionScan {
apply from: "${rootDir}/gradle/java.gradle"
apply plugin: 'org.unbroken-dome.test-sets'
testSets {
latestDepTest {
dirName = 'test'
}
}
dependencies {
compileOnly group: 'org.apache.kafka', name: 'kafka-clients', version: '0.11.0.0'
@ -25,4 +33,8 @@ dependencies {
testCompile group: 'org.springframework.kafka', name: 'spring-kafka', version: '1.3.3.RELEASE'
testCompile group: 'org.springframework.kafka', name: 'spring-kafka-test', version: '1.3.3.RELEASE'
testCompile group: 'javax.xml.bind', name: 'jaxb-api', version: '2.2.3'
latestDepTestCompile group: 'org.apache.kafka', name: 'kafka-clients', version: '+'
latestDepTestCompile group: 'org.springframework.kafka', name: 'spring-kafka', version: '+'
latestDepTestCompile group: 'org.springframework.kafka', name: 'spring-kafka-test', version: '+'
}

View File

@ -12,6 +12,14 @@ versionScan {
apply from: "${rootDir}/gradle/java.gradle"
apply plugin: 'org.unbroken-dome.test-sets'
testSets {
latestDepTest {
dirName = 'test'
}
}
dependencies {
compileOnly group: 'org.apache.kafka', name: 'kafka-streams', version: '0.11.0.0'
@ -29,4 +37,9 @@ dependencies {
testCompile group: 'org.springframework.kafka', name: 'spring-kafka', version: '1.3.3.RELEASE'
testCompile group: 'org.springframework.kafka', name: 'spring-kafka-test', version: '1.3.3.RELEASE'
testCompile group: 'javax.xml.bind', name: 'jaxb-api', version: '2.2.3'
latestDepTestCompile group: 'org.apache.kafka', name: 'kafka-clients', version: '+'
latestDepTestCompile group: 'org.apache.kafka', name: 'kafka-streams', version: '+'
latestDepTestCompile group: 'org.springframework.kafka', name: 'spring-kafka', version: '+'
latestDepTestCompile group: 'org.springframework.kafka', name: 'spring-kafka-test', version: '+'
}

View File

@ -12,6 +12,14 @@ versionScan {
apply from: "${rootDir}/gradle/java.gradle"
apply plugin: 'org.unbroken-dome.test-sets'
testSets {
latestDepTest {
dirName = 'test'
}
}
dependencies {
compileOnly group: 'org.mongodb', name: 'mongo-java-driver', version: '3.4.2'
@ -22,4 +30,6 @@ dependencies {
testCompile project(':dd-trace-ot')
testCompile group: 'org.mongodb', name: 'mongo-java-driver', version: '3.4.2'
latestDepTestCompile group: 'org.mongodb', name: 'mongo-java-driver', version: '+'
}

View File

@ -17,6 +17,14 @@ apply from: "${rootDir}/gradle/java.gradle"
// These classes use Ratpack which requires Java 8. (Currently also incompatible with Java 9.)
testJava8Only += '**/OkHttp3Test.class'
apply plugin: 'org.unbroken-dome.test-sets'
testSets {
latestDepTest {
dirName = 'test'
}
}
dependencies {
compileOnly group: 'com.squareup.okhttp3', name: 'okhttp', version: '3.0.0'
@ -27,4 +35,6 @@ dependencies {
testCompile project(':dd-java-agent:testing')
testCompile group: 'com.squareup.okhttp3', name: 'okhttp', version: '3.0.0'
latestDepTestCompile group: 'com.squareup.okhttp3', name: 'okhttp', version: '+'
}

View File

@ -1,6 +1,12 @@
apply from: "${rootDir}/gradle/java.gradle"
apply from: "${rootDir}/gradle/test-with-scala.gradle"
apply plugin: 'org.unbroken-dome.test-sets'
testSets {
latestDepTest
}
dependencies {
compileOnly group: 'com.typesafe.play', name: 'play_2.11', version: '2.4.0'
@ -17,6 +23,15 @@ dependencies {
testCompile project(':dd-java-agent:instrumentation:java-concurrent')
testCompile project(':dd-java-agent:instrumentation:trace-annotation')
testCompile group: 'com.squareup.okhttp3', name: 'okhttp', version: '3.6.0'
latestDepTestCompile group: 'org.scala-lang', name: 'scala-library', version: '2.11.12'
latestDepTestCompile group: 'com.typesafe.play', name: 'play_2.11', version: '2.6.0'
latestDepTestCompile group: 'com.typesafe.play', name: 'play-test_2.11', version: '2.6.0'
}
compileLatestDepTestGroovy {
classpath = classpath.plus(files(compileLatestDepTestScala.destinationDir))
dependsOn compileLatestDepTestScala
}
testJava8Minimum += '*Play*Test*'

View File

@ -1,23 +0,0 @@
apply from: "${rootDir}/gradle/java.gradle"
apply from: "${rootDir}/gradle/test-with-scala.gradle"
dependencies {
compileOnly group: 'com.typesafe.play', name: 'play_2.11', version: '2.6.0'
compile project(':dd-trace-api')
compile project(':dd-java-agent:agent-tooling')
compile deps.bytebuddy
compile deps.opentracing
compile deps.autoservice
testCompile group: 'org.scala-lang', name: 'scala-library', version: '2.11.12'
testCompile project(':dd-java-agent:instrumentation:play-2.4')
testCompile group: 'com.typesafe.play', name: 'play_2.11', version: '2.6.0'
testCompile group: 'com.typesafe.play', name: 'play-test_2.11', version: '2.6.0'
testCompile project(':dd-java-agent:testing')
testCompile project(':dd-java-agent:instrumentation:java-concurrent')
testCompile project(':dd-java-agent:instrumentation:trace-annotation')
testCompile group: 'com.squareup.okhttp3', name: 'okhttp', version: '3.6.0'
}
testJava8Minimum += '*Play*Test*'

View File

@ -26,11 +26,6 @@ class Play26Test extends AgentTestRunner {
testServer.stop()
}
@Override
void afterTest() {
// Ignore failures to instrument sun proxy classes
}
def "request traces" () {
setup:
OkHttpClient client = new OkHttpClient.Builder().build()

View File

@ -16,7 +16,7 @@ object Play26TestUtils {
def buildTestApp(): play.Application = {
// build play.api.Application with desired setting and pass into play.Application for testing
val apiApp :play.api.Application = new play.api.inject.guice.GuiceApplicationBuilder()
.requireAtInjectOnConstructors(true)
.requireAtInjectOnConstructors(true)
.router(
Router.from {
case GET(p"/helloplay/$from") => Action { req: RequestHeader =>

View File

@ -26,11 +26,6 @@ class Play24Test extends AgentTestRunner {
testServer.stop()
}
@Override
void afterTest() {
// Ignore failures to instrument sun proxy classes
}
def "request traces" () {
setup:
OkHttpClient client = new OkHttpClient.Builder().build()

View File

@ -27,6 +27,14 @@ compileMain_java8Java {
targetCompatibility = 1.8
}
apply plugin: 'org.unbroken-dome.test-sets'
testSets {
latestDepTest {
dirName = 'test'
}
}
dependencies {
main_java8CompileOnly group: 'io.ratpack', name: 'ratpack-core', version: '1.4.0'
@ -45,6 +53,8 @@ dependencies {
testCompile group: 'io.ratpack', name: 'ratpack-test', version: '1.4.0'
testCompile group: 'com.squareup.okhttp3', name: 'okhttp', version: '3.6.0'
latestDepTestCompile group: 'io.ratpack', name: 'ratpack-test', version: '+'
}
testJava8Only += '**/RatpackTest.class'

View File

@ -13,6 +13,14 @@ versionScan {
apply from: "${rootDir}/gradle/java.gradle"
apply plugin: 'org.unbroken-dome.test-sets'
testSets {
latestDepTest {
dirName = 'test'
}
}
dependencies {
compileOnly group: 'javax.servlet', name: 'javax.servlet-api', version: '3.0.1'
@ -31,4 +39,9 @@ dependencies {
testCompile group: 'org.apache.tomcat.embed', name: 'tomcat-embed-jasper', version: '8.0.41'
testCompile group: 'com.squareup.okhttp3', name: 'okhttp', version: '3.6.0'
latestDepTestCompile group: 'org.eclipse.jetty', name: 'jetty-server', version: '+'
latestDepTestCompile group: 'org.eclipse.jetty', name: 'jetty-servlet', version: '+'
latestDepTestCompile group: 'org.apache.tomcat.embed', name: 'tomcat-embed-core', version: '+'
latestDepTestCompile group: 'org.apache.tomcat.embed', name: 'tomcat-embed-jasper', version: '+'
}

View File

@ -13,11 +13,29 @@ apply from: "${rootDir}/gradle/java.gradle"
testJava8Minimum += '**/SparkJavaBasedTest.class'
apply plugin: 'org.unbroken-dome.test-sets'
testSets {
latestDepTest {
dirName = 'test'
}
}
latestDepTest {
sourceCompatibility = "1.8"
targetCompatibility = "1.8"
}
compileTestJava {
sourceCompatibility = "1.8"
targetCompatibility = "1.8"
}
compileJava {
sourceCompatibility = "1.7"
targetCompatibility = "1.7"
}
dependencies {
compileOnly group: 'com.sparkjava', name: 'spark-core', version: '2.4'
@ -31,4 +49,6 @@ dependencies {
testCompile group: 'com.sparkjava', name: 'spark-core', version: '2.4'
testCompile group: 'com.squareup.okhttp3', name: 'okhttp', version: '3.6.0'
latestDepTestCompile group: 'com.sparkjava', name: 'spark-core', version: '+'
}

View File

@ -7,6 +7,7 @@ buildscript {
classpath "org.jfrog.buildinfo:build-info-extractor-gradle:4.4.18"
classpath "com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3"
classpath "net.ltgt.gradle:gradle-errorprone-plugin:0.0.13"
classpath 'org.unbroken-dome.gradle-plugins:gradle-testsets-plugin:1.4.5'
}
}
@ -36,6 +37,8 @@ repositories {
description = 'dd-trace-java'
task traceAgentTest {}
task latestDepTest {}
task latestDepTestJava9 {}
// Applied here to allow publishing of artifactory build info
apply from: "${rootDir}/gradle/publish.gradle"

View File

@ -1,6 +1,5 @@
plugins {
id "me.champeau.gradle.jmh" version "0.4.4"
id 'org.unbroken-dome.test-sets' version '1.4.4'
}
description = 'dd-trace-ot'
@ -22,6 +21,8 @@ whitelistedInstructionClasses += whitelistedBranchClasses += [
// These classes use Ratpack which requires Java 8. (Currently also incompatible with Java 9.)
testJava8Only += 'datadog/trace/api/writer/DDApiTest.class'
apply plugin: 'org.unbroken-dome.test-sets'
testSets {
traceAgentTest
}

View File

@ -32,7 +32,6 @@ include ':dd-java-agent:instrumentation:mongo-async-3.3'
include ':dd-java-agent:instrumentation:okhttp-3'
include ':dd-java-agent:instrumentation:osgi-classloading'
include ':dd-java-agent:instrumentation:play-2.4'
include ':dd-java-agent:instrumentation:play-2.4:play-2.6-testing'
include ':dd-java-agent:instrumentation:ratpack-1.4'
include ':dd-java-agent:instrumentation:servlet-2'
include ':dd-java-agent:instrumentation:servlet-3'