Replace @Unroll’s with a rule to always unroll.

This commit is contained in:
Tyler Benson 2018-05-10 15:24:59 +10:00
parent 6b16722316
commit d5d24c50c7
23 changed files with 37 additions and 96 deletions

View File

@ -8,7 +8,6 @@ import org.h2.Driver
import org.hsqldb.jdbc.JDBCDriver
import spock.lang.Shared
import spock.lang.Specification
import spock.lang.Unroll
import java.sql.Connection
import java.sql.PreparedStatement
@ -46,7 +45,6 @@ class JDBCInstrumentationTest extends Specification {
writer.start()
}
@Unroll
def "basic statement on #driver generates spans"() {
setup:
Statement statement = connection.createStatement()
@ -92,7 +90,6 @@ class JDBCInstrumentationTest extends Specification {
"hsqldb" | connections.get("hsqldb") | "SA" | "SELECT 3 FROM INFORMATION_SCHEMA.SYSTEM_USERS"
}
@Unroll
def "prepared statement execute on #driver generates a span"() {
setup:
PreparedStatement statement = connection.prepareStatement(query)
@ -139,7 +136,6 @@ class JDBCInstrumentationTest extends Specification {
"hsqldb" | connections.get("hsqldb") | "SA" | "SELECT 3 FROM INFORMATION_SCHEMA.SYSTEM_USERS"
}
@Unroll
def "prepared statement query on #driver generates a span"() {
setup:
PreparedStatement statement = connection.prepareStatement(query)
@ -185,7 +181,6 @@ class JDBCInstrumentationTest extends Specification {
"hsqldb" | connections.get("hsqldb") | "SA" | "SELECT 3 FROM INFORMATION_SCHEMA.SYSTEM_USERS"
}
@Unroll
def "statement update on #driver generates a span"() {
setup:
Statement statement = connection.createStatement()
@ -232,7 +227,6 @@ class JDBCInstrumentationTest extends Specification {
"hsqldb" | connections.get("hsqldb") | "SA" | "CREATE TABLE PUBLIC.S_HSQLDB (id INTEGER not NULL, PRIMARY KEY ( id ))"
}
@Unroll
def "prepared statement update on #driver generates a span"() {
setup:
def sql = connection.nativeSQL(query)

View File

@ -6,7 +6,6 @@ import org.junit.Rule
import org.junit.contrib.java.lang.system.EnvironmentVariables
import org.junit.contrib.java.lang.system.RestoreSystemProperties
import spock.lang.Specification
import spock.lang.Unroll
class ConfigurableInstrumenterTest extends Specification {
@Rule
@ -70,7 +69,6 @@ class ConfigurableInstrumenterTest extends Specification {
enabled << [true, false]
}
@Unroll
def "configure default sys prop as #value"() {
setup:
System.setProperty("dd.integrations.enabled", value)
@ -88,7 +86,6 @@ class ConfigurableInstrumenterTest extends Specification {
"asdf" | false
}
@Unroll
def "configure default env var as #value"() {
setup:
environmentVariables.set("DD_INTEGRATIONS_ENABLED", value)
@ -106,7 +103,6 @@ class ConfigurableInstrumenterTest extends Specification {
"asdf" | false
}
@Unroll
def "configure sys prop enabled for #value when default is disabled"() {
setup:
System.setProperty("dd.integrations.enabled", "false")
@ -129,7 +125,6 @@ class ConfigurableInstrumenterTest extends Specification {
"period.test" | true | "period.test" | "asdf"
}
@Unroll
def "configure env var enabled for #value when default is disabled"() {
setup:
environmentVariables.set("DD_INTEGRATIONS_ENABLED", "false")

View File

@ -15,7 +15,6 @@ import datadog.trace.api.DDTags
import io.opentracing.tag.Tags
import ratpack.http.Headers
import spock.lang.Shared
import spock.lang.Unroll
import java.util.concurrent.atomic.AtomicReference
@ -81,7 +80,6 @@ class AWSClientTest extends AgentTestRunner {
false | 1
}
@Unroll
def "send #operation request with mocked response"() {
setup:
responseBody.set(body)

View File

@ -1,7 +1,6 @@
import com.netflix.hystrix.HystrixCommand
import datadog.trace.agent.test.AgentTestRunner
import datadog.trace.api.Trace
import spock.lang.Unroll
import java.util.concurrent.BlockingQueue
import java.util.concurrent.LinkedBlockingQueue
@ -17,7 +16,6 @@ class HystrixTest extends AgentTestRunner {
// System.setProperty("hystrix.command.default.execution.timeout.enabled", "false")
}
@Unroll
def "test command #action"() {
setup:
def command = new HystrixCommand(asKey("ExampleGroup")) {
@ -91,7 +89,6 @@ class HystrixTest extends AgentTestRunner {
}
}
@Unroll
def "test command #action fallback"() {
setup:
def command = new HystrixCommand(asKey("ExampleGroup")) {

View File

@ -1,10 +1,8 @@
import datadog.opentracing.DDSpan
import datadog.trace.agent.test.AgentTestRunner
import spock.lang.Unroll
class AkkaActorTest extends AgentTestRunner {
@Unroll
def "akka #testMethod"() {
setup:
AkkaActors akkaTester = new AkkaActors()

View File

@ -4,7 +4,6 @@ import datadog.trace.agent.test.AgentTestRunner
import datadog.trace.api.Trace
import io.opentracing.util.GlobalTracer
import spock.lang.Shared
import spock.lang.Unroll
import java.lang.reflect.Method
import java.util.concurrent.ArrayBlockingQueue
@ -33,7 +32,6 @@ class ExecutorInstrumentationTest extends AgentTestRunner {
submitMethod = ExecutorService.getMethod("submit", Callable)
}
@Unroll
// more useful name breaks java9 javac
// def "#poolImpl.getClass().getSimpleName() #method.getName() propagates"()
def "#poolImpl #method propagates"() {
@ -77,7 +75,6 @@ class ExecutorInstrumentationTest extends AgentTestRunner {
new ScheduledThreadPoolExecutor(1) | executeMethod
}
@Unroll
// more useful name breaks java9 javac
// def "#poolImpl.getClass().getSimpleName() #method.getName() propagates"()
def "#poolImpl reports after canceled jobs"() {

View File

@ -1,13 +1,17 @@
import datadog.opentracing.DDSpanContext
import datadog.trace.agent.test.AgentTestRunner
import io.opentracing.util.GlobalTracer
import spock.lang.Unroll
import javax.ws.rs.*
import javax.ws.rs.DELETE
import javax.ws.rs.GET
import javax.ws.rs.HEAD
import javax.ws.rs.OPTIONS
import javax.ws.rs.POST
import javax.ws.rs.PUT
import javax.ws.rs.Path
class JaxRsAnnotationsInstrumentationTest extends AgentTestRunner {
@Unroll
def "span named '#resourceName' from annotations on class"() {
setup:
def scope = GlobalTracer.get().buildSpan("test").startActive(false)

View File

@ -6,7 +6,6 @@ import org.apache.cxf.jaxrs.client.spec.ClientBuilderImpl
import org.glassfish.jersey.client.JerseyClientBuilder
import org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder
import ratpack.http.Headers
import spock.lang.Unroll
import javax.ws.rs.client.AsyncInvoker
import javax.ws.rs.client.Client
@ -33,7 +32,6 @@ class JaxRsClientTest extends AgentTestRunner {
}
}
@Unroll
def "#lib request creates spans and sends headers"() {
setup:
Client client = builder.build()

View File

@ -5,7 +5,6 @@ import org.apache.activemq.ActiveMQMessageConsumer
import org.apache.activemq.ActiveMQMessageProducer
import org.apache.activemq.junit.EmbeddedActiveMQBroker
import spock.lang.Shared
import spock.lang.Unroll
import javax.jms.Connection
import javax.jms.Message
@ -29,7 +28,6 @@ class JMS1Test extends AgentTestRunner {
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE)
}
@Unroll
def "sending a message to #resourceName generates spans"() {
setup:
def producer = session.createProducer(destination)
@ -147,7 +145,6 @@ class JMS1Test extends AgentTestRunner {
session.createTemporaryTopic() | "Temporary Topic"
}
@Unroll
def "sending to a MessageListener on #resourceName generates a span"() {
setup:
def lock = new CountDownLatch(1)

View File

@ -15,7 +15,6 @@ import org.hornetq.core.server.HornetQServers
import org.hornetq.jms.client.HornetQMessageConsumer
import org.hornetq.jms.client.HornetQMessageProducer
import spock.lang.Shared
import spock.lang.Unroll
import javax.jms.Message
import javax.jms.MessageListener
@ -63,7 +62,6 @@ class JMS2Test extends AgentTestRunner {
session.run()
}
@Unroll
def "sending a message to #resourceName generates spans"() {
setup:
def producer = session.createProducer(destination)
@ -138,7 +136,6 @@ class JMS2Test extends AgentTestRunner {
session.createTemporaryTopic() | "Temporary Topic"
}
@Unroll
def "sending to a MessageListener on #resourceName generates a span"() {
setup:
def lock = new CountDownLatch(1)

View File

@ -11,7 +11,6 @@ import okhttp3.Request
import okhttp3.Response
import org.eclipse.jetty.server.Server
import org.eclipse.jetty.servlet.ServletContextHandler
import spock.lang.Unroll
import java.lang.reflect.Field
import java.util.concurrent.CountDownLatch
@ -81,7 +80,6 @@ class JettyServlet2Test extends AgentTestRunner {
jettyServer.destroy()
}
@Unroll
def "test #path servlet call"() {
setup:
def request = new Request.Builder()
@ -119,7 +117,6 @@ class JettyServlet2Test extends AgentTestRunner {
"sync" | "Hello Sync"
}
@Unroll
def "test #path error servlet call"() {
setup:
def request = new Request.Builder()
@ -158,7 +155,6 @@ class JettyServlet2Test extends AgentTestRunner {
"sync" | "Hello Sync"
}
@Unroll
def "test #path non-throwing-error servlet call"() {
// This doesn't actually detect the error because we can't get the status code via the old servlet API.
setup:

View File

@ -11,7 +11,6 @@ import okhttp3.Request
import okhttp3.Response
import org.eclipse.jetty.server.Server
import org.eclipse.jetty.servlet.ServletContextHandler
import spock.lang.Unroll
import java.lang.reflect.Field
import java.util.concurrent.CountDownLatch
@ -83,7 +82,6 @@ class JettyServlet3Test extends AgentTestRunner {
jettyServer.destroy()
}
@Unroll
def "test #path servlet call"() {
setup:
def request = new Request.Builder()
@ -123,7 +121,6 @@ class JettyServlet3Test extends AgentTestRunner {
"sync" | "Hello Sync"
}
@Unroll
def "test #path error servlet call"() {
setup:
def request = new Request.Builder()
@ -164,7 +161,6 @@ class JettyServlet3Test extends AgentTestRunner {
"sync" | "Hello Sync"
}
@Unroll
def "test #path non-throwing-error servlet call"() {
setup:
def request = new Request.Builder()

View File

@ -11,7 +11,6 @@ import org.apache.catalina.Context
import org.apache.catalina.startup.Tomcat
import org.apache.tomcat.JarScanFilter
import org.apache.tomcat.JarScanType
import spock.lang.Unroll
import java.lang.reflect.Field
@ -82,7 +81,6 @@ class TomcatServlet3Test extends AgentTestRunner {
tomcatServer.destroy()
}
@Unroll
def "test #path servlet call"() {
setup:
def request = new Request.Builder()
@ -122,7 +120,6 @@ class TomcatServlet3Test extends AgentTestRunner {
"sync" | "Hello Sync"
}
@Unroll
def "test #path error servlet call"() {
setup:
def request = new Request.Builder()
@ -163,7 +160,6 @@ class TomcatServlet3Test extends AgentTestRunner {
"sync" | "Hello Sync"
}
@Unroll
def "test #path error servlet call for non-throwing error"() {
setup:
def request = new Request.Builder()

View File

@ -1,7 +1,6 @@
import datadog.trace.agent.test.AgentTestRunner
import datadog.trace.instrumentation.trace_annotation.TraceAnnotationsInstrumentation
import dd.test.trace.annotation.SayTracedHello
import spock.lang.Unroll
import java.util.concurrent.Callable
@ -46,7 +45,6 @@ class ConfiguredTraceAnnotationsTest extends AgentTestRunner {
}
}
@Unroll
def "test configuration #value"() {
setup:
def config = null

View File

@ -1,6 +1,5 @@
import datadog.trace.agent.test.AgentTestRunner
import datadog.trace.instrumentation.trace_annotation.TraceConfigInstrumentation
import spock.lang.Unroll
import java.util.concurrent.Callable
@ -42,7 +41,6 @@ class TraceConfigTest extends AgentTestRunner {
}
}
@Unroll
def "test configuration #value"() {
setup:
def config = null

View File

@ -6,11 +6,9 @@ import datadog.trace.api.DDTags
import datadog.trace.api.sampling.PrioritySampling
import datadog.trace.common.writer.ListWriter
import spock.lang.Specification
import spock.lang.Unroll
class DDSpanSerializationTest extends Specification {
@Unroll
def "serialize spans"() throws Exception {
setup:
final Map<String, String> baggage = new HashMap<>()

View File

@ -4,7 +4,6 @@ import datadog.trace.api.interceptor.MutableSpan
import datadog.trace.api.interceptor.TraceInterceptor
import datadog.trace.common.writer.ListWriter
import spock.lang.Specification
import spock.lang.Unroll
import java.util.concurrent.atomic.AtomicBoolean
@ -65,7 +64,6 @@ class TraceInterceptorTest extends Specification {
1 | true
}
@Unroll
def "interceptor can discard a trace (p=#score)"() {
setup:
def called = new AtomicBoolean(false)
@ -96,7 +94,6 @@ class TraceInterceptorTest extends Specification {
1 | _
}
@Unroll
def "interceptor can modify a span"() {
setup:
tracer.interceptors.add(new TraceInterceptor() {

View File

@ -9,7 +9,6 @@ import io.opentracing.propagation.TextMapExtractAdapter
import io.opentracing.propagation.TextMapInjectAdapter
import spock.lang.Shared
import spock.lang.Specification
import spock.lang.Unroll
class HTTPCodecTest extends Specification {
@Shared
@ -21,7 +20,6 @@ class HTTPCodecTest extends Specification {
@Shared
private static final String SAMPLING_PRIORITY_KEY = "x-datadog-sampling-priority"
@Unroll
def "inject http headers"() {
setup:
def writer = new ListWriter()
@ -65,7 +63,6 @@ class HTTPCodecTest extends Specification {
PrioritySampling.SAMPLER_KEEP | _
}
@Unroll
def "extract http headers"() {
setup:
final Map<String, String> actual = [

View File

@ -10,7 +10,6 @@ import io.opentracing.Span
import io.opentracing.noop.NoopSpan
import spock.lang.Specification
import spock.lang.Subject
import spock.lang.Unroll
import java.util.concurrent.atomic.AtomicBoolean
import java.util.concurrent.atomic.AtomicReference
@ -300,7 +299,6 @@ class ScopeManagerTest extends Specification {
writer == [[childSpan, span]]
}
@Unroll
def "context takes control (#active)"() {
setup:
contexts.each {
@ -322,7 +320,6 @@ class ScopeManagerTest extends Specification {
3 | [new AtomicReferenceScope(false), new AtomicReferenceScope(true), new AtomicReferenceScope(false), new AtomicReferenceScope(true)]
}
@Unroll
def "disabled context is ignored (#contexts.size)"() {
setup:
contexts.each {
@ -372,7 +369,6 @@ class ScopeManagerTest extends Specification {
scopeManager.tlsScope.get() == newScope
}
@Unroll
def "context to threadlocal (#contexts.size)"() {
setup:
contexts.each {

View File

@ -11,7 +11,6 @@ import org.junit.Rule
import org.junit.contrib.java.lang.system.EnvironmentVariables
import org.junit.contrib.java.lang.system.RestoreSystemProperties
import spock.lang.Specification
import spock.lang.Unroll
import static datadog.trace.common.DDTraceConfig.AGENT_HOST
import static datadog.trace.common.DDTraceConfig.AGENT_PORT
@ -132,7 +131,6 @@ class DDTraceConfigTest extends Specification {
"a:b,c:d" | [a: "b", c: "d"]
}
@Unroll
def "verify single override on #source for #key"() {
when:
System.setProperty(PREFIX + key, value)

View File

@ -11,7 +11,6 @@ import ratpack.exec.Blocking
import ratpack.http.Headers
import ratpack.http.MediaType
import spock.lang.Specification
import spock.lang.Unroll
import java.util.concurrent.atomic.AtomicInteger
import java.util.concurrent.atomic.AtomicReference
@ -180,7 +179,6 @@ class DDApiTest extends Specification {
v3Agent.close()
}
@Unroll
def "Api Downgrades to v3 if timeout exceeded (#delayTrace, #badPort)"() {
// This test is unfortunately only exercising the read timeout, not the connect timeout.
setup:

View File

@ -8,7 +8,6 @@ import datadog.trace.common.writer.DDAgentWriter
import datadog.trace.common.writer.DDApi
import datadog.trace.common.writer.ListWriter
import spock.lang.Specification
import spock.lang.Unroll
import java.util.concurrent.TimeUnit
import java.util.concurrent.atomic.AtomicReference
@ -50,7 +49,6 @@ class DDApiIntegrationTest {
return true
}
@Unroll
def "Sending traces succeeds (test #test)"() {
expect:
api.sendTraces(traces)
@ -67,7 +65,6 @@ class DDApiIntegrationTest {
[[new DDSpan(TimeUnit.MILLISECONDS.toMicros(System.currentTimeMillis()), CONTEXT)]] | 4
}
@Unroll
def "Sending bad trace fails (test #test)"() {
expect:
api.sendTraces(traces) == false

View File

@ -49,6 +49,7 @@ dependencies {
testCompile deps.spock
testCompile deps.groovy
testCompile deps.testLogging
testCompile 'info.solidsoft.spock:spock-global-unroll:0.5.1'
testCompile group: 'io.ratpack', name: 'ratpack-groovy-test', version: '1.4.6'
testCompile group: 'com.github.stefanbirkner', name: 'system-rules', version: '1.17.1'
}