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

class TimeoutExtension extends 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 interface 
     

    Nested classes/interfaces inherited from interface org.junit.jupiter.api.extension.InvocationInterceptor

    org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<T>
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private static final String
     
    private static final String
     
    private static final String
     
    private static final String
     
    private static final org.junit.jupiter.api.extension.ExtensionContext.Namespace
     
    private static final String
     
    private static final String
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    beforeAll(org.junit.jupiter.api.extension.ExtensionContext context)
     
    void
    beforeEach(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<Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext, TimeoutDuration timeout)
     
    private String
    describe(org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)
     
    private org.junit.jupiter.api.Timeout.ThreadMode
    getAnnotationThreadMode(org.junit.jupiter.api.extension.ExtensionContext extensionContext)
     
    getDefaultTimeout(org.junit.jupiter.api.extension.ExtensionContext extensionContext, TimeoutExtension.TimeoutProvider defaultTimeoutProvider)
     
    getGlobalTimeoutConfiguration(org.junit.jupiter.api.extension.ExtensionContext extensionContext)
     
    private <T> T
    intercept(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<T> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext, TimeoutDuration explicitTimeout, TimeoutExtension.TimeoutProvider defaultTimeoutProvider)
     
    void
    interceptAfterAllMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)
     
    void
    interceptAfterEachMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)
     
    void
    interceptBeforeAllMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)
     
    void
    interceptBeforeEachMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)
     
    private void
    interceptLifecycleMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext, TimeoutExtension.TimeoutProvider defaultTimeoutProvider)
     
    private <T> T
    interceptTestableMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<T> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext, TimeoutExtension.TimeoutProvider defaultTimeoutProvider)
     
    <T> T
    interceptTestFactoryMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<T> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)
     
    void
    interceptTestMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)
     
    void
    interceptTestTemplateMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)
     
    private boolean
    Determine if timeouts are disabled for the supplied mode.
    private boolean
    isTimeoutDisabled(org.junit.jupiter.api.extension.ExtensionContext extensionContext)
    Determine if timeouts are disabled for the supplied extension context.
    private void
    readAndStoreTimeoutSoChildrenInheritIt(org.junit.jupiter.api.extension.ExtensionContext context)
     
     
    private Optional<org.junit.jupiter.api.Timeout.ThreadMode>
     
    private org.junit.jupiter.api.Timeout.ThreadMode
    resolveTimeoutThreadMode(org.junit.jupiter.api.extension.ExtensionContext extensionContext)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.junit.jupiter.api.extension.InvocationInterceptor

    interceptDynamicTest, interceptDynamicTest, interceptTestClassConstructor
  • Field Details

  • Constructor Details

    • TimeoutExtension

      TimeoutExtension()
  • Method Details

    • beforeAll

      public void beforeAll(org.junit.jupiter.api.extension.ExtensionContext context)
      Specified by:
      beforeAll in interface org.junit.jupiter.api.extension.BeforeAllCallback
    • beforeEach

      public void beforeEach(org.junit.jupiter.api.extension.ExtensionContext context)
      Specified by:
      beforeEach in interface org.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<Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws Throwable
      Specified by:
      interceptBeforeAllMethod in interface org.junit.jupiter.api.extension.InvocationInterceptor
      Throws:
      Throwable
    • interceptBeforeEachMethod

      public void interceptBeforeEachMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws Throwable
      Specified by:
      interceptBeforeEachMethod in interface org.junit.jupiter.api.extension.InvocationInterceptor
      Throws:
      Throwable
    • interceptTestMethod

      public void interceptTestMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws Throwable
      Specified by:
      interceptTestMethod in interface org.junit.jupiter.api.extension.InvocationInterceptor
      Throws:
      Throwable
    • interceptTestTemplateMethod

      public void interceptTestTemplateMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws Throwable
      Specified by:
      interceptTestTemplateMethod in interface org.junit.jupiter.api.extension.InvocationInterceptor
      Throws:
      Throwable
    • interceptTestFactoryMethod

      public <T> T interceptTestFactoryMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<T> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws Throwable
      Specified by:
      interceptTestFactoryMethod in interface org.junit.jupiter.api.extension.InvocationInterceptor
      Throws:
      Throwable
    • interceptAfterEachMethod

      public void interceptAfterEachMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws Throwable
      Specified by:
      interceptAfterEachMethod in interface org.junit.jupiter.api.extension.InvocationInterceptor
      Throws:
      Throwable
    • interceptAfterAllMethod

      public void interceptAfterAllMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws Throwable
      Specified by:
      interceptAfterAllMethod in interface org.junit.jupiter.api.extension.InvocationInterceptor
      Throws:
      Throwable
    • interceptLifecycleMethod

      private void interceptLifecycleMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext, TimeoutExtension.TimeoutProvider defaultTimeoutProvider) throws Throwable
      Throws:
      Throwable
    • readTimeoutFromAnnotation

      private Optional<TimeoutDuration> readTimeoutFromAnnotation(Optional<AnnotatedElement> element)
    • readTimeoutThreadModeFromAnnotation

      private Optional<org.junit.jupiter.api.Timeout.ThreadMode> readTimeoutThreadModeFromAnnotation(Optional<AnnotatedElement> element)
    • interceptTestableMethod

      private <T> T interceptTestableMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<T> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext, TimeoutExtension.TimeoutProvider defaultTimeoutProvider) throws Throwable
      Throws:
      Throwable
    • intercept

      private <T> T intercept(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<T> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext, TimeoutDuration explicitTimeout, TimeoutExtension.TimeoutProvider defaultTimeoutProvider) throws Throwable
      Throws:
      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<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 String describe(org.junit.jupiter.api.extension.ReflectiveInvocationContext<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(String mode)
      Determine if timeouts are disabled for the supplied mode.