szpak / gradle-pitest-plugin

Gradle plugin for PIT Mutation Testing
http://gradle-pitest-plugin.solidsoft.info/
212 stars 57 forks source link

Plugin does not work with JUnit Jupiter 5.8.x #300

Closed x80486 closed 2 years ago

x80486 commented 2 years ago

I'm using the info.solidsoft.pitest version 1.6.0 Gradle plugin with JUnit Jupiter:

pitest {
  exportLineCoverage.set(true)
  junit5PluginVersion.set("0.12")
  outputFormats.set(["HTML", "XML"])
  targetClasses.set(["org.acme.*"])
  timestampedReports.set(false)
}

This works fine with JUnit version 5.7.x, but the newer 5.8.x breaks the pitest task with something like this:

[x80486@uplink:~/Workshop/gradle-template]$ ./gradlew clean pitest 
To honour the JVM settings for this build a single-use Daemon process will be forked. See https://docs.gradle.org/7.2/userguide/gradle_daemon.html#sec:disabling_the_daemon.
Daemon will be stopped at the end of the build 
Reckoned version: 0.5.3-SNAPSHOT
> Task :clean
> Task :compileJava
> Task :generateGitProperties
> Task :processResources
> Task :classes
> Task :compileTestJava
> Task :processTestResources
> Task :testClasses

