Class ProviderFactory.ProviderProxy

java.lang.Object
org.apache.maven.surefire.booter.ProviderFactory.ProviderProxy
All Implemented Interfaces:
SurefireProvider
Enclosing class:
ProviderFactory

private final class ProviderFactory.ProviderProxy extends Object implements SurefireProvider
  • Field Details

    • providerInOtherClassLoader

      private final Object providerInOtherClassLoader
    • testsClassLoader

      private final ClassLoader testsClassLoader
  • Constructor Details

    • ProviderProxy

      private ProviderProxy(Object providerInOtherClassLoader, ClassLoader testsClassLoader)
  • Method Details

    • getSuites

      public Iterable<Class<?>> getSuites()
      Description copied from interface: SurefireProvider
      Determines the number of forks.
      Called when forkmode is different from "never" or "always", allows the provider to define how to behave for the fork.
      Specified by:
      getSuites in interface SurefireProvider
      Returns:
      An iterator that will trigger one fork per item
    • invoke

      public RunResult invoke(Object forkTestSet) throws ReporterException, InvocationTargetException
      Description copied from interface: SurefireProvider
      Runs a forked test
      Specified by:
      invoke in interface SurefireProvider
      Parameters:
      forkTestSet - An item from the iterator in #getSuites. Will be null for forkmode never or always. When this is non-null, the forked process will run only that test and probably not scan the classpath
      Returns:
      A result of the invocation
      Throws:
      ReporterException - When reporting fails
      InvocationTargetException - fails in ProviderFactory
    • swapClassLoader

      private ClassLoader swapClassLoader(ClassLoader newClassLoader)
    • cancel

      public void cancel()
      Description copied from interface: SurefireProvider
      Makes an attempt at cancelling the current run, giving the provider a chance to notify reporting that the remaining tests have been cancelled due to timeout.
      If the provider thinks it can terminate properly it is the responsibility of the invoke method to return a RunResult with a booter code of failure.
      It is up to the provider to find out how to implement this method properly. A provider may also choose to not do anything at all in this method, which means surefire will kill the forked process soon afterwards anyway.
      Will be called on a different thread than the one calling invoke.
      Specified by:
      cancel in interface SurefireProvider