44import static com .datadog .debugger .exception .DefaultExceptionDebugger .DD_DEBUG_ERROR_EXCEPTION_ID ;
55import static com .datadog .debugger .exception .DefaultExceptionDebugger .ERROR_DEBUG_INFO_CAPTURED ;
66import static com .datadog .debugger .exception .DefaultExceptionDebugger .SNAPSHOT_ID_TAG_FMT ;
7- import static com .datadog .debugger .exception . ExceptionProbeManagerTest . waitForInstrumentation ;
7+ import static com .datadog .debugger .util . TestHelper . assertWithTimeout ;
88import static org .junit .jupiter .api .Assertions .assertEquals ;
99import static org .junit .jupiter .api .Assertions .assertTrue ;
1010import static org .mockito .Mockito .mock ;
3232import datadog .trace .core .CoreTracer ;
3333import java .lang .instrument .ClassFileTransformer ;
3434import java .lang .instrument .Instrumentation ;
35+ import java .time .Duration ;
3536import java .util .Arrays ;
3637import java .util .Map ;
3738import java .util .Set ;
@@ -80,7 +81,8 @@ public void onlyInstrument() throws Exception {
8081 Class <?> testClass = compileAndLoadClass (CLASS_NAME );
8182 String fingerprint =
8283 callMethodThrowingRuntimeException (testClass ); // instrument exception stacktrace
83- waitForInstrumentation (exceptionProbeManager , fingerprint );
84+ assertWithTimeout (
85+ () -> exceptionProbeManager .isAlreadyInstrumented (fingerprint ), Duration .ofSeconds (30 ));
8486 assertEquals (2 , exceptionProbeManager .getProbes ().size ());
8587 callMethodNoException (testClass );
8688 assertEquals (0 , listener .snapshots .size ());
@@ -96,7 +98,8 @@ public void instrumentAndCaptureSnapshots() throws Exception {
9698 Class <?> testClass = compileAndLoadClass (CLASS_NAME );
9799 String fingerprint =
98100 callMethodThrowingRuntimeException (testClass ); // instrument exception stacktrace
99- waitForInstrumentation (exceptionProbeManager , fingerprint );
101+ assertWithTimeout (
102+ () -> exceptionProbeManager .isAlreadyInstrumented (fingerprint ), Duration .ofSeconds (30 ));
100103 assertEquals (2 , exceptionProbeManager .getProbes ().size ());
101104 callMethodThrowingRuntimeException (testClass ); // generate snapshots
102105 Map <String , Set <String >> probeIdsByMethodName =
@@ -125,11 +128,13 @@ public void differentExceptionsSameStack() throws Exception {
125128 Class <?> testClass = compileAndLoadClass (CLASS_NAME );
126129 // instrument RuntimeException stacktrace
127130 String fingerprint0 = callMethodThrowingRuntimeException (testClass );
128- waitForInstrumentation (exceptionProbeManager , fingerprint0 );
131+ assertWithTimeout (
132+ () -> exceptionProbeManager .isAlreadyInstrumented (fingerprint0 ), Duration .ofSeconds (30 ));
129133 assertEquals (2 , exceptionProbeManager .getProbes ().size ());
130134 // instrument IllegalArgumentException stacktrace
131135 String fingerprint1 = callMethodThrowingIllegalArgException (testClass );
132- waitForInstrumentation (exceptionProbeManager , fingerprint1 );
136+ assertWithTimeout (
137+ () -> exceptionProbeManager .isAlreadyInstrumented (fingerprint1 ), Duration .ofSeconds (30 ));
133138 assertEquals (4 , exceptionProbeManager .getProbes ().size ());
134139 Map <String , Set <String >> probeIdsByMethodName =
135140 extractProbeIdsByMethodName (exceptionProbeManager );
0 commit comments