> Task :pitest FAILED
10:04:10 PM PIT >> INFO : ---------------------------------------------------------------------------
10:04:10 PM PIT >> INFO : Enabled (+) and disabled (-) features.
10:04:10 PM PIT >> INFO : -----------------------------------------
10:04:10 PM PIT >> INFO : +FANN           Filters mutations in classes and methods with matching annotations of class or runtime retention
10:04:10 PM PIT >> INFO :   [annotation]    Annotation to avoid (full package name not required)
10:04:10 PM PIT >> INFO : +FENUM          Filters mutations in enum constructors
10:04:10 PM PIT >> INFO : +FFBLOCK        Filters mutations in code duplicated by finally block inlining
10:04:10 PM PIT >> INFO : +FFEACH         Filters mutations in compiler generated code that implements for each loops
10:04:10 PM PIT >> INFO : +FFLOOP         Filters any mutations to increments in for loops as they may cause timeouts
10:04:10 PM PIT >> INFO : +FINFINC        Filters mutations to increments that may cause infinite loops
10:04:10 PM PIT >> INFO : +FINFIT         Filters mutations that may cause infinite loops by removing calls to iterator.next
10:04:10 PM PIT >> INFO : +FINULL         Filters mutations in compiler generated code that checks for null by calling getClass
10:04:10 PM PIT >> INFO : +FKOTLIN        Filters out junk mutations in bytecode created by compiler for kotlin language features
10:04:10 PM PIT >> INFO : +FLOGCALL       Filters mutations in code that makes calls to logging frameworks
10:04:10 PM PIT >> INFO : +FMRNULL        Filters mutations in compiler generated code that inserts Objects.requireNonNull for method references
10:04:10 PM PIT >> INFO : +FRETEQUIV      Filters return vals mutants with bytecode equivalent to the unmutated class
10:04:10 PM PIT >> INFO : +FSEQUIVEQUALS  Filters equivalent mutations that affect only performance in short cutting equals methods
10:04:10 PM PIT >> INFO : +FSTATI         Filters mutations in static initializers and code called only from them
10:04:10 PM PIT >> INFO : +FSTATINIT      Filters mutations in static initializers and code called only from them
10:04:10 PM PIT >> INFO : +FTRYWR         Filters mutations in code generated for try with resources statements
10:04:10 PM PIT >> INFO : +_internal_activate_by_output_string
10:04:10 PM PIT >> INFO : -CLASSLIMIT     Limits the maximum number of mutations per class
10:04:10 PM PIT >> INFO :   [limit]         Integer value for maximum mutations to create per class
10:04:10 PM PIT >> INFO : -EXPORT         Exports mutants bytecode and other details to disk
10:04:10 PM PIT >> INFO : ---------------------------------------------------------------------------
10:04:10 PM PIT >> FINE : Running report with ReportOptions [targetClasses=[org.acme.*], excludedMethods=[], excludedClasses=[], excludedTestClasses=[], codePaths=[/home/x80486/Workshop/gradle-template/build/classes/java/main], reportDir=/home/x80486/Workshop/gradle-template/build/reports/pitest, historyInputLocation=null, historyOutputLocation=null, sourceDirs=[/home/x80486/Workshop/gradle-template/src/main/resources, /home/x80486/Workshop/gradle-template/src/main/java], classPathElements=[/home/x80486/.gradle/caches/modules-2/files-2.1/org.pitest/pitest-junit5-plugin/0.12/6e1ee587a3457b0e7d636a5ce2e554fac62ec99/pitest-junit5-plugin-0.12.jar, /home/x80486/.gradle/caches/modules-2/files-2.1/org.pitest/pitest/1.6.3/5971784b9a846ba5e33db4e0e4be13619358c1d5/pitest-1.6.3.jar, /home/x80486/Workshop/gradle-template/build/classes/java/test, /home/x80486/Workshop/gradle-template/build/resources/test, /home/x80486/Workshop/gradle-template/build/classes/java/main, /home/x80486/Workshop/gradle-template/build/resources/main, /home/x80486/.gradle/caches/modules-2/files-2.1/ch.qos.logback/logback-classic/1.2.6/b09efa852337fa0dd9859614389eec58dc287116/logback-classic-1.2.6.jar, /home/x80486/.gradle/caches/modules-2/files-2.1/io.github.cdimascio/dotenv-java/2.2.0/fd7d87e8f0c68bcd5610114102a53118ae65db9/dotenv-java-2.2.0.jar, /home/x80486/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-lang3/3.12.0/c6842c86792ff03b9f1d1fe2aab8dc23aa6c6f0e/commons-lang3-3.12.0.jar, /home/x80486/.gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-api/1.7.32/cdcff33940d9f2de763bc41ea05a0be5941176c3/slf4j-api-1.7.32.jar, /home/x80486/.gradle/caches/modules-2/files-2.1/org.junit.jupiter/junit-jupiter-engine/5.8.0/422c9d0bcaf4c75a801129153b1b1fb8e784af30/junit-jupiter-engine-5.8.0.jar, /home/x80486/.gradle/caches/modules-2/files-2.1/org.junit.jupiter/junit-jupiter-api/5.8.0/1afdba46bfdf3f23de4910f5f257be8d3dcfc3c7/junit-jupiter-api-5.8.0.jar, /home/x80486/.gradle/caches/modules-2/files-2.1/org.junit.platform/junit-platform-engine/1.8.0/df563b4b876815365950929d02adfa4ebc5fcbb2/junit-platform-engine-1.8.0.jar, /home/x80486/.gradle/caches/modules-2/files-2.1/org.junit.platform/junit-platform-commons/1.8.0/db17f7b69968e4b64e3ee979f933aa1d3f8fde8f/junit-platform-commons-1.8.0.jar, /home/x80486/.gradle/caches/modules-2/files-2.1/org.assertj/assertj-core/3.20.2/66f1f0ebd6db2b24e4a731979171da16ba919cd5/assertj-core-3.20.2.jar, /home/x80486/.gradle/caches/modules-2/files-2.1/ch.qos.logback/logback-core/1.2.6/25be1abb32e870ff042e698a799b56587e0dca9a/logback-core-1.2.6.jar, /home/x80486/.gradle/caches/modules-2/files-2.1/org.opentest4j/opentest4j/1.2.0/28c11eb91f9b6d8e200631d46e20a7f407f2a046/opentest4j-1.2.0.jar], mutators=[], features=[], dependencyAnalysisMaxDistance=-1, jvmArgs=[-Djava.awt.headless=true], numberOfThreads=1, timeoutFactor=1.25, timeoutConstant=4000, targetTests=[^org\.acme\..*$], loggingClasses=[], maxMutationsPerClass=0, verbose=true, failWhenNoMutations=true, outputs=[HTML, XML], groupConfig=TestGroupConfig [excludedGroups=[], includedGroups=[]], fullMutationMatrix=false, mutationUnitSize=0, shouldCreateTimestampedReports=false, detectInlinedCode=false, exportLineCoverage=true, mutationThreshold=0, testStrengthThreshold=0, coverageThreshold=0, mutationEngine=gregor, javaExecutable=null, includeLaunchClasspath=false, properties={}, maxSurvivors=-1, excludedRunners=[], includedTestMethods=[], testPlugin=junit5, useClasspathJar=false, skipFailingTests=false]
10:04:10 PM PIT >> FINE : System class path is /home/x80486/.gradle/caches/modules-2/files-2.1/org.pitest/pitest-command-line/1.6.3/92e4353a534a2323229db2f34819953fe5fc51f9/pitest-command-line-1.6.3.jar:/home/x80486/.gradle/caches/modules-2/files-2.1/org.pitest/pitest-junit5-plugin/0.12/6e1ee587a3457b0e7d636a5ce2e554fac62ec99/pitest-junit5-plugin-0.12.jar:/home/x80486/.gradle/caches/modules-2/files-2.1/org.pitest/pitest-entry/1.6.3/280b75eebd7e2feb5255e5b492845006f9a3f0a5/pitest-entry-1.6.3.jar:/home/x80486/.gradle/caches/modules-2/files-2.1/org.pitest/pitest/1.6.3/5971784b9a846ba5e33db4e0e4be13619358c1d5/pitest-1.6.3.jar
10:04:10 PM PIT >> FINE : Maximum available memory is 7992 mb
10:04:10 PM PIT >> FINE : MINION : Installing PIT agent
10:04:10 PM PIT >> INFO : Sending 2 test classes to minion
10:04:10 PM PIT >> INFO : Sent tests to minion
10:04:10 PM PIT >> INFO : MINION : 10:04:10 PM PIT >> FINE : Expecting 2 tests classes from parent
10:04:10 PM PIT >> INFO : MINION : 10:04:10 PM PIT >> FINE : Tests classes received
10:04:10 PM PIT >> INFO : MINION : 10:04:10 PM PIT >> INFO : Checking environment
10:04:10 PM PIT >> FINE : MINION : org.junit.platform.commons.JUnitException: TestEngine with ID 'junit-jupiter' failed to discover tests
10:04:10 PM PIT >> FINE : MINION :      at org.junit.platform.launcher.core.DefaultLauncher.discoverEngineRoot(DefaultLauncher.java:189)
10:04:10 PM PIT >> FINE : MINION :      at org.junit.platform.launcher.core.DefaultLauncher.discoverRoot(DefaultLauncher.java:168)
10:04:10 PM PIT >> FINE : MINION :      at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:132)
10:04:10 PM PIT >> FINE : MINION :      at org.pitest.junit5.JUnit5TestUnitFinder.findTestUnits(JUnit5TestUnitFinder.java:79)
10:04:10 PM PIT >> FINE : MINION :      at org.pitest.testapi.execute.FindTestUnits.findTestUnits(FindTestUnits.java:57)
10:04:10 PM PIT >> FINE : MINION :      at org.pitest.testapi.execute.FindTestUnits.getTestUnits(FindTestUnits.java:40)
10:04:10 PM PIT >> FINE : MINION :      at org.pitest.testapi.execute.FindTestUnits.findTestUnitsForAllSuppliedClasses(FindTestUnits.java:29)
10:04:10 PM PIT >> FINE : MINION :      at org.pitest.coverage.execute.CoverageMinion.discoverTests(CoverageMinion.java:155)
10:04:10 PM PIT >> FINE : MINION :      at org.pitest.coverage.execute.CoverageMinion.getTestsFromParent(CoverageMinion.java:136)
10:04:10 PM PIT >> FINE : MINION :      at org.pitest.coverage.execute.CoverageMinion.main(CoverageMinion.java:83)
10:04:10 PM PIT >> FINE : MINION : Caused by: org.junit.platform.commons.JUnitException: ClassSelector [className = 'org.acme.ApplicationTest'] resolution failed
10:04:10 PM PIT >> FINE : MINION :      at org.junit.platform.launcher.listeners.discovery.AbortOnFailureLauncherDiscoveryListener.selectorProcessed(AbortOnFailureLauncherDiscoveryListener.java:39)
10:04:10 PM PIT >> FINE : MINION :      at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.resolveCompletely(EngineDiscoveryRequestResolution.java:102)
10:04:10 PM PIT >> FINE : MINION :      at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.run(EngineDiscoveryRequestResolution.java:82)
10:04:10 PM PIT >> FINE : MINION :      at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolver.resolve(EngineDiscoveryRequestResolver.java:113)
10:04:10 PM PIT >> FINE : MINION :      at org.junit.jupiter.engine.discovery.DiscoverySelectorResolver.resolveSelectors(DiscoverySelectorResolver.java:46)
10:04:10 PM PIT >> FINE : MINION :      at org.junit.jupiter.engine.JupiterTestEngine.discover(JupiterTestEngine.java:69)
10:04:10 PM PIT >> FINE : MINION :      at org.junit.platform.launcher.core.DefaultLauncher.discoverEngineRoot(DefaultLauncher.java:181)
10:04:10 PM PIT >> FINE : MINION :      ... 9 more
10:04:10 PM PIT >> FINE : MINION : Caused by: java.lang.NoSuchMethodError: 'java.util.Optional org.junit.platform.commons.util.AnnotationUtils.findAnnotation(java.lang.Class, java.lang.Class, boolean)'
10:04:10 PM PIT >> FINE : MINION :      at org.junit.jupiter.engine.descriptor.DisplayNameUtils.getDisplayNameGenerator(DisplayNameUtils.java:110)
10:04:10 PM PIT >> FINE : MINION :      at org.junit.jupiter.engine.descriptor.DisplayNameUtils.lambda$createDisplayNameSupplierForClass$2(DisplayNameUtils.java:98)
10:04:10 PM PIT >> FINE : MINION :      at org.junit.jupiter.engine.descriptor.DisplayNameUtils.determineDisplayName(DisplayNameUtils.java:88)
10:04:10 PM PIT >> FINE : MINION :      at org.junit.jupiter.engine.descriptor.JupiterTestDescriptor.<init>(JupiterTestDescriptor.java:69)
10:04:10 PM PIT >> FINE : MINION :      at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.<init>(ClassBasedTestDescriptor.java:96)
10:04:10 PM PIT >> FINE : MINION :      at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.<init>(ClassTestDescriptor.java:51)
10:04:10 PM PIT >> FINE : MINION :      at org.junit.jupiter.engine.discovery.ClassSelectorResolver.newClassTestDescriptor(ClassSelectorResolver.java:119)
10:04:10 PM PIT >> FINE : MINION :      at org.junit.jupiter.engine.discovery.ClassSelectorResolver.lambda$resolve$0(ClassSelectorResolver.java:71)
10:04:10 PM PIT >> FINE : MINION :      at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution$DefaultContext.createAndAdd(EngineDiscoveryRequestResolution.java:246)
10:04:10 PM PIT >> FINE : MINION :      at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution$DefaultContext.addToParent(EngineDiscoveryRequestResolution.java:209)
10:04:10 PM PIT >> FINE : MINION :      at org.junit.jupiter.engine.discovery.ClassSelectorResolver.resolve(ClassSelectorResolver.java:71)
10:04:10 PM PIT >> FINE : MINION :      at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.lambda$resolve$2(EngineDiscoveryRequestResolution.java:134)
10:04:10 PM PIT >> FINE : MINION :      at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
10:04:10 PM PIT >> FINE : MINION :      at java.base/java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1632)
10:04:10 PM PIT >> FINE : MINION :      at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:127)
10:04:10 PM PIT >> FINE : MINION :      at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:502)
10:04:10 PM PIT >> FINE : MINION :      at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:488)
10:04:10 PM PIT >> FINE : MINION :      at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
10:04:10 PM PIT >> INFO : MINION : 10:04:10 PM PIT >> SEVERE : Error calculating coverage. Process will exit.
10:04:10 PM PIT >> FINE : MINION :      at java.base/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150)
10:04:10 PM PIT >> INFO : MINION : org.junit.platform.commons.JUnitException: TestEngine with ID 'junit-jupiter' failed to discover tests
10:04:10 PM PIT >> FINE : MINION :      at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
10:04:10 PM PIT >> INFO : MINION :      at org.junit.platform.launcher.core.DefaultLauncher.discoverEngineRoot(DefaultLauncher.java:189)
10:04:10 PM PIT >> FINE : MINION :      at java.base/java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:543)
10:04:10 PM PIT >> INFO : MINION :      at org.junit.platform.launcher.core.DefaultLauncher.discoverRoot(DefaultLauncher.java:168)
10:04:10 PM PIT >> FINE : MINION :      at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.resolve(EngineDiscoveryRequestResolution.java:185)
10:04:10 PM PIT >> INFO : MINION :      at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:132)
10:04:10 PM PIT >> FINE : MINION :      at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.resolve(EngineDiscoveryRequestResolution.java:125)
10:04:10 PM PIT >> INFO : MINION :      at org.pitest.junit5.JUnit5TestUnitFinder.findTestUnits(JUnit5TestUnitFinder.java:79)
10:04:10 PM PIT >> FINE : MINION :      at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.resolveCompletely(EngineDiscoveryRequestResolution.java:91)
10:04:10 PM PIT >> INFO : MINION :      at org.pitest.testapi.execute.FindTestUnits.findTestUnits(FindTestUnits.java:57)
10:04:10 PM PIT >> INFO : MINION :      at org.pitest.testapi.execute.FindTestUnits.getTestUnits(FindTestUnits.java:40)
10:04:10 PM PIT >> FINE : MINION :      ... 14 more
10:04:10 PM PIT >> INFO : MINION :      at org.pitest.testapi.execute.FindTestUnits.findTestUnitsForAllSuppliedClasses(FindTestUnits.java:29)
10:04:10 PM PIT >> INFO : MINION :      at org.pitest.coverage.execute.CoverageMinion.discoverTests(CoverageMinion.java:155)
10:04:10 PM PIT >> INFO : MINION :      at org.pitest.coverage.execute.CoverageMinion.getTestsFromParent(CoverageMinion.java:136)
10:04:10 PM PIT >> INFO : MINION :      at org.pitest.coverage.execute.CoverageMinion.main(CoverageMinion.java:83)
10:04:10 PM PIT >> INFO : MINION : Caused by: org.junit.platform.commons.JUnitException: ClassSelector [className = 'org.acme.ApplicationTest'] resolution failed
10:04:10 PM PIT >> INFO : MINION :      at org.junit.platform.launcher.listeners.discovery.AbortOnFailureLauncherDiscoveryListener.selectorProcessed(AbortOnFailureLauncherDiscoveryListener.java:39)
10:04:10 PM PIT >> INFO : MINION :      at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.resolveCompletely(EngineDiscoveryRequestResolution.java:102)
10:04:10 PM PIT >> INFO : MINION :      at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.run(EngineDiscoveryRequestResolution.java:82)
10:04:10 PM PIT >> INFO : MINION :      at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolver.resolve(EngineDiscoveryRequestResolver.java:113)
10:04:10 PM PIT >> INFO : MINION :      at org.junit.jupiter.engine.discovery.DiscoverySelectorResolver.resolveSelectors(DiscoverySelectorResolver.java:46)
10:04:10 PM PIT >> INFO : MINION :      at org.junit.jupiter.engine.JupiterTestEngine.discover(JupiterTestEngine.java:69)
10:04:10 PM PIT >> INFO : MINION :      at org.junit.platform.launcher.core.DefaultLauncher.discoverEngineRoot(DefaultLauncher.java:181)
10:04:10 PM PIT >> INFO : MINION :      ... 9 more
10:04:10 PM PIT >> INFO : MINION : Caused by: java.lang.NoSuchMethodError: 'java.util.Optional org.junit.platform.commons.util.AnnotationUtils.findAnnotation(java.lang.Class, java.lang.Class, boolean)'
10:04:10 PM PIT >> INFO : MINION :      at org.junit.jupiter.engine.descriptor.DisplayNameUtils.getDisplayNameGenerator(DisplayNameUtils.java:110)
10:04:10 PM PIT >> INFO : MINION :      at org.junit.jupiter.engine.descriptor.DisplayNameUtils.lambda$createDisplayNameSupplierForClass$2(DisplayNameUtils.java:98)
10:04:10 PM PIT >> INFO : MINION :      at org.junit.jupiter.engine.descriptor.DisplayNameUtils.determineDisplayName(DisplayNameUtils.java:88)
10:04:10 PM PIT >> INFO : MINION :      at org.junit.jupiter.engine.descriptor.JupiterTestDescriptor.<init>(JupiterTestDescriptor.java:69)
10:04:10 PM PIT >> INFO : MINION :      at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.<init>(ClassBasedTestDescriptor.java:96)
10:04:10 PM PIT >> INFO : MINION :      at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.<init>(ClassTestDescriptor.java:51)
10:04:10 PM PIT >> INFO : MINION :      at org.junit.jupiter.engine.discovery.ClassSelectorResolver.newClassTestDescriptor(ClassSelectorResolver.java:119)
10:04:10 PM PIT >> INFO : MINION :      at org.junit.jupiter.engine.discovery.ClassSelectorResolver.lambda$resolve$0(ClassSelectorResolver.java:71)
10:04:10 PM PIT >> INFO : MINION :      at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution$DefaultContext.createAndAdd(EngineDiscoveryRequestResolution.java:246)
10:04:10 PM PIT >> INFO : MINION :      at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution$DefaultContext.addToParent(EngineDiscoveryRequestResolution.java:209)
10:04:10 PM PIT >> INFO : MINION :      at org.junit.jupiter.engine.discovery.ClassSelectorResolver.resolve(ClassSelectorResolver.java:71)
10:04:10 PM PIT >> INFO : MINION :      at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.lambda$resolve$2(EngineDiscoveryRequestResolution.java:134)
10:04:10 PM PIT >> INFO : MINION :      at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
10:04:10 PM PIT >> SEVERE : Coverage generator Minion exited abnormally due to UNKNOWN_ERROR
10:04:10 PM PIT >> INFO : MINION :      at java.base/java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1632)
10:04:10 PM PIT >> INFO : MINION :      at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:127)
10:04:10 PM PIT >> INFO : MINION :      at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:502)
10:04:10 PM PIT >> INFO : MINION :      at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:488)
10:04:10 PM PIT >> INFO : MINION :      at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
10:04:10 PM PIT >> INFO : MINION :      at java.base/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150)
10:04:10 PM PIT >> INFO : MINION :      at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
10:04:10 PM PIT >> INFO : MINION :      at java.base/java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:543)
10:04:10 PM PIT >> INFO : MINION :      at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.resolve(EngineDiscoveryRequestResolution.java:185)
10:04:10 PM PIT >> INFO : MINION :      at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.resolve(EngineDiscoveryRequestResolution.java:125)
10:04:10 PM PIT >> INFO : MINION :      at org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.resolveCompletely(EngineDiscoveryRequestResolution.java:91)
10:04:10 PM PIT >> INFO : MINION :      ... 14 more
10:04:10 PM PIT >> FINE : No longer able to read stream.
Exception in thread "main" org.pitest.util.PitError: Coverage generation minion exited abnormally!

