Skip to content

Commit 5497d99

Browse files
junit4.13 muzzle check
1 parent b4f036b commit 5497d99

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

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

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
import datadog.trace.agent.tooling.InstrumenterModule;
99
import datadog.trace.bootstrap.instrumentation.api.AgentScope;
1010
import net.bytebuddy.asm.Advice;
11+
import org.junit.runner.manipulation.InvalidOrderingException;
12+
import org.junit.runner.manipulation.Ordering;
1113
import org.junit.runners.model.FrameworkMethod;
1214

1315
@AutoService(InstrumenterModule.class)
@@ -29,7 +31,7 @@ public String[] knownMatchingTypes() {
2931
@Override
3032
public String[] helperClassNames() {
3133
return new String[] {
32-
packageName + ".BeforeAfterOperationsTracer",
34+
packageName + ".JUnit4BeforeAfterOperationsTracer",
3335
};
3436
}
3537

@@ -44,12 +46,21 @@ public void methodAdvice(MethodTransformer transformer) {
4446
public static class RunBeforesAftersAdvice {
4547
@Advice.OnMethodEnter(suppress = Throwable.class)
4648
public static AgentScope startCallSpan(@Advice.Argument(0) final FrameworkMethod method) {
47-
return BeforeAfterOperationsTracer.startTrace(method.getMethod());
49+
return JUnit4BeforeAfterOperationsTracer.startTrace(method.getMethod());
4850
}
4951

5052
@Advice.OnMethodExit(onThrowable = Throwable.class, suppress = Throwable.class)
5153
public static void finishCallSpan(@Advice.Enter final AgentScope scope) {
52-
BeforeAfterOperationsTracer.endTrace(scope);
54+
JUnit4BeforeAfterOperationsTracer.endTrace(scope);
55+
}
56+
57+
// JUnit 4.13 and above
58+
public static void muzzleCheck(final Ordering ord) {
59+
try {
60+
ord.apply(null);
61+
} catch (InvalidOrderingException e) {
62+
throw new RuntimeException(e);
63+
}
5364
}
5465
}
5566
}

dd-java-agent/instrumentation/junit-4.10/junit-4.13/src/main/java/datadog/trace/instrumentation/junit4/BeforeAfterOperationsTracer.java renamed to dd-java-agent/instrumentation/junit-4.10/junit-4.13/src/main/java/datadog/trace/instrumentation/junit4/JUnit4BeforeAfterOperationsTracer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import org.junit.Before;
1111
import org.junit.BeforeClass;
1212

13-
public class BeforeAfterOperationsTracer {
13+
public class JUnit4BeforeAfterOperationsTracer {
1414
public static AgentScope startTrace(final Method method) {
1515
final AgentSpan span = AgentTracer.startSpan("junit", method.getName());
1616
if (method.isAnnotationPresent(Before.class)) {

0 commit comments

Comments
 (0)