Skip to content

Commit 66f7b9f

Browse files
nikita-tkachenko-datadogamarziali
authored andcommitted
Do not apply JUnit 4 instrumentation to MUnit runners (#8675)
1 parent eb18875 commit 66f7b9f

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

dd-java-agent/instrumentation/junit-4.10/src/main/java/datadog/trace/instrumentation/junit4/JUnit4Instrumentation.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import static datadog.trace.agent.tooling.bytebuddy.matcher.HierarchyMatchers.extendsClass;
44
import static datadog.trace.agent.tooling.bytebuddy.matcher.HierarchyMatchers.implementsInterface;
5+
import static datadog.trace.agent.tooling.bytebuddy.matcher.NameMatchers.nameStartsWith;
56
import static datadog.trace.agent.tooling.bytebuddy.matcher.NameMatchers.named;
67
import static net.bytebuddy.matcher.ElementMatchers.isConstructor;
78
import static net.bytebuddy.matcher.ElementMatchers.not;
@@ -54,6 +55,9 @@ public ElementMatcher<TypeDescription> hierarchyMatcher() {
5455
// do not instrument Karate JUnit 4 runner
5556
// since Karate has a dedicated instrumentation
5657
.and(not(extendsClass(named("com.intuit.karate.junit4.Karate"))))
58+
// do not instrument MUnit-JUnit 4 interface runner
59+
// since MUnit has a dedicated instrumentation
60+
.and(not(extendsClass(nameStartsWith("munit.internal.junitinterface."))))
5761
// PowerMock runner is being instrumented,
5862
// so do not instrument its internal delegates
5963
.and(

dd-java-agent/instrumentation/junit-4.10/src/main/java/datadog/trace/instrumentation/junit4/JUnit4Utils.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -348,6 +348,8 @@ public static TestFrameworkInstrumentation runnerToFramework(Runner runner) {
348348
return TestFrameworkInstrumentation.KARATE;
349349
} else if (runnerClassName.startsWith("io.cucumber")) {
350350
return TestFrameworkInstrumentation.CUCUMBER;
351+
} else if (runnerClassName.startsWith("munit.internal.junitinterface")) {
352+
return TestFrameworkInstrumentation.MUNIT;
351353
} else {
352354
return TestFrameworkInstrumentation.JUNIT4;
353355
}

0 commit comments

Comments
 (0)