Please copy and paste the information and the complete stacktrace below when reporting an issue
VM : OpenJDK 64-Bit Server VM
Vendor : Amazon.com Inc.
Version : 11.0.10+9-LTS
Uptime : 546
Input -> 
 1 : -Dfile.encoding=UTF-8
 2 : -Duser.country=US
 3 : -Duser.language=en
 4 : -Duser.variant
BootClassPathSupported : false

Please copy and paste the information and the complete stacktrace below when reporting an issue
VM : OpenJDK 64-Bit Server VM
Vendor : Amazon.com Inc.
Version : 11.0.10+9-LTS
Uptime : 547
Input -> 
 1 : -Dfile.encoding=UTF-8
 2 : -Duser.country=US
 3 : -Duser.language=en
 4 : -Duser.variant
BootClassPathSupported : false

        at org.pitest.util.Unchecked.translateCheckedException(Unchecked.java:20)
        at org.pitest.coverage.execute.DefaultCoverageGenerator.calculateCoverage(DefaultCoverageGenerator.java:105)
        at org.pitest.coverage.execute.DefaultCoverageGenerator.calculateCoverage(DefaultCoverageGenerator.java:51)
        at org.pitest.mutationtest.tooling.MutationCoverage.runReport(MutationCoverage.java:115)
        at org.pitest.mutationtest.tooling.EntryPoint.execute(EntryPoint.java:121)
        at org.pitest.mutationtest.tooling.EntryPoint.execute(EntryPoint.java:50)
        at org.pitest.mutationtest.commandline.MutationCoverageReport.runReport(MutationCoverageReport.java:98)
        at org.pitest.mutationtest.commandline.MutationCoverageReport.main(MutationCoverageReport.java:45)
