Class PitestOperation


public class PitestOperation extends AbstractProcessOperation<PitestOperation>
Mutation testing and coverage with PIT.
Since:
1.0
Author:
Erik C. Thauvin
  • Constructor Details

    • PitestOperation

      public PitestOperation()
  • Method Details

    • executeConstructProcessCommandList

      protected List<String> executeConstructProcessCommandList()
      Part of the AbstractProcessOperation.execute() operation, constructs the command list to use for building the process.
      Specified by:
      executeConstructProcessCommandList in class AbstractProcessOperation<PitestOperation>
    • fromProject

      public PitestOperation fromProject(@NonNull BaseProject project)
      Configures the operation from a BaseProject.

      The source directories will the set the project's source directories during execution, if not already set.

      Specified by:
      fromProject in class AbstractProcessOperation<PitestOperation>
      Parameters:
      project - the project to configure the operation from
      Returns:
      this operation instance
    • argLine

      public PitestOperation argLine(@NonNull String line)
      Line arguments for child JVMs.
      Parameters:
      line - the line arguments
      Returns:
      this operation instance
    • avoidCallsTo

      public final PitestOperation avoidCallsTo(@NonNull Collection<String> values)
      List of packages and classes which are to be considered outside the scope of mutation. Any lines of code containing calls to these classes will not be mutated.

      If a list is not explicitly supplied then PIT will default to a list of common logging packages as follows

      • java.util.logging
      • org.apache.log4j
      • org.slf4j
      • org.apache.commons.logging

      If the feature FLOGCALL is disabled, this parameter is ignored and logging calls are also mutated.

      Parameters:
      values - the list of packages
      Returns:
      this operation instance
      See Also:
    • avoidCallsTo

      public PitestOperation avoidCallsTo(@NonNull String... values)
      List of packages and classes which are to be considered outside the scope of mutation. Any lines of code containing calls to these classes will not be mutated.

      If a list is not explicitly supplied then PIT will default to a list of common logging packages as follows

      • java.util.logging
      • org.apache.log4j
      • org.slf4j
      • org.apache.commons.logging

      If the feature FLOGCALL is disabled, this parameter is ignored and logging calls are also mutated.

      Parameters:
      values - the list of packages
      Returns:
      this operation instance
      See Also:
    • classPath

      public final PitestOperation classPath(@NonNull Collection<String> values)
      List of additional classpath entries to use when looking for tests and mutable code.

      These will be used in addition to the classpath with which PIT is launched.

      Parameters:
      values - the list of paths
      Returns:
      this operation instance
      See Also:
    • classPath

      public PitestOperation classPath(@NonNull String... values)
      List of additional classpath entries to use when looking for tests and mutable code.

      These will be used in addition to the classpath with which PIT is launched.

      Parameters:
      values - one or more paths
      Returns:
      this operation instance
      See Also:
    • classPath

      public PitestOperation classPath(@NonNull File... values)
      List of additional classpath entries to use when looking for tests and mutable code.

      These will be used in addition to the classpath with which PIT is launched.

      Parameters:
      values - one or more paths
      Returns:
      this operation instance
      See Also:
    • classPath

      public PitestOperation classPath(@NonNull Path... values)
      List of additional classpath entries to use when looking for tests and mutable code.

      These will be used in addition to the classpath with which PIT is launched.

      Parameters:
      values - one or more paths
      Returns:
      this operation instance
      See Also:
    • classPathFile

      public PitestOperation classPathFile(@NonNull String file)
      File with a list of additional classpath elements (one per line).
      Parameters:
      file - the file
      Returns:
      this operation instance
      See Also:
    • classPathFile

      public PitestOperation classPathFile(@NonNull File file)
      File with a list of additional classpath elements (one per line).
      Parameters:
      file - the file
      Returns:
      this operation instance
      See Also:
    • classPathFile

      public PitestOperation classPathFile(@NonNull Path path)
      File with a list of additional classpath elements (one per line).
      Parameters:
      path - the file
      Returns:
      this operation instance
      See Also:
    • classPathFiles

      public final PitestOperation classPathFiles(@NonNull Collection<File> values)
      Additional classpath entries to use when looking for tests and mutable code.
      Parameters:
      values - the list of paths
      Returns:
      this operation instance
      See Also:
    • classPathPaths

      public final PitestOperation classPathPaths(@NonNull Collection<Path> values)
      Additional classpath entries to use when looking for tests and mutable code.
      Parameters:
      values - the list of paths
      Returns:
      this operation instance
      See Also:
    • configDir

      public PitestOperation configDir(@NonNull File dir)
      Directory to examine for configuration.
      Parameters:
      dir - the directory
      Returns:
      this operation instance
      See Also:
    • configDir

      public PitestOperation configDir(@NonNull Path dir)
      Directory to examine for configuration.
      Parameters:
      dir - the directory path
      Returns:
      this operation instance
      See Also:
    • configDir

      public PitestOperation configDir(@NonNull String dir)
      Directory to examine for configuration.
      Parameters:
      dir - the directory
      Returns:
      this operation instance
      See Also:
    • coverageThreshold

      public PitestOperation coverageThreshold(int threshold)
      Line coverage threshold below which the build will fail. This is an integer percent (0-100) that represents the fraction of the project covered by the tests.
      Parameters:
      threshold - the threshold
      Returns:
      this operation instance
    • detectInlinedCode

      public PitestOperation detectInlinedCode(boolean value)
      Flag to indicate if PIT should attempt to detect the inlined code generated by the java compiler in order to implement finally blocks. Each copy of the inlined code would normally be mutated separately, resulting in multiple identical looking mutations. When inlined code detection is enabled PIT will attempt to spot inlined code and create only a single mutation that mutates all affected instructions simultaneously.

      The algorithm cannot easily distinguish between inlined copies of code, and genuine duplicate instructions on the same line within a finally block.

      In the case of any doubt PIT will act cautiously and assume that the code is not inlined.

      This will be detected as two separate inlined instructions

       finally {
         int++;
         int++;
       }
       
      But this will look confusing so PIT will assume no in-lining is taking place.
       finally {
         int++; int++;
       }
       
      This sort of pattern might not be common with integer addition, but things like string concatenation are likely to produce multiple similar instructions on the same line.

      Defaults to true

      Parameters:
      value - true or false
      Returns:
      this operation instance
    • dryRun

      public PitestOperation dryRun(boolean value)
      Whether to run in dry run mode.

      Defaults to false

      Parameters:
      value - true or false
      Returns:
      this operation instance
    • excludedClasses

      public final PitestOperation excludedClasses(@NonNull Collection<String> values)
      List of globs to match against class names. Matching classes will be excluded from mutation.
      Parameters:
      values - the excluded classes
      Returns:
      this operation instance
      See Also:
    • excludedClasses

      public PitestOperation excludedClasses(@NonNull String... values)
      List of globs to match against class names. Matching classes will be excluded from mutation.
      Parameters:
      values - the excluded classes
      Returns:
      this operation instance
      See Also:
    • excludedGroups

      public final PitestOperation excludedGroups(@NonNull Collection<String> values)
      List of TestNG groups/JUnit categories to exclude from mutation analysis

      Note that only class level categories are supported.

      Parameters:
      values - the excluded groups
      Returns:
      this operation instance
      See Also:
    • excludedGroups

      public PitestOperation excludedGroups(@NonNull String... values)
      List of TestNG groups/JUnit categories to exclude from mutation analysis

      Note that only class level categories are supported.

      Parameters:
      values - one or more excluded groups
      Returns:
      this operation instance
      See Also:
    • excludedMethods

      public final PitestOperation excludedMethods(@NonNull Collection<String> values)
      List of globs to match against method names. Methods matching the globs will be excluded from mutation.
      Parameters:
      values - the excluded methods
      Returns:
      this operation instance
      See Also:
    • excludedMethods

      public PitestOperation excludedMethods(@NonNull String... values)
      List of globs to match against method names. Methods matching the globs will be excluded from mutation.
      Parameters:
      values - one or more excluded methods
      Returns:
      this operation instance
      See Also:
    • excludedRunners

      public PitestOperation excludedRunners(@NonNull String... runners)
      JUnit4 runners to exclude.
      Parameters:
      runners - the runners
      Returns:
      this operation instance
    • excludedRunners

      public PitestOperation excludedRunners(@NonNull Collection<String> runners)
      JUnit4 runners to exclude.
      Parameters:
      runners - the runners
      Returns:
      this operation instance
    • excludedTestClasses

      public final PitestOperation excludedTestClasses(@NonNull Collection<String> values)
      List of globs to match against test class names. Matching tests will not be run (note if a test suite includes an excluded class, then it will "leak" back in).
      Parameters:
      values - the excluded tests
      Returns:
      this operation instance
      See Also:
    • excludedTestClasses

      public PitestOperation excludedTestClasses(@NonNull String... values)
      List of globs to match against test class names. Matching tests will not be run (note if a test suite includes an excluded class, then it will "leak" back in).
      Parameters:
      values - one or more excluded tests
      Returns:
      this operation instance
      See Also:
    • exportLineCoverage

      public PitestOperation exportLineCoverage(boolean value)
      Whether or not to dump per test line coverage data to disk.

      Defaults to false

      Parameters:
      value - true or false
      Returns:
      this operation instance
    • failWhenNoMutations

      public PitestOperation failWhenNoMutations(boolean value)
      Whether to create a full mutation matrix
      Parameters:
      value - true or false
      Returns:
      this operation instance
    • features

      public final PitestOperation features(@NonNull Collection<String> values)
      List of features to enable/disable
      Parameters:
      values - one or more features
      Returns:
      this operation instance
      See Also:
    • features

      public PitestOperation features(@NonNull String... values)
      List of features to enable/disable
      Parameters:
      values - one or more features
      Returns:
      this operation instance
      See Also:
    • fullMutationMatrix

      public PitestOperation fullMutationMatrix(boolean value)
      Whether to create a full mutation matrix
      Parameters:
      value - true or false
      Returns:
      this operation instance
    • historyInputLocation

      public PitestOperation historyInputLocation(@NonNull String path)
      Path to a file containing history information for incremental analysis.
      Parameters:
      path - the path
      Returns:
      this operation instance
      See Also:
    • historyInputLocation

      public PitestOperation historyInputLocation(@NonNull File path)
      Path to a file containing history information for incremental analysis.
      Parameters:
      path - the path
      Returns:
      this operation instance
      See Also:
    • historyInputLocation

      public PitestOperation historyInputLocation(@NonNull Path path)
      Path to a file containing history information for incremental analysis.
      Parameters:
      path - the path
      Returns:
      this operation instance
      See Also:
    • historyOutputLocation

      public PitestOperation historyOutputLocation(@NonNull String path)
      Path to write history information for incremental analysis. May be the same as historyInputLocation(String).
      Parameters:
      path - the path
      Returns:
      this operation instance
      See Also:
    • historyOutputLocation

      public PitestOperation historyOutputLocation(@NonNull File path)
      Path to write history information for incremental analysis. May be the same as historyInputLocation(String).
      Parameters:
      path - the path
      Returns:
      this operation instance
      See Also:
    • historyOutputLocation

      public PitestOperation historyOutputLocation(@NonNull Path path)
      Path to write history information for incremental analysis. May be the same as historyInputLocation(String).
      Parameters:
      path - the path
      Returns:
      this operation instance
      See Also:
    • includeLaunchClasspath

      public PitestOperation includeLaunchClasspath(boolean value)
      Indicates if the PIT should try to mutate classes on the classpath with which it was launched. If not supplied this flag defaults to true. If set to false only classes found on the paths specified by the classPath

      Defaults to true

      Parameters:
      value - true or false
      Returns:
      this operation instance
    • includedGroups

      public final PitestOperation includedGroups(@NonNull Collection<String> values)
      List of TestNG groups/JUnit categories to include in mutation analysis. Note that only class level categories are supported.
      Parameters:
      values - the list of included groups
      Returns:
      this operation instance
      See Also:
    • includedGroups

      public PitestOperation includedGroups(@NonNull String... values)
      List of TestNG groups/JUnit categories to include in mutation analysis. Note that only class level categories are supported.
      Parameters:
      values - one or more included groups
      Returns:
      this operation instance
    • includedTestMethods

      public PitestOperation includedTestMethods(@NonNull String... testMethod)
      Test methods that should be included for challenging the mutants.
      Parameters:
      testMethod - the test methods
      Returns:
      this operation instance
    • includedTestMethods

      public PitestOperation includedTestMethods(@NonNull Collection<String> testMethod)
      Test methods that should be included for challenging the mutants.
      Parameters:
      testMethod - the test methods
      Returns:
      this operation instance
    • inputEncoding

      public PitestOperation inputEncoding(@NonNull String encoding)
      Input encoding.

      Default is UTF-8.

      Parameters:
      encoding - the encoding
      Returns:
      this operation instance
    • jvmArgs

      public final PitestOperation jvmArgs(@NonNull Collection<String> args)
      Argument string to use when PIT launches child processes. This is most commonly used to increase the amount of memory available to the process, but may be used to pass any valid JVM argument.
      Parameters:
      args - the list of args
      Returns:
      this operation instance
      See Also:
    • jvmArgs

      public PitestOperation jvmArgs(@NonNull String... args)
      Argument string to use when PIT launches child processes. This is most commonly used to increase the amount of memory available to the process, but may be used to pass any valid JVM argument.
      Parameters:
      args - one or more args
      Returns:
      this operation instance
      See Also:
    • jvmPath

      public PitestOperation jvmPath(@NonNull String path)
      The path to the java executable to be used to launch test with. If none is supplied defaults to the one pointed to by JAVA_HOME.
      Parameters:
      path - the path
      Returns:
      this operation instance
      See Also:
    • jvmPath

      public PitestOperation jvmPath(@NonNull File path)
      The path to the java executable to be used to launch test with. If none is supplied defaults to the one pointed to by JAVA_HOME.
      Parameters:
      path - the path
      Returns:
      this operation instance
      See Also:
    • jvmPath

      public PitestOperation jvmPath(@NonNull Path path)
      The path to the java executable to be used to launch test with. If none is supplied defaults to the one pointed to by JAVA_HOME.
      Parameters:
      path - the path
      Returns:
      this operation instance
      See Also:
    • maxMutationsPerClass

      public PitestOperation maxMutationsPerClass(int max)
      Maximum number of surviving mutants to allow without throwing an error.
      Parameters:
      max - the max number
      Returns:
      this operation instance
    • maxSurviving

      public PitestOperation maxSurviving(int max)
      Maximum number of surviving mutants to allow without throwing an error.
      Parameters:
      max - the maximum number
      Returns:
      this operation instance
    • mutableCodePaths

      public final PitestOperation mutableCodePaths(@NonNull Collection<String> values)
      List of classpaths which should be considered to contain mutable code. If your build maintains separate output directories for tests and production classes this parameter should be set to your code output directory in order to avoid mutating test helper classes etc.

      If no mutableCodePath is supplied PIT will default to considering anything not defined within a jar or zip file as being a candidate for mutation.

      PIT will always attempt not to mutate test classes even if they are defined on a mutable path.

      Parameters:
      values - the list of values
      Returns:
      this operation instance
      See Also:
    • mutableCodePaths

      public PitestOperation mutableCodePaths(@NonNull String... values)
      List of classpaths which should be considered to contain mutable code. If your build maintains separate output directories for tests and production classes this parameter should be set to your code output directory in order to avoid mutating test helper classes etc.

      If no mutableCodePath is supplied PIT will default to considering anything not defined within a jar or zip file as being a candidate for mutation.

      PIT will always attempt not to mutate test classes even if they are defined on a mutable path.

      Parameters:
      values - one or more values
      Returns:
      this operation instance
      See Also:
    • mutableCodePaths

      public PitestOperation mutableCodePaths(@NonNull File... values)
      List of classpaths which should be considered to contain mutable code. If your build maintains separate output directories for tests and production classes this parameter should be set to your code output directory in order to avoid mutating test helper classes etc.

      If no mutableCodePath is supplied PIT will default to considering anything not defined within a jar or zip file as being a candidate for mutation.

      PIT will always attempt not to mutate test classes even if they are defined on a mutable path.

      Parameters:
      values - one or more values
      Returns:
      this operation instance
      See Also:
    • mutableCodePaths

      public PitestOperation mutableCodePaths(@NonNull Path... values)
      List of classpaths which should be considered to contain mutable code. If your build maintains separate output directories for tests and production classes this parameter should be set to your code output directory in order to avoid mutating test helper classes etc.

      If no mutableCodePath is supplied PIT will default to considering anything not defined within a jar or zip file as being a candidate for mutation.

      PIT will always attempt not to mutate test classes even if they are defined on a mutable path.

      Parameters:
      values - one or more values
      Returns:
      this operation instance
      See Also:
    • mutableCodePathsFiles

      public final PitestOperation mutableCodePathsFiles(@NonNull Collection<File> values)
      List of classpaths which should be considered to contain mutable code. If your build maintains separate output directories for tests and production classes this parameter should be set to your code output directory in order to avoid mutating test helper classes etc.

      If no mutableCodePath is supplied PIT will default to considering anything not defined within a jar or zip file as being a candidate for mutation.

      PIT will always attempt not to mutate test classes even if they are defined on a mutable path.

      Parameters:
      values - the list of values
      Returns:
      this operation instance
      See Also:
    • mutableCodePathsPaths

      public final PitestOperation mutableCodePathsPaths(@NonNull Collection<Path> values)
      List of classpaths which should be considered to contain mutable code. If your build maintains separate output directories for tests and production classes this parameter should be set to your code output directory in order to avoid mutating test helper classes etc.

      If no mutableCodePath is supplied PIT will default to considering anything not defined within a jar or zip file as being a candidate for mutation.

      PIT will always attempt not to mutate test classes even if they are defined on a mutable path.

      Parameters:
      values - the list of values
      Returns:
      this operation instance
      See Also:
    • mutationEngine

      public PitestOperation mutationEngine(@NonNull String engine)
      Mutation engine to use.

      Defaults to gregor

      Parameters:
      engine - the engine
      Returns:
      this operation instance
    • mutationThreshold

      public PitestOperation mutationThreshold(int threshold)
      Mutation score threshold below which the build will fail. This is an integer percent (0-100) that represents the fraction of killed mutations out of all mutations.

      Please bear in mind that your build may contain equivalent mutations. Careful thought must therefore be given when selecting a threshold.

      Parameters:
      threshold - the threshold
      Returns:
      this operation instance
    • mutationUnitSize

      public PitestOperation mutationUnitSize(int size)
      Maximum number of mutations to include.
      Parameters:
      size - the size
      Returns:
      this operation instance
    • mutators

      public final PitestOperation mutators(@NonNull Collection<String> values)
      List of mutation operators.
      Parameters:
      values - one or more mutators
      Returns:
      this operation instance
      See Also:
    • mutators

      public PitestOperation mutators(@NonNull String... values)
      List of mutation operators.
      Parameters:
      values - the list of mutators
      Returns:
      this operation instance
      See Also:
    • options

      public Map<String,String> options()
      Returns the PIT options.
      Returns:
      the mutable map of options
    • outputEncoding

      public PitestOperation outputEncoding(@NonNull String encoding)
      Output encoding.

      Default is UTF-8.

      Parameters:
      encoding - the encoding
      Returns:
      this operation instance
    • outputFormats

      public PitestOperation outputFormats(@NonNull PitestOperation.OutputFormat... formats)
      A list of formats in which to write mutation results as the mutations are analysed.

      Supported formats are PitestOperation.OutputFormat.HTML, PitestOperation.OutputFormat.XML, PitestOperation.OutputFormat.CSV.

      Defaults to PitestOperation.OutputFormat.HTML.

      Parameters:
      formats - one or more output formats
      Returns:
      this operation instance
    • pluginConfiguration

      public PitestOperation pluginConfiguration(@NonNull Map<String,String> configuration)
      Custom plugin properties.
      Parameters:
      configuration - the configuration keys and values
      Returns:
      this operation instance
    • projectBase

      public PitestOperation projectBase(@NonNull String file)
      Project base.
      Parameters:
      file - the file
      Returns:
      this operations instance
      See Also:
    • projectBase

      public PitestOperation projectBase(@NonNull File file)
      Project base.
      Parameters:
      file - the file
      Returns:
      this operations instance
      See Also:
    • projectBase

      public PitestOperation projectBase(@NonNull Path file)
      Project base.
      Parameters:
      file - the file
      Returns:
      this operations instance
      See Also:
    • reportDir

      public PitestOperation reportDir(@NonNull String dir)
      Output directory for the reports.
      Parameters:
      dir - the directory
      Returns:
      this operation instance
      See Also:
    • reportDir

      public PitestOperation reportDir(@NonNull File dir)
      Output directory for the reports.
      Parameters:
      dir - the directory
      Returns:
      this operation instance
      See Also:
    • reportDir

      public PitestOperation reportDir(@NonNull Path dir)
      Output directory for the reports.
      Parameters:
      dir - the directory
      Returns:
      this operation instance
      See Also:
    • skipFailingTests

      public PitestOperation skipFailingTests(boolean value)
      Whether to ignore failing tests when computing coverage.

      Default is false

      Parameters:
      value - true or false
      Returns:
      this operation instance
    • sourceDirs

      public PitestOperation sourceDirs(@NonNull String... dirs)
      The folder(s) containing the source code.
      Parameters:
      dirs - one or more directories
      Returns:
      this operation instance
      See Also:
    • sourceDirs

      public PitestOperation sourceDirs(@NonNull File... dirs)
      The folder(s) containing the source code.
      Parameters:
      dirs - one or more directories
      Returns:
      this operation instance
      See Also:
    • sourceDirs

      public PitestOperation sourceDirs(@NonNull Path... dirs)
      The folder(s) containing the source code.
      Parameters:
      dirs - one or more directories
      Returns:
      this operation instance
      See Also:
    • sourceDirs

      public final PitestOperation sourceDirs(@NonNull Collection<String> dirs)
      The folder(s) containing the source code.
      Parameters:
      dirs - the list of directories
      Returns:
      this operation instance
      See Also:
    • sourceDirsFiles

      public final PitestOperation sourceDirsFiles(@NonNull Collection<File> dirs)
      The folder(s) containing the source code.
      Parameters:
      dirs - the list of directories
      Returns:
      this operation instance
      See Also:
    • sourceDirsPaths

      public final PitestOperation sourceDirsPaths(@NonNull Collection<Path> dirs)
      The folder(s) containing the source code.
      Parameters:
      dirs - the list of directories
      Returns:
      this operation instance
      See Also:
    • targetClasses

      public final PitestOperation targetClasses(@NonNull Collection<String> values)
      The classes to be mutated. This is expressed as a list of globs.

      For example:

      • com.mycompany.*
      • com.mycompany.package.*, com.mycompany.packageB.Foo, com.partner.*

      Parameters:
      values - the list of target classes
      Returns:
      this operation instance
      See Also:
    • targetClasses

      public PitestOperation targetClasses(@NonNull String... values)
      The classes to be mutated. This is expressed as a list of globs.

      For example:

      • com.mycompany.*
      • com.mycompany.package.*, com.mycompany.packageB.Foo, com.partner.*

      Parameters:
      values - one or more target classes
      Returns:
      this operation instance
      See Also:
    • targetTests

      public final PitestOperation targetTests(@NonNull Collection<String> values)
      A list of globs can be supplied to this parameter to limit the tests available to be run. If this parameter is not supplied then any test fixture that matched targetClasses may be used, it is however recommended that this parameter is always explicitly set.

      This parameter can be used to point PIT to a top level suite or suites. Custom suites such as ClassPathSuite are supported.

      Parameters:
      values - the list of tests
      Returns:
      this operation instance
      See Also:
    • targetTests

      public PitestOperation targetTests(@NonNull String... values)
      A list of globs can be supplied to this parameter to limit the tests available to be run. If this parameter is not supplied then any test fixture that matched targetClasses may be used, it is however recommended that this parameter is always explicitly set.

      This parameter can be used to point PIT to a top level suite or suites. Custom suites such as ClassPathSuite are supported.

      Parameters:
      values - one or more tests
      Returns:
      this operation instance
      See Also:
    • testStrengthThreshold

      public PitestOperation testStrengthThreshold(int threshold)
      Test strength score below which to throw an error.

      Threshold must be between 0 and 100.

      Parameters:
      threshold - the threshold
      Returns:
      this operation instance
    • threads

      public PitestOperation threads(int threads)
      The number of threads to use when mutation testing.
      Parameters:
      threads - the threads count
      Returns:
      this operation instance
    • timeoutConst

      public PitestOperation timeoutConst(int factor)
      Constant amount of additional time to allow a test to run for (after the application of the timeoutFactor) before considering it to be stuck in an infinite loop.

      Defaults to 4000

      Parameters:
      factor - the factor amount
      Returns:
      this operation instance
    • timeoutFactor

      public PitestOperation timeoutFactor(double factor)
      A factor to apply to the normal runtime of a test when considering if it is stuck in an infinite loop.

      Defaults to 1.25

      Parameters:
      factor - the factor
      Returns:
      this operation instance
    • timestampedReports

      public PitestOperation timestampedReports(boolean value)
      By default, PIT will create a date and time stamped folder for its output each time it is run. This can can make automation difficult, so the behaviour can be suppressed by passing false.

      Defaults to false

      Parameters:
      value - true or false
      Returns:
      this operation instance
    • useClasspathJar

      public PitestOperation useClasspathJar(boolean value)
      Support large classpaths by creating a classpath jar.

      Defaults to false

      Parameters:
      value - true or false
      Returns:
      this operation instance
    • verbose

      public PitestOperation verbose(boolean value)
      Output verbose logging.

      Defaults to false

      Parameters:
      value - true or false
      Returns:
      this operation instance
    • verbosity

      public PitestOperation verbosity(PitestOperation.Verbosity verbosity)
      The verbosity of output.

      Defaults to Verbosity.DEFAULT

      Parameters:
      verbosity - the verbosity
      Returns:
      this operation instance