Package se.jiderhamn.classloader.leak
Class JUnitClassloaderRunner.SeparateClassLoaderInvokeMethod
java.lang.Object
org.junit.runners.model.Statement
org.junit.internal.runners.statements.InvokeMethod
se.jiderhamn.classloader.leak.JUnitClassloaderRunner.SeparateClassLoaderInvokeMethod
- Enclosing class:
- JUnitClassloaderRunner
private class JUnitClassloaderRunner.SeparateClassLoaderInvokeMethod
extends org.junit.internal.runners.statements.InvokeMethod
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final boolean
Automatically generate a heap dump of classloader could not be garbage collected?private final boolean
Is the test method expeced to leak?private final boolean
Should the thread pause for a couple of seconds before throwing the test failed error? Set this to true to allow some time to aquire a heap dump to track down leaks.private final String[]
Packages to be ignored byRedefiningClassLoader
.private final Method
The method to run for triggering potential leak, or verify non-leakClass that can be used to remove the leak -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate
SeparateClassLoaderInvokeMethod
(org.junit.runners.model.FrameworkMethod testMethod, Object target) private
SeparateClassLoaderInvokeMethod
(org.junit.runners.model.FrameworkMethod testMethod, Object target, Class<? extends Runnable> preventorClass, PackagesLoadedOutsideClassLoader packagesLoadedOutsideClassLoader) -
Method Summary
Modifier and TypeMethodDescriptionvoid
evaluate()
private void
performErrorActions
(String testName) Call only if there is a leak
-
Field Details
-
originalMethod
The method to run for triggering potential leak, or verify non-leak -
expectedLeak
private final boolean expectedLeakIs the test method expeced to leak? -
haltBeforeError
private final boolean haltBeforeErrorShould the thread pause for a couple of seconds before throwing the test failed error? Set this to true to allow some time to aquire a heap dump to track down leaks. -
dumpHeapOnError
private final boolean dumpHeapOnErrorAutomatically generate a heap dump of classloader could not be garbage collected? -
preventorClass
Class that can be used to remove the leak -
ignoredPackages
Packages to be ignored byRedefiningClassLoader
. If null, will use defaults.
-
-
Constructor Details
-
SeparateClassLoaderInvokeMethod
private SeparateClassLoaderInvokeMethod(org.junit.runners.model.FrameworkMethod testMethod, Object target) -
SeparateClassLoaderInvokeMethod
private SeparateClassLoaderInvokeMethod(org.junit.runners.model.FrameworkMethod testMethod, Object target, Class<? extends Runnable> preventorClass, PackagesLoadedOutsideClassLoader packagesLoadedOutsideClassLoader)
-
-
Method Details
-
evaluate
- Overrides:
evaluate
in classorg.junit.internal.runners.statements.InvokeMethod
- Throws:
Throwable
-
performErrorActions
Call only if there is a leak- Throws:
InterruptedException
-