Caused by: org.pitest.util.PitError: Coverage generation minion exited abnormally!

Please copy and paste the information and the complete stacktrace below when reporting an issue
VM : OpenJDK 64-Bit Server VM
Vendor : Amazon.com Inc.
Version : 11.0.10+9-LTS
Uptime : 546
Input -> 
 1 : -Dfile.encoding=UTF-8
 2 : -Duser.country=US
 3 : -Duser.language=en
 4 : -Duser.variant
BootClassPathSupported : false

        at org.pitest.coverage.execute.DefaultCoverageGenerator.gatherCoverageData(DefaultCoverageGenerator.java:148)
        at org.pitest.coverage.execute.DefaultCoverageGenerator.calculateCoverage(DefaultCoverageGenerator.java:89)
        ... 6 more

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':pitest'.
> Process 'command '/home/x80486/.asdf/installs/java/corretto-11.0.10.9.1/bin/java'' finished with non-zero exit value 1

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

See https://docs.gradle.org/7.2/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 6s
7 actionable tasks: 7 executed

Not sure if this is a JUnit problem, or if it does fall on the Pitest side...so starting here 😎

hcoles commented 2 years ago

You look to be using version 0.12 of the junit 5 plugin

junit5PluginVersion.set("0.12")

JUnit 5.8.x support was added in 0.15

szpak commented 2 years ago

I would suggest the same as Henry.

x80486 commented 2 years ago

All right, with junit5PluginVersion version 0.15 definitely works. I can't find any references to this parameter — or how it's updated. It's always set at 0.12 in all examples.'

Thanks for the tip 🥳

szpak commented 2 years ago

Good point @x80486. Would you like to create w PR with proposes changes in README? :-)

Probably some information in the https://github.com/szpak/gradle-pitest-plugin#junit-5-plugin-for-pit-support-gradle-pitest-plugin-147 section would be enough.

szpak commented 2 years ago

Sorry for bothering you @x80486. Working on a regression test for JUnit 5.7/5.8, I also updated the README file (will be visible in master together with the 1.7.0 release - probably tomorrow).

Feel free to create an another PR, if you still would like to improve something in the documentation or the project itself :-).