Open ricardosm opened 3 years ago
Facing the exact same issue. Did you/anyone else find a solution?
I'm assuming jqwik is built on junit5. Is the pitest junit 5 plugin configured?
Yup, it's on the platform. I'm not sure what you mean by configured, but when we mix in "regular" @Test
units from JUnit5 then these get picked up.
As far as I can tell, everything is in the classpath. Here's a verbose dump:
22:45:55 PIT >> INFO : ---------------------------------------------------------------------------
22:45:55 PIT >> INFO : Enabled (+) and disabled (-) features.
22:45:55 PIT >> INFO : -----------------------------------------
22:45:55 PIT >> INFO : +FANN Filters mutations in classes and methods with matching annotations of class or runtime retention
22:45:55 PIT >> INFO : [annotation] Annotation to avoid (full package name not required)
22:45:55 PIT >> INFO : +FENUM Filters mutations in enum constructors
22:45:55 PIT >> INFO : +FFBLOCK Filters mutations in code duplicated by finally block inlining
22:45:55 PIT >> INFO : +FFEACH Filters mutations in compiler generated code that implements for each loops
22:45:55 PIT >> INFO : +FFLOOP Filters any mutations to increments in for loops as they may cause timeouts
22:45:55 PIT >> INFO : +FINFINC Filters mutations to increments that may cause infinite loops
22:45:55 PIT >> INFO : +FINFIT Filters mutations that may cause infinite loops by removing calls to iterator.next
22:45:55 PIT >> INFO : +FINULL Filters mutations in compiler generated code that checks for null by calling getClass
22:45:55 PIT >> INFO : +FKOTLIN Filters out junk mutations in bytecode created by compiler for kotlin language features
22:45:55 PIT >> INFO : +FLOGCALL Filters mutations in code that makes calls to logging frameworks
22:45:55 PIT >> INFO : +FMRNULL Filters mutations in compiler generated code that inserts Objects.requireNonNull for method references
22:45:55 PIT >> INFO : +FRETEQUIV Filters return vals mutants with bytecode equivalent to the unmutated class
22:45:55 PIT >> INFO : +FSEQUIVEQUALS Filters equivalent mutations that affect only performance in short cutting equals methods
22:45:55 PIT >> INFO : +FSTATI Filters mutations in static initializers and code called only from them
22:45:55 PIT >> INFO : +FSTATINIT Filters mutations in static initializers and code called only from them
22:45:55 PIT >> INFO : +FTRYWR Filters mutations in code generated for try with resources statements
22:45:55 PIT >> INFO : +_internal_activate_by_output_string
22:45:55 PIT >> INFO : -CLASSLIMIT Limits the maximum number of mutations per class
22:45:55 PIT >> INFO : [limit] Integer value for maximum mutations to create per class
22:45:55 PIT >> INFO : -EXPORT Exports mutants bytecode and other details to disk
22:45:55 PIT >> INFO : ---------------------------------------------------------------------------
22:45:55 PIT >> FINE : Running report with ReportOptions [targetClasses=[delft.MathArrays], excludedMethods=[], excludedClasses=[], excludedTestClasses=[], codePaths=[], reportDir=C:\Users\User\Programming\Uni\assignments\property-based-testing\unique\output\pitest, historyInputLocation=null, historyOutputLocation=null, sourceDirs=[C:\Users\User\AppData\Local\Temp\1637358352212-0], classPathElements=[C:\Users\User\AppData\Local\Temp\1637358352212-0, C:\Users\User\Programming\Uni\assignments\property-based-testing\unique\target\classes, C:\Users\User\.m2\repository\io\github\cse1110\andy\0.27-SNAPSHOT\andy-0.27-SNAPSHOT.jar, C:\Users\User\.m2\repository\org\slf4j\slf4j-log4j12\1.7.30\slf4j-log4j12-1.7.30.jar, C:\Users\User\.m2\repository\org\slf4j\slf4j-api\1.7.30\slf4j-api-1.7.30.jar, C:\Users\User\.m2\repository\log4j\log4j\1.2.17\log4j-1.2.17.jar, C:\Users\User\.m2\repository\org\assertj\assertj-core\3.15.0\assertj-core-3.15.0.jar, C:\Users\User\.m2\repository\net\jqwik\jqwik\1.5.1\jqwik-1.5.1.jar, C:\Users\User\.m2\repository\org\apiguardian\apiguardian-api\1.1.1\apiguardian-api-1.1.1.jar, C:\Users\User\.m2\repository\net\jqwik\jqwik-api\1.5.1\jqwik-api-1.5.1.jar, C:\Users\User\.m2\repository\org\opentest4j\opentest4j\1.2.0\opentest4j-1.2.0.jar, C:\Users\User\.m2\repository\org\junit\platform\junit-platform-commons\1.7.1\junit-platform-commons-1.7.1.jar, C:\Users\User\.m2\repository\net\jqwik\jqwik-web\1.5.1\jqwik-web-1.5.1.jar, C:\Users\User\.m2\repository\net\jqwik\jqwik-time\1.5.1\jqwik-time-1.5.1.jar, C:\Users\User\.m2\repository\org\mockito\mockito-core\3.10.0\mockito-core-3.10.0.jar, C:\Users\User\.m2\repository\net\bytebuddy\byte-buddy\1.11.0\byte-buddy-1.11.0.jar, C:\Users\User\.m2\repository\net\bytebuddy\byte-buddy-agent\1.11.0\byte-buddy-agent-1.11.0.jar, C:\Users\User\.m2\repository\org\objenesis\objenesis\3.2\objenesis-3.2.jar, C:\Users\User\.m2\repository\org\junit\jupiter\junit-jupiter-engine\5.7.0\junit-jupiter-engine-5.7.0.jar, C:\Users\User\.m2\repository\org\junit\platform\junit-platform-engine\1.7.0\junit-platform-engine-1.7.0.jar, C:\Users\User\.m2\repository\org\junit\jupiter\junit-jupiter-api\5.7.0\junit-jupiter-api-5.7.0.jar, C:\Users\User\.m2\repository\org\junit\jupiter\junit-jupiter-params\5.7.0\junit-jupiter-params-5.7.0.jar, C:\Users\User\.m2\repository\org\junit\platform\junit-platform-launcher\1.7.0\junit-platform-launcher-1.7.0.jar, C:\Users\User\.m2\repository\org\pitest\pitest\1.6.7\pitest-1.6.7.jar, C:\Users\User\.m2\repository\org\pitest\pitest-junit5-plugin\0.14\pitest-junit5-plugin-0.14.jar, C:\Users\User\.m2\repository\org\pitest\pitest-command-line\1.6.7\pitest-command-line-1.6.7.jar, C:\Users\User\.m2\repository\org\pitest\pitest-entry\1.6.7\pitest-entry-1.6.7.jar, C:\Users\User\.m2\repository\org\jacoco\org.jacoco.core\0.8.7\org.jacoco.core-0.8.7.jar, C:\Users\User\.m2\repository\org\ow2\asm\asm\9.1\asm-9.1.jar, C:\Users\User\.m2\repository\org\ow2\asm\asm-commons\9.1\asm-commons-9.1.jar, C:\Users\User\.m2\repository\org\ow2\asm\asm-analysis\9.1\asm-analysis-9.1.jar, C:\Users\User\.m2\repository\org\ow2\asm\asm-tree\9.1\asm-tree-9.1.jar, C:\Users\User\.m2\repository\org\jacoco\org.jacoco.report\0.8.7\org.jacoco.report-0.8.7.jar, C:\Users\User\.m2\repository\org\eclipse\jdt\org.eclipse.jdt.core\3.25.0\org.eclipse.jdt.core-3.25.0.jar, C:\Users\User\.m2\repository\org\eclipse\platform\org.eclipse.core.resources\3.15.100\org.eclipse.core.resources-3.15.100.jar, C:\Users\User\.m2\repository\org\eclipse\platform\org.eclipse.core.expressions\3.8.0\org.eclipse.core.expressions-3.8.0.jar, C:\Users\User\.m2\repository\org\eclipse\platform\org.eclipse.core.runtime\3.23.0\org.eclipse.core.runtime-3.23.0.jar, C:\Users\User\.m2\repository\org\eclipse\platform\org.eclipse.osgi\3.17.0\org.eclipse.osgi-3.17.0.jar, C:\Users\User\.m2\repository\org\eclipse\platform\org.eclipse.equinox.common\3.15.0\org.eclipse.equinox.common-3.15.0.jar, C:\Users\User\.m2\repository\org\eclipse\platform\org.eclipse.core.jobs\3.12.0\org.eclipse.core.jobs-3.12.0.jar, C:\Users\User\.m2\repository\org\eclipse\platform\org.eclipse.equinox.registry\3.11.0\org.eclipse.equinox.registry-3.11.0.jar, C:\Users\User\.m2\repository\org\eclipse\platform\org.eclipse.equinox.preferences\3.9.0\org.eclipse.equinox.preferences-3.9.0.jar, C:\Users\User\.m2\repository\org\eclipse\platform\org.eclipse.core.contenttype\3.8.0\org.eclipse.core.contenttype-3.8.0.jar, C:\Users\User\.m2\repository\org\eclipse\platform\org.eclipse.equinox.app\1.6.0\org.eclipse.equinox.app-1.6.0.jar, C:\Users\User\.m2\repository\org\eclipse\platform\org.eclipse.core.filesystem\1.9.100\org.eclipse.core.filesystem-1.9.100.jar, C:\Users\User\.m2\repository\org\eclipse\platform\org.eclipse.text\3.12.0\org.eclipse.text-3.12.0.jar, C:\Users\User\.m2\repository\org\eclipse\platform\org.eclipse.core.commands\3.10.100\org.eclipse.core.commands-3.10.100.jar, C:\Users\User\.m2\repository\com\fasterxml\jackson\core\jackson-core\2.12.3\jackson-core-2.12.3.jar, C:\Users\User\.m2\repository\org\apache\commons\commons-lang3\3.12.0\commons-lang3-3.12.0.jar, C:\Users\User\.m2\repository\commons-io\commons-io\2.11.0\commons-io-2.11.0.jar, C:\Users\User\.m2\repository\com\google\code\gson\gson\2.8.8\gson-2.8.8.jar, C:\Users\User\.m2\repository\org\seleniumhq\selenium\selenium-java\4.0.0\selenium-java-4.0.0.jar, C:\Users\User\.m2\repository\org\seleniumhq\selenium\selenium-api\4.0.0\selenium-api-4.0.0.jar, C:\Users\User\.m2\repository\org\seleniumhq\selenium\selenium-chrome-driver\4.0.0\selenium-chrome-driver-4.0.0.jar, C:\Users\User\.m2\repository\com\google\auto\service\auto-service-annotations\1.0\auto-service-annotations-1.0.jar, C:\Users\User\.m2\repository\com\google\auto\service\auto-service\1.0\auto-service-1.0.jar, C:\Users\User\.m2\repository\com\google\auto\auto-common\1.0\auto-common-1.0.jar, C:\Users\User\.m2\repository\com\google\guava\guava\31.0.1-jre\guava-31.0.1-jre.jar, C:\Users\User\.m2\repository\com\google\guava\failureaccess\1.0.1\failureaccess-1.0.1.jar, C:\Users\User\.m2\repository\com\google\guava\listenablefuture\9999.0-empty-to-avoid-conflict-with-guava\listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar, C:\Users\User\.m2\repository\com\google\code\findbugs\jsr305\3.0.2\jsr305-3.0.2.jar, C:\Users\User\.m2\repository\org\checkerframework\checker-qual\3.12.0\checker-qual-3.12.0.jar, C:\Users\User\.m2\repository\com\google\errorprone\error_prone_annotations\2.7.1\error_prone_annotations-2.7.1.jar, C:\Users\User\.m2\repository\com\google\j2objc\j2objc-annotations\1.3\j2objc-annotations-1.3.jar, C:\Users\User\.m2\repository\org\seleniumhq\selenium\selenium-chromium-driver\4.0.0\selenium-chromium-driver-4.0.0.jar, C:\Users\User\.m2\repository\org\seleniumhq\selenium\selenium-json\4.0.0\selenium-json-4.0.0.jar, C:\Users\User\.m2\repository\org\seleniumhq\selenium\selenium-devtools-v85\4.0.0\selenium-devtools-v85-4.0.0.jar, C:\Users\User\.m2\repository\org\seleniumhq\selenium\selenium-devtools-v93\4.0.0\selenium-devtools-v93-4.0.0.jar, C:\Users\User\.m2\repository\org\seleniumhq\selenium\selenium-devtools-v94\4.0.0\selenium-devtools-v94-4.0.0.jar, C:\Users\User\.m2\repository\org\seleniumhq\selenium\selenium-devtools-v95\4.0.0\selenium-devtools-v95-4.0.0.jar, C:\Users\User\.m2\repository\org\seleniumhq\selenium\selenium-edge-driver\4.0.0\selenium-edge-driver-4.0.0.jar, C:\Users\User\.m2\repository\org\seleniumhq\selenium\selenium-firefox-driver\4.0.0\selenium-firefox-driver-4.0.0.jar, C:\Users\User\.m2\repository\org\seleniumhq\selenium\selenium-firefox-xpi-driver\4.0.0\selenium-firefox-xpi-driver-4.0.0.jar, C:\Users\User\.m2\repository\org\seleniumhq\selenium\selenium-ie-driver\4.0.0\selenium-ie-driver-4.0.0.jar, C:\Users\User\.m2\repository\org\seleniumhq\selenium\selenium-opera-driver\4.0.0\selenium-opera-driver-4.0.0.jar, C:\Users\User\.m2\repository\org\seleniumhq\selenium\selenium-remote-driver\4.0.0\selenium-remote-driver-4.0.0.jar, C:\Users\User\.m2\repository\com\beust\jcommander\1.81\jcommander-1.81.jar, C:\Users\User\.m2\repository\io\netty\netty-buffer\4.1.68.Final\netty-buffer-4.1.68.Final.jar, C:\Users\User\.m2\repository\io\netty\netty-codec-http\4.1.67.Final\netty-codec-http-4.1.67.Final.jar, C:\Users\User\.m2\repository\io\netty\netty-codec\4.1.67.Final\netty-codec-4.1.67.Final.jar, C:\Users\User\.m2\repository\io\netty\netty-handler\4.1.67.Final\netty-handler-4.1.67.Final.jar, C:\Users\User\.m2\repository\io\netty\netty-common\4.1.68.Final\netty-common-4.1.68.Final.jar, C:\Users\User\.m2\repository\io\netty\netty-transport-native-epoll\4.1.67.Final\netty-transport-native-epoll-4.1.67.Final.jar, C:\Users\User\.m2\repository\io\netty\netty-transport-native-kqueue\4.1.67.Final\netty-transport-native-kqueue-4.1.67.Final.jar, C:\Users\User\.m2\repository\io\netty\netty-transport-native-unix-common\4.1.67.Final\netty-transport-native-unix-common-4.1.67.Final.jar, C:\Users\User\.m2\repository\io\netty\netty-transport\4.1.68.Final\netty-transport-4.1.68.Final.jar, C:\Users\User\.m2\repository\io\netty\netty-resolver\4.1.68.Final\netty-resolver-4.1.68.Final.jar, C:\Users\User\.m2\repository\io\opentelemetry\opentelemetry-api\1.6.0\opentelemetry-api-1.6.0.jar, C:\Users\User\.m2\repository\io\opentelemetry\opentelemetry-context\1.6.0\opentelemetry-context-1.6.0.jar, C:\Users\User\.m2\repository\io\opentelemetry\opentelemetry-exporter-logging\1.6.0\opentelemetry-exporter-logging-1.6.0.jar, C:\Users\User\.m2\repository\io\opentelemetry\opentelemetry-sdk-metrics\1.6.0-alpha\opentelemetry-sdk-metrics-1.6.0-alpha.jar, C:\Users\User\.m2\repository\io\opentelemetry\opentelemetry-sdk-common\1.6.0\opentelemetry-sdk-common-1.6.0.jar, C:\Users\User\.m2\repository\io\opentelemetry\opentelemetry-sdk-extension-autoconfigure-spi\1.6.0\opentelemetry-sdk-extension-autoconfigure-spi-1.6.0.jar, C:\Users\User\.m2\repository\io\opentelemetry\opentelemetry-sdk-extension-autoconfigure\1.6.0-alpha\opentelemetry-sdk-extension-autoconfigure-1.6.0-alpha.jar, C:\Users\User\.m2\repository\io\opentelemetry\opentelemetry-sdk-trace\1.6.0\opentelemetry-sdk-trace-1.6.0.jar, C:\Users\User\.m2\repository\io\opentelemetry\opentelemetry-api-metrics\1.6.0-alpha\opentelemetry-api-metrics-1.6.0-alpha.jar, C:\Users\User\.m2\repository\io\opentelemetry\opentelemetry-sdk\1.6.0\opentelemetry-sdk-1.6.0.jar, C:\Users\User\.m2\repository\io\opentelemetry\opentelemetry-semconv\1.6.0-alpha\opentelemetry-semconv-1.6.0-alpha.jar, C:\Users\User\.m2\repository\io\ous\jtoml\2.0.0\jtoml-2.0.0.jar, C:\Users\User\.m2\repository\org\apache\commons\commons-exec\1.3\commons-exec-1.3.jar, C:\Users\User\.m2\repository\org\asynchttpclient\async-http-client\2.12.3\async-http-client-2.12.3.jar, C:\Users\User\.m2\repository\org\asynchttpclient\async-http-client-netty-utils\2.12.3\async-http-client-netty-utils-2.12.3.jar, C:\Users\User\.m2\repository\io\netty\netty-codec-socks\4.1.60.Final\netty-codec-socks-4.1.60.Final.jar, C:\Users\User\.m2\repository\io\netty\netty-handler-proxy\4.1.60.Final\netty-handler-proxy-4.1.60.Final.jar, C:\Users\User\.m2\repository\io\netty\netty-transport-native-epoll\4.1.60.Final\netty-transport-native-epoll-4.1.60.Final-linux-x86_64.jar, C:\Users\User\.m2\repository\io\netty\netty-transport-native-kqueue\4.1.60.Final\netty-transport-native-kqueue-4.1.60.Final-osx-x86_64.jar, C:\Users\User\.m2\repository\org\reactivestreams\reactive-streams\1.0.3\reactive-streams-1.0.3.jar, C:\Users\User\.m2\repository\com\typesafe\netty\netty-reactive-streams\2.0.4\netty-reactive-streams-2.0.4.jar, C:\Users\User\.m2\repository\com\sun\activation\jakarta.activation\1.2.2\jakarta.activation-1.2.2.jar, C:\Users\User\.m2\repository\org\seleniumhq\selenium\selenium-http\4.0.0\selenium-http-4.0.0.jar, C:\Users\User\.m2\repository\org\seleniumhq\selenium\selenium-safari-driver\4.0.0\selenium-safari-driver-4.0.0.jar, C:\Users\User\.m2\repository\org\seleniumhq\selenium\selenium-support\4.0.0\selenium-support-4.0.0.jar, C:\Users\User\.m2\repository\org\seleniumhq\selenium\htmlunit-driver\3.55.0\htmlunit-driver-3.55.0.jar, C:\Users\User\.m2\repository\net\sourceforge\htmlunit\htmlunit\2.55.0\htmlunit-2.55.0.jar, C:\Users\User\.m2\repository\xalan\xalan\2.7.2\xalan-2.7.2.jar, C:\Users\User\.m2\repository\xalan\serializer\2.7.2\serializer-2.7.2.jar, C:\Users\User\.m2\repository\org\apache\commons\commons-text\1.9\commons-text-1.9.jar, C:\Users\User\.m2\repository\org\apache\httpcomponents\httpmime\4.5.13\httpmime-4.5.13.jar, C:\Users\User\.m2\repository\net\sourceforge\htmlunit\htmlunit-core-js\2.55.0\htmlunit-core-js-2.55.0.jar, C:\Users\User\.m2\repository\net\sourceforge\htmlunit\neko-htmlunit\2.55.0\neko-htmlunit-2.55.0.jar, C:\Users\User\.m2\repository\xerces\xercesImpl\2.12.1\xercesImpl-2.12.1.jar, C:\Users\User\.m2\repository\xml-apis\xml-apis\1.4.01\xml-apis-1.4.01.jar, C:\Users\User\.m2\repository\net\sourceforge\htmlunit\htmlunit-cssparser\1.10.0\htmlunit-cssparser-1.10.0.jar, C:\Users\User\.m2\repository\commons-logging\commons-logging\1.2\commons-logging-1.2.jar, C:\Users\User\.m2\repository\commons-net\commons-net\3.8.0\commons-net-3.8.0.jar, C:\Users\User\.m2\repository\org\brotli\dec\0.1.2\dec-0.1.2.jar, C:\Users\User\.m2\repository\com\shapesecurity\salvation2\3.0.0\salvation2-3.0.0.jar, C:\Users\User\.m2\repository\org\eclipse\jetty\websocket\websocket-client\9.4.44.v20210927\websocket-client-9.4.44.v20210927.jar, C:\Users\User\.m2\repository\org\eclipse\jetty\jetty-client\9.4.44.v20210927\jetty-client-9.4.44.v20210927.jar, C:\Users\User\.m2\repository\org\eclipse\jetty\jetty-http\9.4.44.v20210927\jetty-http-9.4.44.v20210927.jar, C:\Users\User\.m2\repository\org\eclipse\jetty\jetty-util\9.4.44.v20210927\jetty-util-9.4.44.v20210927.jar, C:\Users\User\.m2\repository\org\eclipse\jetty\jetty-io\9.4.44.v20210927\jetty-io-9.4.44.v20210927.jar, C:\Users\User\.m2\repository\org\eclipse\jetty\websocket\websocket-common\9.4.44.v20210927\websocket-common-9.4.44.v20210927.jar, C:\Users\User\.m2\repository\org\eclipse\jetty\websocket\websocket-api\9.4.44.v20210927\websocket-api-9.4.44.v20210927.jar, C:\Users\User\.m2\repository\org\apache\maven\plugins\maven-dependency-plugin\3.2.0\maven-dependency-plugin-3.2.0.jar, C:\Users\User\.m2\repository\org\apache\maven\maven-artifact\3.1.1\maven-artifact-3.1.1.jar, C:\Users\User\.m2\repository\org\apache\maven\maven-plugin-api\3.1.1\maven-plugin-api-3.1.1.jar, C:\Users\User\.m2\repository\org\eclipse\sisu\org.eclipse.sisu.plexus\0.0.0.M5\org.eclipse.sisu.plexus-0.0.0.M5.jar, C:\Users\User\.m2\repository\javax\enterprise\cdi-api\1.0\cdi-api-1.0.jar, C:\Users\User\.m2\repository\javax\annotation\jsr250-api\1.0\jsr250-api-1.0.jar, C:\Users\User\.m2\repository\javax\inject\javax.inject\1\javax.inject-1.jar, C:\Users\User\.m2\repository\org\sonatype\sisu\sisu-guice\3.1.0\sisu-guice-3.1.0-no_aop.jar, C:\Users\User\.m2\repository\aopalliance\aopalliance\1.0\aopalliance-1.0.jar, C:\Users\User\.m2\repository\org\eclipse\sisu\org.eclipse.sisu.inject\0.0.0.M5\org.eclipse.sisu.inject-0.0.0.M5.jar, C:\Users\User\.m2\repository\org\apache\maven\maven-model\3.1.1\maven-model-3.1.1.jar, C:\Users\User\.m2\repository\org\apache\maven\maven-core\3.1.1\maven-core-3.1.1.jar, C:\Users\User\.m2\repository\org\apache\maven\maven-settings-builder\3.1.1\maven-settings-builder-3.1.1.jar, C:\Users\User\.m2\repository\org\apache\maven\maven-model-builder\3.1.1\maven-model-builder-3.1.1.jar, C:\Users\User\.m2\repository\org\eclipse\aether\aether-impl\0.9.0.M2\aether-impl-0.9.0.M2.jar, C:\Users\User\.m2\repository\org\codehaus\plexus\plexus-interpolation\1.19\plexus-interpolation-1.19.jar, C:\Users\User\.m2\repository\org\codehaus\plexus\plexus-classworlds\2.5.1\plexus-classworlds-2.5.1.jar, C:\Users\User\.m2\repository\org\codehaus\plexus\plexus-component-annotations\1.5.5\plexus-component-annotations-1.5.5.jar, C:\Users\User\.m2\repository\org\sonatype\plexus\plexus-sec-dispatcher\1.3\plexus-sec-dispatcher-1.3.jar, C:\Users\User\.m2\repository\org\sonatype\plexus\plexus-cipher\1.4\plexus-cipher-1.4.jar, C:\Users\User\.m2\repository\org\apache\maven\maven-repository-metadata\3.1.1\maven-repository-metadata-3.1.1.jar, C:\Users\User\.m2\repository\org\apache\maven\maven-settings\3.1.1\maven-settings-3.1.1.jar, C:\Users\User\.m2\repository\org\apache\maven\maven-aether-provider\3.1.1\maven-aether-provider-3.1.1.jar, C:\Users\User\.m2\repository\org\eclipse\aether\aether-spi\0.9.0.M2\aether-spi-0.9.0.M2.jar, C:\Users\User\.m2\repository\org\apache\maven\reporting\maven-reporting-api\3.0\maven-reporting-api-3.0.jar, C:\Users\User\.m2\repository\org\apache\maven\reporting\maven-reporting-impl\3.0.0\maven-reporting-impl-3.0.0.jar, C:\Users\User\.m2\repository\org\apache\maven\doxia\doxia-decoration-model\1.7.4\doxia-decoration-model-1.7.4.jar, C:\Users\User\.m2\repository\org\apache\maven\doxia\doxia-sink-api\1.9.1\doxia-sink-api-1.9.1.jar, C:\Users\User\.m2\repository\org\apache\maven\doxia\doxia-logging-api\1.9.1\doxia-logging-api-1.9.1.jar, C:\Users\User\.m2\repository\org\apache\maven\doxia\doxia-core\1.9.1\doxia-core-1.9.1.jar, C:\Users\User\.m2\repository\org\codehaus\plexus\plexus-container-default\1.7.1\plexus-container-default-1.7.1.jar, C:\Users\User\.m2\repository\org\apache\xbean\xbean-reflect\3.7\xbean-reflect-3.7.jar, C:\Users\User\.m2\repository\com\google\collections\google-collections\1.0\google-collections-1.0.jar, C:\Users\User\.m2\repository\org\apache\httpcomponents\httpclient\4.5.8\httpclient-4.5.8.jar, C:\Users\User\.m2\repository\commons-codec\commons-codec\1.11\commons-codec-1.11.jar, C:\Users\User\.m2\repository\org\apache\httpcomponents\httpcore\4.4.11\httpcore-4.4.11.jar, C:\Users\User\.m2\repository\org\apache\maven\doxia\doxia-site-renderer\1.9.2\doxia-site-renderer-1.9.2.jar, C:\Users\User\.m2\repository\org\apache\maven\doxia\doxia-skin-model\1.9.2\doxia-skin-model-1.9.2.jar, C:\Users\User\.m2\repository\org\apache\maven\doxia\doxia-module-xhtml\1.9.1\doxia-module-xhtml-1.9.1.jar, C:\Users\User\.m2\repository\org\apache\maven\doxia\doxia-module-xhtml5\1.9.1\doxia-module-xhtml5-1.9.1.jar, C:\Users\User\.m2\repository\org\codehaus\plexus\plexus-i18n\1.0-beta-10\plexus-i18n-1.0-beta-10.jar, C:\Users\User\.m2\repository\org\codehaus\plexus\plexus-velocity\1.2\plexus-velocity-1.2.jar, C:\Users\User\.m2\repository\org\apache\velocity\velocity\1.7\velocity-1.7.jar, C:\Users\User\.m2\repository\commons-lang\commons-lang\2.4\commons-lang-2.4.jar, C:\Users\User\.m2\repository\org\apache\velocity\velocity-tools\2.0\velocity-tools-2.0.jar, C:\Users\User\.m2\repository\commons-beanutils\commons-beanutils\1.7.0\commons-beanutils-1.7.0.jar, C:\Users\User\.m2\repository\commons-digester\commons-digester\1.8\commons-digester-1.8.jar, C:\Users\User\.m2\repository\commons-chain\commons-chain\1.1\commons-chain-1.1.jar, C:\Users\User\.m2\repository\dom4j\dom4j\1.1\dom4j-1.1.jar, C:\Users\User\.m2\repository\oro\oro\2.0.8\oro-2.0.8.jar, C:\Users\User\.m2\repository\commons-collections\commons-collections\3.2.2\commons-collections-3.2.2.jar, C:\Users\User\.m2\repository\org\codehaus\plexus\plexus-archiver\4.2.2\plexus-archiver-4.2.2.jar, C:\Users\User\.m2\repository\org\apache\commons\commons-compress\1.20\commons-compress-1.20.jar, C:\Users\User\.m2\repository\org\iq80\snappy\snappy\0.4\snappy-0.4.jar, C:\Users\User\.m2\repository\org\codehaus\plexus\plexus-utils\3.3.0\plexus-utils-3.3.0.jar, C:\Users\User\.m2\repository\org\codehaus\plexus\plexus-io\3.2.0\plexus-io-3.2.0.jar, C:\Users\User\.m2\repository\org\apache\maven\shared\maven-dependency-analyzer\1.11.3\maven-dependency-analyzer-1.11.3.jar, C:\Users\User\.m2\repository\org\apache\maven\shared\maven-dependency-tree\3.0.1\maven-dependency-tree-3.0.1.jar, C:\Users\User\.m2\repository\org\apache\maven\shared\maven-common-artifact-filters\3.2.0\maven-common-artifact-filters-3.2.0.jar, C:\Users\User\.m2\repository\org\apache\maven\shared\maven-artifact-transfer\0.13.1\maven-artifact-transfer-0.13.1.jar, C:\Users\User\.m2\repository\org\apache\maven\shared\maven-shared-utils\3.3.4\maven-shared-utils-3.3.4.jar, C:\Users\User\.m2\repository\org\apache\commons\commons-collections4\4.2\commons-collections4-4.2.jar, C:\Users\User\.m2\repository\classworlds\classworlds\1.1\classworlds-1.1.jar, C:\Users\User\.m2\repository\org\eclipse\aether\aether-api\0.9.0.M2\aether-api-0.9.0.M2.jar, C:\Users\User\.m2\repository\org\eclipse\aether\aether-util\0.9.0.M2\aether-util-0.9.0.M2.jar, C:\Users\User\.m2\repository\org\hamcrest\hamcrest\2.2\hamcrest-2.2.jar], mutators=[CONDITIONALS_BOUNDARY, INCREMENTS, INVERT_NEGS, MATH, NEGATE_CONDITIONALS, VOID_METHOD_CALLS, EMPTY_RETURNS, FALSE_RETURNS, TRUE_RETURNS, NULL_RETURNS, PRIMITIVE_RETURNS], features=[], dependencyAnalysisMaxDistance=-1, jvmArgs=[-Djava.awt.headless=true], numberOfThreads=1, timeoutFactor=1.25, timeoutConstant=4000, targetTests=[^delft\.MathArraysPBTest$], loggingClasses=[], verbose=true, failWhenNoMutations=true, outputs=[HTML], groupConfig=TestGroupConfig [excludedGroups=[], includedGroups=[]], fullMutationMatrix=false, mutationUnitSize=0, shouldCreateTimestampedReports=true, detectInlinedCode=false, exportLineCoverage=false, mutationThreshold=0, testStrengthThreshold=0, coverageThreshold=0, mutationEngine=gregor, javaExecutable=null, includeLaunchClasspath=false, properties={}, maxSurvivors=-1, excludedRunners=[], includedTestMethods=[], testPlugin=junit, useClasspathJar=false, skipFailingTests=false]22:45:55 PIT >> FINE : System class path is C:\Users\Paul\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\212.5284.40\plugins\maven\lib\maven3\boot\plexus-classworlds-2.6.0.jar;C:\Users\Paul\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\212.5284.40\plugins\maven\lib\maven3\boot\plexus-classworlds.license
22:45:55 PIT >> FINE : Maximum available memory is 1024 mb
22:45:55 PIT >> FINE : Incremental analysis set 6 mutations to a status of NOT_STARTED
22:45:55 PIT >> INFO : Incremental analysis reduced number of mutations by 0
22:45:55 PIT >> INFO : Created 1 mutation test units in pre scan
22:45:55 PIT >> FINE : MINION : Installing PIT agent
22:45:55 PIT >> INFO : Sending 1 test classes to minion
22:45:55 PIT >> INFO : Sent tests to minion
22:45:55 PIT >> INFO : MINION : 22:45:55 PIT >> FINE : Expecting 1 tests classes from parent
22:45:55 PIT >> INFO : MINION : 22:45:55 PIT >> FINE : Tests classes received
22:45:55 PIT >> INFO : MINION : 22:45:55 PIT >> INFO : Checking environment
22:45:55 PIT >> INFO : MINION : 22:45:55 PIT >> INFO : Found 0 tests
22:45:55 PIT >> INFO : MINION : 22:45:55 PIT >> INFO : Dependency analysis reduced number of potential tests by 0
22:45:55 PIT >> INFO : MINION : 22:45:55 PIT >> INFO : 0 tests received
22:45:55 PIT >> INFO : MINION : 22:45:55 PIT >> FINE : Running 0 units
22:45:55 PIT >> FINE : Coverage generator Minion exited ok
22:45:55 PIT >> INFO : Calculated coverage in 0 seconds.
22:45:55 PIT >> FINE : Used memory after coverage calculation 45 mb
22:45:55 PIT >> FINE : Free Memory after coverage calculation 56 mb
22:45:56 PIT >> FINE : Incremental analysis set 6 mutations to a status of NOT_STARTED
22:45:56 PIT >> INFO : Incremental analysis reduced number of mutations by 0
22:45:56 PIT >> INFO : Created 1 mutation test units
22:45:56 PIT >> FINE : Used memory before analysis start 63 mb
22:45:56 PIT >> FINE : Free Memory before analysis start 38 mb
22:45:56 PIT >> FINE : Running 1 units
22:45:56 PIT >> INFO : Completed in 1 seconds
================================================================================
- Mutators
================================================================================
> org.pitest.mutationtest.engine.gregor.mutators.ConditionalsBoundaryMutator
>> Generated 1 Killed 0 (0%)
> KILLED 0 SURVIVED 0 TIMED_OUT 0 NON_VIABLE 0
> MEMORY_ERROR 0 NOT_STARTED 0 STARTED 0 RUN_ERROR 0
> NO_COVERAGE 1
--------------------------------------------------------------------------------
> org.pitest.mutationtest.engine.gregor.mutators.IncrementsMutator
>> Generated 1 Killed 0 (0%)
> KILLED 0 SURVIVED 0 TIMED_OUT 0 NON_VIABLE 0
> MEMORY_ERROR 0 NOT_STARTED 0 STARTED 0 RUN_ERROR 0
> NO_COVERAGE 1
--------------------------------------------------------------------------------
> org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator
>> Generated 1 Killed 0 (0%)
> KILLED 0 SURVIVED 0 TIMED_OUT 0 NON_VIABLE 0
> MEMORY_ERROR 0 NOT_STARTED 0 STARTED 0 RUN_ERROR 0
> NO_COVERAGE 1
--------------------------------------------------------------------------------
> org.pitest.mutationtest.engine.gregor.mutators.MathMutator
>> Generated 1 Killed 0 (0%)
> KILLED 0 SURVIVED 0 TIMED_OUT 0 NON_VIABLE 0
> MEMORY_ERROR 0 NOT_STARTED 0 STARTED 0 RUN_ERROR 0
> NO_COVERAGE 1
--------------------------------------------------------------------------------
> org.pitest.mutationtest.engine.gregor.mutators.NegateConditionalsMutator
>> Generated 2 Killed 0 (0%)
> KILLED 0 SURVIVED 0 TIMED_OUT 0 NON_VIABLE 0
> MEMORY_ERROR 0 NOT_STARTED 0 STARTED 0 RUN_ERROR 0
> NO_COVERAGE 2
--------------------------------------------------------------------------------
================================================================================
- Timings
================================================================================
> pre-scan for mutations : < 1 second
> scan classpath : < 1 second
> coverage and dependency analysis : < 1 second
> build mutation tests : < 1 second
> run mutation analysis : < 1 second
--------------------------------------------------------------------------------
> Total : < 1 second
--------------------------------------------------------------------------------
================================================================================
- Statistics
================================================================================
>> Line Coverage: 0/12 (0%)
>> Generated 6 mutations Killed 0 (0%)
>> Mutations with no coverage 6. Test strength 0%
>> Ran 0 tests (0 tests per mutation)
Unfortunately we have a lot of libraries, but a quick CTRL+F will show you that Jqwik, JUnit API/Engine and the plugin are present.
This is the test class that is being run:
class MathArraysPBTest {
@Property
// an array of size 100 with doubles between [1,20] will definitely have repeated numbers
// if you use only @ForAll, you are likely to never have repeated elements in the array, and thus,
// never exercising the full property!
void unique(
@ForAll
@Size(value = 100)
List<@DoubleRange(min = 1, max = 20) Double> numbers) {
double[] doubles = convertListToArray(numbers);
double[] result = MathArrays.unique(doubles);
assertThat(result)
.contains(doubles) // contains all the elements
.doesNotHaveDuplicates() // no duplicates
.isSortedAccordingTo(Comparator.reverseOrder()); // in descending order
}
/** Use this method to convert a list of integers to an array */
private double[] convertListToArray(List<Double> numbers) {
double[] array = numbers.stream().mapToDouble(x -> x).toArray();
return array;
}
}
I found a fix. By default jqwik includes its engine as a runtime only dependency. It did not end up in PIT's ReportOption
's classPathElements
for us. Ensuring that jqwik-engine-X.X.X.jar
was present in there solved the problem. For us, this meant explicitly setting the jqwik-engine
dependency's <scope>
to compile
. YMMV.
Can I use the jqwik tool (property-based test tool) with the pitest?
My goal is to automatically generate the values (inputs) for my test cases and evaluate the strength of these values against the mutants generated by Pitest.
The problem is that running Pitest 1.6.4 with jqwik 1.5.0 the Pitest tool did not recognize the properties (@Property) in my PropertiesTest classes.
Below is an example (useless example):
Below is the result of the Pitest execution (the pitest tool does not find the @Property test case):
pit: [pitest] 22:11:13 PIT >> INFO : Verbose logging is disabled. If you encounter a problem, please enable it before reporting an issue. [pitest] 22:11:13 PIT >> INFO : Sending 2 test classes to minion [pitest] 22:11:13 PIT >> INFO : Sent tests to minion [pitest] 22:11:13 PIT >> INFO : MINION : 22:11:13 PIT >> INFO : Checking environment [pitest] 22:11:13 PIT >> INFO : MINION : 22:11:13 PIT >> INFO : Found 0 tests [pitest] 22:11:13 PIT >> INFO : MINION : 22:11:13 PIT >> INFO : Dependency analysis reduced number of potential tests by 0 [pitest] 22:11:13 PIT >> INFO : MINION : 22:11:13 PIT >> INFO : 0 tests received [pitest] 22:11:13 PIT >> INFO : Calculated coverage in 0 seconds. [pitest] 22:11:13 PIT >> INFO : Incremental analysis reduced number of mutations by 0 [pitest] 22:11:13 PIT >> INFO : Created 1 mutation test units [pitest] 22:11:13 PIT >> INFO : Completed in 0 seconds [pitest]/================================================================================ [pitest] - Mutators [pitest] ================================================================================ [pitest] > org.pitest.mutationtest.engine.gregor.mutators.experimental.MemberVariableMutator [pitest] >> Generated 1 Killed 0 (0%) [pitest] > KILLED 0 SURVIVED 0 TIMED_OUT 0 NON_VIABLE 0 [pitest] > MEMORY_ERROR 0 NOT_STARTED 0 STARTED 0 RUN_ERROR 0 [pitest] > NO_COVERAGE 1 [pitest] -------------------------------------------------------------------------------- [pitest] > org.pitest.mutationtest.engine.gregor.mutators.ReturnValsMutator [pitest] >> Generated 1 Killed 0 (0%) [pitest] > KILLED 0 SURVIVED 0 TIMED_OUT 0 NON_VIABLE 0 [pitest] > MEMORY_ERROR 0 NOT_STARTED 0 STARTED 0 RUN_ERROR 0 [pitest] > NO_COVERAGE 1 [pitest] -------------------------------------------------------------------------------- [pitest] > org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator [pitest] >> Generated 1 Killed 0 (0%) [pitest] > KILLED 0 SURVIVED 0 TIMED_OUT 0 NON_VIABLE 0 [pitest] > MEMORY_ERROR 0 NOT_STARTED 0 STARTED 0 RUN_ERROR 0 [pitest] > NO_COVERAGE 1 [pitest] -------------------------------------------------------------------------------- [pitest] > org.pitest.mutationtest.engine.gregor.mutators.NonVoidMethodCallMutator [pitest] >> Generated 1 Killed 0 (0%) [pitest] > KILLED 0 SURVIVED 0 TIMED_OUT 0 NON_VIABLE 0 [pitest] > MEMORY_ERROR 0 NOT_STARTED 0 STARTED 0 RUN_ERROR 0 [pitest] > NO_COVERAGE 1 [pitest] -------------------------------------------------------------------------------- [pitest] ================================================================================ [pitest] - Timings [pitest] ================================================================================ [pitest] > scan classpath : < 1 second [pitest] > coverage and dependency analysis : < 1 second [pitest] > build mutation tests : < 1 second [pitest] > run mutation analysis : < 1 second [pitest] -------------------------------------------------------------------------------- [pitest] > Total : < 1 second [pitest] -------------------------------------------------------------------------------- [pitest] ================================================================================ [pitest] - Statistics [pitest] ================================================================================ [pitest] >> Generated 4 mutations Killed 0 (0%) [pitest] >> Mutations with no coverage 4. Test strength 0% [pitest] >> Ran 0 tests (0 tests per mutation)
BUILD SUCCESSFUL Total time: 2 seconds