HHH-16911 Don't wait for 3m in the self-test of ClassLoaderLeaksUtilityTest

This commit is contained in:
Sanne Grinovero 2023-07-30 23:42:00 +01:00 committed by Sanne Grinovero
parent ed88d050f8
commit 4af306f2c2
3 changed files with 9 additions and 2 deletions

View File

@ -38,6 +38,11 @@ public final class ClassLoaderLeakDetector {
return PhantomReferenceLeakDetector.verifyActionNotLeaking( () -> actionInClassloader( fullClassnameOfRunnableAction ) );
}
static boolean verifyActionNotLeakingClassloader(String fullClassnameOfRunnableAction, final int gcAttempts, final int totalWaitSeconds) {
Objects.requireNonNull( fullClassnameOfRunnableAction );
return PhantomReferenceLeakDetector.verifyActionNotLeaking( () -> actionInClassloader( fullClassnameOfRunnableAction ), gcAttempts, totalWaitSeconds );
}
public static ClassLoader actionInClassloader(final String actionName) {
final Thread currentThread = Thread.currentThread();
final ClassLoader initialClassloader = currentThread.getContextClassLoader();

View File

@ -16,7 +16,9 @@ public class ClassLoaderLeaksUtilityTest {
@Test
public void testClassLoaderLeaksDetected() {
Assert.assertFalse( ClassLoaderLeakDetector.verifyActionNotLeakingClassloader( "org.hibernate.orm.test.bootstrap.registry.classloading.LeakingTestAction" ) );
//N.B. since we expect to timeout in this case, reduce the timeouts to not require
//a significant amount of time during each ORM test run.
Assert.assertFalse( ClassLoaderLeakDetector.verifyActionNotLeakingClassloader( "org.hibernate.orm.test.bootstrap.registry.classloading.LeakingTestAction", 2 , 2 ) );
}
@Test