Skip testing jetty QueuedThreadPool when dispatch method is missing (#2010)

This commit is contained in:
Lauri Tulmin 2021-01-11 20:48:18 +02:00 committed by GitHub
parent 077d8b64f6
commit 4bf86bec74
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 9 additions and 2 deletions

View File

@ -3,18 +3,22 @@
* SPDX-License-Identifier: Apache-2.0 * SPDX-License-Identifier: Apache-2.0
*/ */
import static io.opentelemetry.instrumentation.test.utils.TraceUtils.runUnderTrace
import static org.junit.Assume.assumeTrue
import io.opentelemetry.instrumentation.test.AgentTestRunner import io.opentelemetry.instrumentation.test.AgentTestRunner
import io.opentelemetry.javaagent.instrumentation.jetty.JavaLambdaMaker import io.opentelemetry.javaagent.instrumentation.jetty.JavaLambdaMaker
import io.opentelemetry.sdk.trace.data.SpanData import io.opentelemetry.sdk.trace.data.SpanData
import org.eclipse.jetty.util.thread.QueuedThreadPool import org.eclipse.jetty.util.thread.QueuedThreadPool
import static io.opentelemetry.instrumentation.test.utils.TraceUtils.runUnderTrace
class QueuedThreadPoolTest extends AgentTestRunner { class QueuedThreadPoolTest extends AgentTestRunner {
def "QueueThreadPool 'dispatch' propagates"() { def "QueueThreadPool 'dispatch' propagates"() {
setup: setup:
def pool = new QueuedThreadPool() def pool = new QueuedThreadPool()
// run test only if QueuedThreadPool has dispatch method
// dispatch method was removed in jetty 9.1
assumeTrue(pool.metaClass.getMetaMethod("dispatch", Runnable) != null)
pool.start() pool.start()
new Runnable() { new Runnable() {
@ -51,6 +55,9 @@ class QueuedThreadPoolTest extends AgentTestRunner {
def "QueueThreadPool 'dispatch' propagates lambda"() { def "QueueThreadPool 'dispatch' propagates lambda"() {
setup: setup:
def pool = new QueuedThreadPool() def pool = new QueuedThreadPool()
// run test only if QueuedThreadPool has dispatch method
// dispatch method was removed in jetty 9.1
assumeTrue(pool.metaClass.getMetaMethod("dispatch", Runnable) != null)
pool.start() pool.start()
JavaAsyncChild child = new JavaAsyncChild(true, true) JavaAsyncChild child = new JavaAsyncChild(true, true)