Class TimeoutExtension
- java.lang.Object
-
- org.junit.jupiter.engine.extension.TimeoutExtension
-
- All Implemented Interfaces:
org.junit.jupiter.api.extension.BeforeAllCallback,org.junit.jupiter.api.extension.BeforeEachCallback,org.junit.jupiter.api.extension.Extension,org.junit.jupiter.api.extension.InvocationInterceptor,org.junit.jupiter.api.extension.TestInstantiationAwareExtension
class TimeoutExtension extends java.lang.Object implements org.junit.jupiter.api.extension.BeforeAllCallback, org.junit.jupiter.api.extension.BeforeEachCallback, org.junit.jupiter.api.extension.InvocationInterceptor- Since:
- 5.5
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static interfaceTimeoutExtension.TimeoutProvider
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.StringDISABLED_MODE_VALUEprivate static java.lang.StringDISABLED_ON_DEBUG_MODE_VALUEprivate static java.lang.StringENABLED_MODE_VALUEprivate static java.lang.StringGLOBAL_TIMEOUT_CONFIG_KEYprivate static org.junit.jupiter.api.extension.ExtensionContext.NamespaceNAMESPACEprivate static java.lang.StringTESTABLE_METHOD_TIMEOUT_KEYprivate static java.lang.StringTESTABLE_METHOD_TIMEOUT_THREAD_MODE_KEY
-
Constructor Summary
Constructors Constructor Description TimeoutExtension()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbeforeAll(org.junit.jupiter.api.extension.ExtensionContext context)voidbeforeEach(org.junit.jupiter.api.extension.ExtensionContext context)private <T> org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<T>decorate(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<T> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<java.lang.reflect.Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext, TimeoutDuration timeout)private java.lang.Stringdescribe(org.junit.jupiter.api.extension.ReflectiveInvocationContext<java.lang.reflect.Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)private org.junit.jupiter.api.Timeout.ThreadModegetAnnotationThreadMode(org.junit.jupiter.api.extension.ExtensionContext extensionContext)private TimeoutDurationgetDefaultTimeout(org.junit.jupiter.api.extension.ExtensionContext extensionContext, TimeoutExtension.TimeoutProvider defaultTimeoutProvider)private TimeoutConfigurationgetGlobalTimeoutConfiguration(org.junit.jupiter.api.extension.ExtensionContext extensionContext)org.junit.jupiter.api.extension.TestInstantiationAwareExtension.ExtensionContextScopegetTestInstantiationExtensionContextScope(org.junit.jupiter.api.extension.ExtensionContext rootContext)private <T> Tintercept(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<T> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<java.lang.reflect.Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext, TimeoutDuration explicitTimeout, TimeoutExtension.TimeoutProvider defaultTimeoutProvider)voidinterceptAfterAllMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<java.lang.Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<java.lang.reflect.Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)voidinterceptAfterEachMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<java.lang.Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<java.lang.reflect.Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)voidinterceptBeforeAllMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<java.lang.Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<java.lang.reflect.Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)voidinterceptBeforeEachMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<java.lang.Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<java.lang.reflect.Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)private voidinterceptLifecycleMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<java.lang.Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<java.lang.reflect.Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext, TimeoutExtension.TimeoutProvider defaultTimeoutProvider)private <T> TinterceptTestableMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<T> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<java.lang.reflect.Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext, TimeoutExtension.TimeoutProvider defaultTimeoutProvider)<T> TinterceptTestFactoryMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<T> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<java.lang.reflect.Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)voidinterceptTestMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<java.lang.Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<java.lang.reflect.Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)voidinterceptTestTemplateMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<java.lang.Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<java.lang.reflect.Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)private booleanisTimeoutDisabled(java.lang.String mode)Determine if timeouts are disabled for the supplied mode.private booleanisTimeoutDisabled(org.junit.jupiter.api.extension.ExtensionContext extensionContext)Determine if timeouts are disabled for the supplied extension context.private voidreadAndStoreTimeoutSoChildrenInheritIt(org.junit.jupiter.api.extension.ExtensionContext context)private java.util.Optional<TimeoutDuration>readTimeoutFromAnnotation(java.util.Optional<java.lang.reflect.AnnotatedElement> element)private java.util.Optional<org.junit.jupiter.api.Timeout.ThreadMode>readTimeoutThreadModeFromAnnotation(java.util.Optional<java.lang.reflect.AnnotatedElement> element)private org.junit.jupiter.api.Timeout.ThreadModeresolveTimeoutThreadMode(org.junit.jupiter.api.extension.ExtensionContext extensionContext)
-
-
-
Field Detail
-
NAMESPACE
private static final org.junit.jupiter.api.extension.ExtensionContext.Namespace NAMESPACE
-
TESTABLE_METHOD_TIMEOUT_KEY
private static final java.lang.String TESTABLE_METHOD_TIMEOUT_KEY
- See Also:
- Constant Field Values
-
TESTABLE_METHOD_TIMEOUT_THREAD_MODE_KEY
private static final java.lang.String TESTABLE_METHOD_TIMEOUT_THREAD_MODE_KEY
- See Also:
- Constant Field Values
-
GLOBAL_TIMEOUT_CONFIG_KEY
private static final java.lang.String GLOBAL_TIMEOUT_CONFIG_KEY
- See Also:
- Constant Field Values
-
ENABLED_MODE_VALUE
private static final java.lang.String ENABLED_MODE_VALUE
- See Also:
- Constant Field Values
-
DISABLED_MODE_VALUE
private static final java.lang.String DISABLED_MODE_VALUE
- See Also:
- Constant Field Values
-
DISABLED_ON_DEBUG_MODE_VALUE
private static final java.lang.String DISABLED_ON_DEBUG_MODE_VALUE
- See Also:
- Constant Field Values
-
-
Method Detail
-
getTestInstantiationExtensionContextScope
public org.junit.jupiter.api.extension.TestInstantiationAwareExtension.ExtensionContextScope getTestInstantiationExtensionContextScope(org.junit.jupiter.api.extension.ExtensionContext rootContext)
- Specified by:
getTestInstantiationExtensionContextScopein interfaceorg.junit.jupiter.api.extension.TestInstantiationAwareExtension
-
beforeAll
public void beforeAll(org.junit.jupiter.api.extension.ExtensionContext context)
- Specified by:
beforeAllin interfaceorg.junit.jupiter.api.extension.BeforeAllCallback
-
beforeEach
public void beforeEach(org.junit.jupiter.api.extension.ExtensionContext context)
- Specified by:
beforeEachin interfaceorg.junit.jupiter.api.extension.BeforeEachCallback
-
readAndStoreTimeoutSoChildrenInheritIt
private void readAndStoreTimeoutSoChildrenInheritIt(org.junit.jupiter.api.extension.ExtensionContext context)
-
interceptBeforeAllMethod
public void interceptBeforeAllMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<java.lang.Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<java.lang.reflect.Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws java.lang.Throwable- Specified by:
interceptBeforeAllMethodin interfaceorg.junit.jupiter.api.extension.InvocationInterceptor- Throws:
java.lang.Throwable
-
interceptBeforeEachMethod
public void interceptBeforeEachMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<java.lang.Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<java.lang.reflect.Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws java.lang.Throwable- Specified by:
interceptBeforeEachMethodin interfaceorg.junit.jupiter.api.extension.InvocationInterceptor- Throws:
java.lang.Throwable
-
interceptTestMethod
public void interceptTestMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<java.lang.Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<java.lang.reflect.Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws java.lang.Throwable- Specified by:
interceptTestMethodin interfaceorg.junit.jupiter.api.extension.InvocationInterceptor- Throws:
java.lang.Throwable
-
interceptTestTemplateMethod
public void interceptTestTemplateMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<java.lang.Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<java.lang.reflect.Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws java.lang.Throwable- Specified by:
interceptTestTemplateMethodin interfaceorg.junit.jupiter.api.extension.InvocationInterceptor- Throws:
java.lang.Throwable
-
interceptTestFactoryMethod
public <T> T interceptTestFactoryMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<T> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<java.lang.reflect.Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws java.lang.Throwable- Specified by:
interceptTestFactoryMethodin interfaceorg.junit.jupiter.api.extension.InvocationInterceptor- Throws:
java.lang.Throwable
-
interceptAfterEachMethod
public void interceptAfterEachMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<java.lang.Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<java.lang.reflect.Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws java.lang.Throwable- Specified by:
interceptAfterEachMethodin interfaceorg.junit.jupiter.api.extension.InvocationInterceptor- Throws:
java.lang.Throwable
-
interceptAfterAllMethod
public void interceptAfterAllMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<java.lang.Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<java.lang.reflect.Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws java.lang.Throwable- Specified by:
interceptAfterAllMethodin interfaceorg.junit.jupiter.api.extension.InvocationInterceptor- Throws:
java.lang.Throwable
-
interceptLifecycleMethod
private void interceptLifecycleMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<java.lang.Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<java.lang.reflect.Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext, TimeoutExtension.TimeoutProvider defaultTimeoutProvider) throws java.lang.Throwable- Throws:
java.lang.Throwable
-
readTimeoutFromAnnotation
private java.util.Optional<TimeoutDuration> readTimeoutFromAnnotation(java.util.Optional<java.lang.reflect.AnnotatedElement> element)
-
readTimeoutThreadModeFromAnnotation
private java.util.Optional<org.junit.jupiter.api.Timeout.ThreadMode> readTimeoutThreadModeFromAnnotation(java.util.Optional<java.lang.reflect.AnnotatedElement> element)
-
interceptTestableMethod
private <T> T interceptTestableMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<T> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<java.lang.reflect.Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext, TimeoutExtension.TimeoutProvider defaultTimeoutProvider) throws java.lang.Throwable- Throws:
java.lang.Throwable
-
intercept
private <T> T intercept(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<T> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<java.lang.reflect.Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext, TimeoutDuration explicitTimeout, TimeoutExtension.TimeoutProvider defaultTimeoutProvider) throws java.lang.Throwable- Throws:
java.lang.Throwable
-
getDefaultTimeout
private TimeoutDuration getDefaultTimeout(org.junit.jupiter.api.extension.ExtensionContext extensionContext, TimeoutExtension.TimeoutProvider defaultTimeoutProvider)
-
getGlobalTimeoutConfiguration
private TimeoutConfiguration getGlobalTimeoutConfiguration(org.junit.jupiter.api.extension.ExtensionContext extensionContext)
-
decorate
private <T> org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<T> decorate(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<T> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<java.lang.reflect.Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext, TimeoutDuration timeout)
-
resolveTimeoutThreadMode
private org.junit.jupiter.api.Timeout.ThreadMode resolveTimeoutThreadMode(org.junit.jupiter.api.extension.ExtensionContext extensionContext)
-
getAnnotationThreadMode
private org.junit.jupiter.api.Timeout.ThreadMode getAnnotationThreadMode(org.junit.jupiter.api.extension.ExtensionContext extensionContext)
-
describe
private java.lang.String describe(org.junit.jupiter.api.extension.ReflectiveInvocationContext<java.lang.reflect.Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)
-
isTimeoutDisabled
private boolean isTimeoutDisabled(org.junit.jupiter.api.extension.ExtensionContext extensionContext)
Determine if timeouts are disabled for the supplied extension context.
-
isTimeoutDisabled
private boolean isTimeoutDisabled(java.lang.String mode)
Determine if timeouts are disabled for the supplied mode.
-
-