Closed MaelAudren closed 5 years ago
Hi @MaelAudren
I'm gonna investigate on this.
If you could provide me the logs, it would be great.
To start, I would like to warn you about the value of your testClasses
properties, i.e. **testClasses=build/classes/test/**
. Unless I'm mistaken, It seems incorrect for me, in particular, the wildcards at the begin.
I ran the same configuration than you provided: the same properties and the same command line.
I obtained the following result:
[INFO] 2018-12-04 22:12:48 DSpot - Print BucketServiceTest with 4 amplified test cases in result/all
======= REPORT =======
PitMutantScoreSelector:
The original test suite kills 311 mutants
The amplification results with 2 new tests
it kills 12 more mutants
(It looks like the properties is working as it is. Anyway, I suggest you to fix it to avoid any future problems.)
Please, could you provide me the traces? I need them to investigate further... since I'm not able to reproduce the errors.
I think that normally Dspot execution should take several minutes but my executions always take less than 20 seconds.
This should not happen, please, retry to amplify the following test class: ow2.proactive.catalog.service.BucketServiceTest
using the command line option: --test ow2.proactive.catalog.service.BucketServiceTest
and enable the verbose mode with the following flag: --verbose
.
The whole command line would be:
java -jar dspot-1.2.1-jar-with-dependencies.jar --path-to-properties dspot.properties --automatic-builder GradleBuilder -t org.ow2.proactive.catalog.service.BucketServiceTest -m pitest.csv --verbose
I pursued the amplification and it seems that there is a bug in DSpot.
You will observe something like:
[INFO] 2018-12-05 10:39:02 DSpotCompiler - Compiling with -proceedOnError -encoding UTF-8 -cp /home/bdanglot/workspace/catalog/target/dspot/tmp_test_sources:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.antlr/antlr4/4.5.2/cf3ef1fe31e5128928e43015005ebb6ef371717e/antlr4-4.5.2.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.apache.tika/tika-core/1.18/69556697de96cf0b22df846e970dafd29866eee0/tika-core-1.18.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/commons-fileupload/commons-fileupload/1.3.1/c621b54583719ac0310404463d6d99db27e1052c/commons-fileupload-1.3.1.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-lang3/3.5/6c6c702c89bfff3cd9e80b04d668c5e190d588c6/commons-lang3-3.5.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-databind/2.7.9/a4c0b14c7dd85bdf4d25da074e90a10fa4b9b88b/jackson-databind-2.7.9.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-core/2.7.9/9b530cec4fd2eb841ab8e79f19fc7cf0ec487b2/jackson-core-2.7.9.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-annotations/2.7.9/eb356e825cb73da42f7c902a3fe0276fe32b26c8/jackson-annotations-2.7.9.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.datatype/jackson-datatype-joda/2.7.9/70dfb14af41377c83566c0a5512b1c021426a559/jackson-datatype-joda-2.7.9.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.datatype/jackson-datatype-jsr310/2.7.9/7ff35069e48d134cd53fadf2fcb5ce2e5f09007e/jackson-datatype-jsr310-2.7.9.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.datatype/jackson-datatype-jdk8/2.7.9/18b8f409e2a1c89a0498bbd9b3044bcd32fece83/jackson-datatype-jdk8-2.7.9.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.jaxrs/jackson-jaxrs-base/2.7.9/36a528abef27cb905e719901130e8e73ec440c08/jackson-jaxrs-base-2.7.9.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.jaxrs/jackson-jaxrs-json-provider/2.7.9/c19f114d316031203e277f3cc2f6b9671c3e1dd6/jackson-jaxrs-json-provider-2.7.9.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.module/jackson-module-jaxb-annotations/2.7.9/f6f681a609a0dbc38f1984b47a92f8815a7f73e6/jackson-module-jaxb-annotations-2.7.9.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.dataformat/jackson-dataformat-cbor/2.7.9/11b3a0779272ed5b2c0815995d1bb2355495f5/jackson-dataformat-cbor-2.7.9.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/com.mysema.querydsl/querydsl-jpa/3.7.1/f0414a0cee1edd5bd72be526a21b52c867df6fdc/querydsl-jpa-3.7.1.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-data-jpa/1.3.3.RELEASE/c1f8f3102650e54259d69c519b45b64fbf5cd25b/spring-boot-starter-data-jpa-1.3.3.RELEASE.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.hibernate/hibernate-entitymanager/5.1.0.Final/30d9f676363010b0958c9b738abc197235766f9c/hibernate-entitymanager-5.1.0.Final.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.hibernate/hibernate-core/5.1.0.Final/1b5ac619df76cfd67222ca7cddcee6b0a5db8d0c/hibernate-core-5.1.0.Final.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-log4j2/1.3.3.RELEASE/15e198561b130fa82d98ef36775bcb61aeaac461/spring-boot-starter-log4j2-1.3.3.RELEASE.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-web/1.3.3.RELEASE/f1ee2657f50844d8682b30a1f40aebff3ad60cce/spring-boot-starter-web-1.3.3.RELEASE.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-web/2.7/6c6cec01d95913355ceb79e47573bd84bbfbf60e/log4j-web-2.7.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.springframework.hateoas/spring-hateoas/0.19.0.RELEASE/77b3b15c301d2517356b76304a2670df33ef2e2c/spring-hateoas-0.19.0.RELEASE.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.eclipse.jetty/jetty-servlets/9.2.14.v20151106/a75c78a0ee544073457ca5ee9db20fdc6ed55225/jetty-servlets-9.2.14.v20151106.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/io.springfox/springfox-spring-web/2.6.1/6478ed7e49755b652aac907d42a735349056a6a/springfox-spring-web-2.6.1.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/io.springfox/springfox-swagger2/2.6.1/73c3a70ec0b10b61c8eb9ef1659131cd78dbbd82/springfox-swagger2-2.6.1.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/io.springfox/springfox-swagger-ui/2.6.1/4c854c86c91ab36c86fc1a63571a0614c2ea9ab2/springfox-swagger-ui-2.6.1.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/com.graphql-java/graphql-java/3.0.0/654cd4914dd26f232596b5aa69d4308900ef20c0/graphql-java-3.0.0.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.projectlombok/lombok/1.16.16/245b50f714bf89ed7659266ace12f9e509d13551/lombok-1.16.16.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.zeroturnaround/zt-zip/1.11/add8fface4c1936787eb4bffe4ea944a13467d53/zt-zip-1.11.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/com.github.ben-manes.caffeine/caffeine/2.5.2/1c01cf2bbfe3bbd26512a0bb79f843ff705301c/caffeine-2.5.2.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-tomcat/1.3.3.RELEASE/541468d85cc2c94d2b538b0fa07c018847bb9b78/spring-boot-starter-tomcat-1.3.3.RELEASE.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.ow2.proactive_grid_cloud_portal/rest-client/8.2.0-rc1/e27e6967ab460430fffaa52ea513a0e29c0a7344/rest-client-8.2.0-rc1.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/com.google.truth/truth/0.30/9d591b5a66eda81f0b88cf1c748ab8853d99b18b/truth-0.30.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/junit/junit/4.12/2973d150c0dc1fefe998f834810d68f278ea58ec/junit-4.12.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/nl.jqno.equalsverifier/equalsverifier/1.7.7/a5cc3e303304cfdb69d178a31dfecc5003b0761c/equalsverifier-1.7.7.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.mockito/mockito-core/1.10.19/e8546f5bef4e061d8dd73895b4e8f40e3fe6effe/mockito-core-1.10.19.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/commons-io/commons-io/2.5/2852e6e05fbb95076fc091f6d1780f1f8fe35e0f/commons-io-2.5.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/joda-time/joda-time/2.8.2/d27c24204c5e507b16fec01006b3d0f1ec42aed4/joda-time-2.8.2.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/com.mysema.querydsl/querydsl-core/3.7.1/4dc982fd273c9a119c593761a27e30fd0a1db756/querydsl-core-3.7.1.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-api/1.7.21/139535a69a4239db087de9bab0bee568bf8e0b70/slf4j-api-1.7.21.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter/1.3.5.RELEASE/188c658fabbce0d1ccc1ae18a1cf58f566208c78/spring-boot-starter-1.3.5.RELEASE.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-aop/1.3.5.RELEASE/478a50b44faab2ada75583637b9f6e789809d069/spring-boot-starter-aop-1.3.5.RELEASE.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-jdbc/1.3.5.RELEASE/b427aa14a4f3a2fba114bcbb60eae6f83ee86706/spring-boot-starter-jdbc-1.3.5.RELEASE.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/javax.transaction/javax.transaction-api/1.2/d81aff979d603edd90dcd8db2abc1f4ce6479e3e/javax.transaction-api-1.2.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.springframework.data/spring-data-jpa/1.9.4.RELEASE/80b83510e67aa085b7d91d2d096d90133ec995de/spring-data-jpa-1.9.4.RELEASE.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.springframework/spring-aspects/4.2.6.RELEASE/7ed7b15e95eedd551ac979bd8c295256d96cf2ff/spring-aspects-4.2.6.RELEASE.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.jboss.logging/jboss-logging/3.3.0.Final/3616bb87707910296e2c195dc016287080bba5af/jboss-logging-3.3.0.Final.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/dom4j/dom4j/1.6.1/5d3ccc056b6f056dbf0dddfdf43894b9065a8f94/dom4j-1.6.1.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.hibernate.common/hibernate-commons-annotations/5.0.1.Final/71e1cff3fcb20d3b3af4f3363c3ddb24d33c6879/hibernate-commons-annotations-5.0.1.Final.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.hibernate.javax.persistence/hibernate-jpa-2.1-api/1.0.0.Final/5e731d961297e5a07290bfaf3db1fbc8bbbf405a/hibernate-jpa-2.1-api-1.0.0.Final.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.javassist/javassist/3.18.1-GA/d9a09f7732226af26bf99f19e2cffe0ae219db5b/javassist-3.18.1-GA.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.apache.geronimo.specs/geronimo-jta_1.1_spec/1.1.1/aabab3165b8ea936b9360abbf448459c0d04a5a4/geronimo-jta_1.1_spec-1.1.1.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/antlr/antlr/2.7.7/83cd2cd674a217ade95a4bb83a8a14f351f48bd0/antlr-2.7.7.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.jboss/jandex/2.0.0.Final/3e899258936f94649c777193e1be846387ed54b3/jandex-2.0.0.Final.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-slf4j-impl/2.4.1/1153bec315f388b2635c25cf97105ae9dce61b58/log4j-slf4j-impl-2.4.1.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-api/2.4.1/594e5643c9267ac1e91960a6b7315cf368c9ea02/log4j-api-2.4.1.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-core/2.4.1/a5334910f90944575147fd1c1aef9f407c24db99/log4j-core-2.4.1.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.slf4j/jcl-over-slf4j/1.7.21/331b564a3a42f002a0004b039c1c430da89062cd/jcl-over-slf4j-1.7.21.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.slf4j/jul-to-slf4j/1.7.21/2f22c882ffa479d1e9ff4eb0e8e2c29f2a0871ed/jul-to-slf4j-1.7.21.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.springframework/spring-web/4.2.5.RELEASE/49cd2430884b77172aa81e3fc33ef668ea1dab30/spring-web-4.2.5.RELEASE.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.springframework/spring-webmvc/4.2.6.RELEASE/7c7ea475d33287e0e3a92e98ccbe0ad6a0dbb9ca/spring-webmvc-4.2.6.RELEASE.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.springframework/spring-aop/4.2.6.RELEASE/5efbfccb19efda2956b8977561bf4da6b15b0d0e/spring-aop-4.2.6.RELEASE.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.springframework/spring-beans/4.2.6.RELEASE/d4a319fb4d949fb6313f45c929947b9b4e26283e/spring-beans-4.2.6.RELEASE.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.springframework/spring-context/4.2.6.RELEASE/bbf3c8526fe37bb341507f28db17882d4348dbca/spring-context-4.2.6.RELEASE.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.springframework/spring-core/4.2.6.RELEASE/a1c6ef01f18888f51fc5054c65ef4787b7cf0a1e/spring-core-4.2.6.RELEASE.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.eclipse.jetty/jetty-continuation/9.2.16.v20160414/323906b532d0c95fc1179f6a0e9261931f8964b/jetty-continuation-9.2.16.v20160414.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.eclipse.jetty/jetty-http/9.2.16.v20160414/5ce0c06170f0c75d1070b61fbe08a828b036bd9f/jetty-http-9.2.16.v20160414.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.eclipse.jetty/jetty-util/9.2.16.v20160414/e0accd393d4f2db45d39ebe14265301408b29fb6/jetty-util-9.2.16.v20160414.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.eclipse.jetty/jetty-io/9.2.16.v20160414/21b9bd4a4d9e497e5089d351e9256c885563888b/jetty-io-9.2.16.v20160414.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/com.google.guava/guava/21.0/3a3d111be1be1b745edfa7d91678a12d7ed38709/guava-21.0.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.springframework.plugin/spring-plugin-core/1.2.0.RELEASE/f380e7760032e7d929184f8ad8a33716b75c0657/spring-plugin-core-1.2.0.RELEASE.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.springframework.plugin/spring-plugin-metadata/1.2.0.RELEASE/97223fc496b6cab31602eedbd4202aa4fff0d44f/spring-plugin-metadata-1.2.0.RELEASE.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/io.springfox/springfox-spi/2.6.1/972ae720c6a9a5f31be2744972b435cc39166174/springfox-spi-2.6.1.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/io.swagger/swagger-annotations/1.5.13/72433c890a61a876d22063e269be421c810a1a8d/swagger-annotations-1.5.13.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/io.swagger/swagger-models/1.5.10/da29e4f4f7cff80b1ef134b0f3805013be443e58/swagger-models-1.5.10.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/io.springfox/springfox-schema/2.6.1/b4d837ed7dc726a59504d2e6587e162e071a8965/springfox-schema-2.6.1.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/io.springfox/springfox-swagger-common/2.6.1/47befb039a0a1f0cdaab74d2777fa9eb6b01f8db/springfox-swagger-common-2.6.1.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.mapstruct/mapstruct/1.0.0.Final/794bb2c7d3dd69211deb22857d92fb4c5361be3f/mapstruct-1.0.0.Final.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.antlr/antlr4-runtime/4.5.1/7d7288bbe0599b32b844971f270ed001a661357/antlr4-runtime-4.5.1.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.apache.tomcat.embed/tomcat-embed-core/8.0.33/4e7f547fbb2c364cb5e02a58790c5fb89e31efed/tomcat-embed-core-8.0.33.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.apache.tomcat.embed/tomcat-embed-el/8.0.33/31423f2d493cf1f7cf5f0082c9f94640e93b8c1b/tomcat-embed-el-8.0.33.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.apache.tomcat.embed/tomcat-embed-logging-juli/8.0.33/66bc309e0227c1ba2cf4417182d0b1583003d24b/tomcat-embed-logging-juli-8.0.33.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.apache.tomcat.embed/tomcat-embed-websocket/8.0.33/be1f95e5d9ae00f9bc6138441d29cfe5c7c60256/tomcat-embed-websocket-8.0.33.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/log4j/log4j/1.2.17/5af35056b4d257e4b64b9e8069c0746e8b08629f/log4j-1.2.17.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/commons-cli/commons-cli/1.3.1/1303efbc4b181e5a58bf2e967dc156a3132b97c0/commons-cli-1.3.1.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/jline/jline/2.14.2/2c743e5de407be1d69b69849afeae49db635e0f6/jline-2.14.2.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpclient/4.5.3/d1577ae15f01ef5438c5afc62162457c00a34713/httpclient-4.5.3.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpmime/4.5.2/22b4c53dd9b6761024258de8f9240c3dce6ea368/httpmime-4.5.2.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.atmosphere/wasync/2.1.2/3086ec4e46b494a4cd60e7c57309ab3ea97f6f45/wasync-2.1.2.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.ow2.proactive/common-api/8.2.0-rc1/feb60c054b348d5af32ecde18397686a936db113/common-api-8.2.0-rc1.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.ow2.proactive/common-http/8.2.0-rc1/eedc1d6d6289fb3cde63e865e79e8ca60b353dc/common-http-8.2.0-rc1.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.ow2.proactive_grid_cloud_portal/rest-api/8.2.0-rc1/df8cbbc4e283bee26536e5cf9576b71d56b1a6d7/rest-api-8.2.0-rc1.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.ow2.proactive/scheduler-api/8.2.0-rc1/356421b503a02ac5a9efe330b732c31f3501fbdd/scheduler-api-8.2.0-rc1.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-log4j12/1.7.21/7238b064d1aba20da2ac03217d700d91e02460fa/slf4j-log4j12-1.7.21.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/xerces/xercesImpl/2.11.0/9bb329db1cfc4e22462c9d6b43a8432f5850e92c/xercesImpl-2.11.0.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/com.google.errorprone/error_prone_annotations/2.0.8/54e2d56cb157df08cbf183149bcf50c9f5151ed4/error_prone_annotations-2.0.8.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-core/1.3/42a25dc3219429f0e5d060061f71acb49bf010a0/hamcrest-core-1.3.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.objenesis/objenesis/2.1/87c0ea803b69252868d09308b4618f766f135a96/objenesis-2.1.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/com.google.code.findbugs/jsr305/1.3.9/40719ea6961c0cb6afaeb6a921eaa1f6afd4cfdf/jsr305-1.3.9.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/com.mysema.commons/mysema-commons-lang/0.2.4/d09c8489d54251a6c22fbce804bdd4a070557317/mysema-commons-lang-0.2.4.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/com.infradna.tool/bridge-method-annotation/1.13/18cdce50cde6f54ee5390d0907384f72183ff0fe/bridge-method-annotation-1.13.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot/1.3.5.RELEASE/b218ba5f3bd01e657fbde9b085722da1fafa4f8a/spring-boot-1.3.5.RELEASE.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-autoconfigure/1.3.5.RELEASE/2bcfa86bb3afd95eff5252db6d78f2693b706997/spring-boot-autoconfigure-1.3.5.RELEASE.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.yaml/snakeyaml/1.16/d64fb662c9e42789149f5078a62a22edda786c6a/snakeyaml-1.16.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.aspectj/aspectjweaver/1.8.9/db28774f477f07220eac18d5ec9c4e01f48589d7/aspectjweaver-1.8.9.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.apache.tomcat/tomcat-jdbc/8.0.33/7f1b6d609f9c2e045e8d7759e96605841fffdf82/tomcat-jdbc-8.0.33.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.springframework/spring-jdbc/4.2.6.RELEASE/16075bfb0901a5b89c5be975365ff09b2df04abb/spring-jdbc-4.2.6.RELEASE.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.springframework.data/spring-data-commons/1.11.4.RELEASE/c2b1fd4dbf7dff772d6124bb35892759e8bf088e/spring-data-commons-1.11.4.RELEASE.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.springframework/spring-orm/4.2.6.RELEASE/2ef30e836028ebe4dbba0d8355929625a758ed8d/spring-orm-4.2.6.RELEASE.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.springframework/spring-tx/4.2.6.RELEASE/ba7502c0644414748b1eeb65b4193b05d335a110/spring-tx-4.2.6.RELEASE.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.springframework/spring-expression/4.2.6.RELEASE/c0182d73f348ab11d51d45cbe29f3820c32d0ccc/spring-expression-4.2.6.RELEASE.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/aopalliance/aopalliance/1.0/235ba8b489512805ac13a8f9ea77a1ca5ebe3e8/aopalliance-1.0.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/commons-logging/commons-logging/1.1.1/5043bfebc3db072ed80fbd362e7caf00e885d8ae/commons-logging-1.1.1.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/io.springfox/springfox-core/2.6.1/5c502e6b9d50d34096077eacc384cd00f63710e1/springfox-core-2.6.1.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpcore/4.4.4/b31526a230871fbe285fbcbe2813f9c0839ae9b0/httpcore-4.4.4.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/com.ning/async-http-client/1.9.20/35873163b7d5043ab8f921d3f5e66fdb98abdc43/async-http-client-1.9.20.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.objectweb.proactive/programming-annotation/8.2.0-rc1/cda9930119e92c49a645a29b36e4cba015c4a06f/programming-annotation-8.2.0-rc1.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.objectweb.proactive/programming-util/8.2.0-rc1/640654b308f0721f17e386e0c7a813685a4c2a57/programming-util-8.2.0-rc1.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.jboss.resteasy/resteasy-jackson-provider/3.0.17.Final/e655ed57f11291947da4afe3e68086884ec1f131/resteasy-jackson-provider-3.0.17.Final.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.jboss.resteasy/resteasy-multipart-provider/3.0.17.Final/7aff5c8cbbb95b72c3b68d0b48cbdcb0dfa2f8b4/resteasy-multipart-provider-3.0.17.Final.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.objectweb.proactive/programming-extension-dataspaces-common/8.2.0-rc1/d5cf50c4010afcecf67cab00850a0645fdbc5b82/programming-extension-dataspaces-common-8.2.0-rc1.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/it.sauronsoftware.cron4j/cron4j/2.2.5/da0dd0edee48b570cd1e23895e0ac80e09eb272b/cron4j-2.2.5.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-collections4/4.0/da217367fd25e88df52ba79e47658d4cf928b0d1/commons-collections4-4.0.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/msv/isorelax/20050913/b21859c352bd959ea22d06b2fe8c93b2e24531b9/isorelax-20050913.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/msv/msv/20050913/3fc5ca9708a8e7a219001da0bc3870d0a2d51c2d/msv-20050913.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/com.fasterxml.woodstox/woodstox-core/5.0.1/13a9863ea0153c8b3353dacecee37a139d80b649/woodstox-core-5.0.1.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/msv/relaxngDatatype/20050913/b117e0f9182c6cc094e833489bcdddadfd414090/relaxngDatatype-20050913.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/msv/xsdlib/20050913/836b85d70c54589aeef2ea810232ab192137ea84/xsdlib-20050913.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.apache.tomcat/tomcat-juli/8.0.33/330aecfa895156cea91c576cb6609537152761f9/tomcat-juli-8.0.33.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/io.netty/netty/3.10.1.Final/ca63e69a44f86ce822c73fee02267de6526acb68/netty-3.10.1.Final.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.codehaus.jackson/jackson-core-asl/1.9.12/ecfc6f73a841c4c3c653b59651a3f9d5f1286469/jackson-core-asl-1.9.12.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.codehaus.jackson/jackson-mapper-asl/1.9.12/8b290aae44213e2f6da00c07af59b0d442068f4d/jackson-mapper-asl-1.9.12.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.codehaus.jackson/jackson-jaxrs/1.9.12/8bc0bc2e095fd1b83af48b03f67f2ad16e829c01/jackson-jaxrs-1.9.12.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.codehaus.jackson/jackson-xc/1.9.12/2ec470401d7ac760481c84e95be8c66f19f92d2e/jackson-xc-1.9.12.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.jboss.resteasy/resteasy-jaxrs/3.0.17.Final/cddcf44126949f1da1675ef85ee4bcaecde5e524/resteasy-jaxrs-3.0.17.Final.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.jboss.resteasy/resteasy-client/3.0.17.Final/118ed4ecca4994ed2df4d315d3ebaa19f5571cd9/resteasy-client-3.0.17.Final.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.jboss.resteasy/resteasy-jaxb-provider/3.0.17.Final/897e60634f401548fd2d6289cc3cc3d10f80d08d/resteasy-jaxb-provider-3.0.17.Final.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/com.sun.mail/javax.mail/1.5.5/ffcd34b5de820f35bcc9303649cf6ab2c65ad44e/javax.mail-1.5.5.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.apache.james/apache-mime4j/0.6/945007627e8d12275d755081a9e609c018e1210d/apache-mime4j-0.6.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-vfs2/2.1.1744488.1/af8c7d2da3d7d04a42a59e746b6fcce17ea15988/commons-vfs2-2.1.1744488.1.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.codehaus.woodstox/stax2-api/3.1.4/ac19014b1e6a7c08aad07fe114af792676b685b7/stax2-api-3.1.4.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.jboss.spec.javax.ws.rs/jboss-jaxrs-api_2.0_spec/1.0.0.Final/dbf29e00dee135ef537b94167aa08b883f4d4cbf/jboss-jaxrs-api_2.0_spec-1.0.0.Final.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/org.jboss.spec.javax.annotation/jboss-annotations-api_1.2_spec/1.0.0.Final/6d7ff02a645227876ed550900d32d618b8f0d556/jboss-annotations-api_1.2_spec-1.0.0.Final.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/javax.activation/activation/1.1.1/485de3a253e23f645037828c07f1d7f1af40763a/activation-1.1.1.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/net.jcip/jcip-annotations/1.0/afba4942caaeaf46aab0b976afd57cc7c181467e/jcip-annotations-1.0.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/com.sun.xml.bind/jaxb-impl/2.2.7/a29e53347934e694c9551981cecd242fad05022b/jaxb-impl-2.2.7.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/com.sun.xml.bind/jaxb-core/2.2.7/f327817188a7dce503ae3c667c5931077630b0a1/jaxb-core-2.2.7.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/com.sun.xml.fastinfoset/FastInfoset/1.2.12/e8c1c096162a146c2d84135c5036edf54c1b1d38/FastInfoset-1.2.12.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/javax.xml.bind/jaxb-api/2.2.7/2f51c4bb4724ea408096ee9100ff2827e07e5b7c/jaxb-api-2.2.7.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/com.sun.istack/istack-commons-runtime/2.16/927eb6fbb003f40d536efd96e7cbcb7ea4c1c2d0/istack-commons-runtime-2.16.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/javax.xml.bind/jsr173_api/1.0/c79b8431c3104315c0aeaed7bf23d0ab0edbaa09/jsr173_api-1.0.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/com.fasterxml/classmate/1.3.1/2ad2fd09dcf5607ca96f8ef432096a96986c40a/classmate-1.3.1.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/commons-codec/commons-codec/1.10/4b95f4897fa13f2cd904aee711aeafc0c5295cd8/commons-codec-1.10.jar:/home/bdanglot/.gradle/caches/modules-2/files-2.1/xml-apis/xml-apis/1.4.01/3789d9fada2d3d458c4ba2de349d48780f381ee3/xml-apis-1.4.01.jar:/home/bdanglot/workspace/catalog/build/classes/main/:/home/bdanglot/workspace/catalog/target/test-classes/:/home/bdanglot/workspace/catalog/target/dspot/dependencies/: -d /home/bdanglot/workspace/catalog/target/test-classes -1.8 -preserveAllLocals -noExit -enableJavadoc -proc:none /home/bdanglot/workspace/catalog/target/dspot/tmp_test_sources/org/ow2/proactive/catalog/service/AuthorizationServiceTest.java
[ERROR] 2018-12-05 10:39:02 TestCompiler - Error(s) during compilation:
[ERROR] 2018-12-05 10:39:02 TestCompiler - Pb(100) The method builder() is undefined for the type AuthorizationServiceTest
[ERROR] 2018-12-05 10:39:02 TestCompiler - Pb(100) The method builder() is undefined for the type AuthorizationServiceTest
[ERROR] 2018-12-05 10:39:02 TestCompiler - Pb(100) The method builder() is undefined for the type AuthorizationServiceTest
[ERROR] 2018-12-05 10:39:02 TestCompiler - Pb(100) The method builder() is undefined for the type AuthorizationServiceTest
[ERROR] 2018-12-05 10:39:02 TestCompiler - Pb(100) The method builder() is undefined for the type AuthorizationServiceTest
[ERROR] 2018-12-05 10:39:02 TestCompiler - Pb(100) The method builder() is undefined for the type AuthorizationServiceTest
What happens is that when DSpot prints the current java class, something bad happens (e.g. a field access disappear).
I think this problem is related to INRIA/Spoon#2780
I'm gonna investigate.
I look closer to the errors.
It appears that Spoon does not support lombok annotation.
In the example of the previous message, the method builder()
should be generated by the annotation @Builder
, see this kind of class:
/*
* ProActive Parallel Suite(TM):
* The Open Source library for parallel and distributed
* Workflows & Scheduling, Orchestration, Cloud Automation
* and Big Data Analysis on Enterprise Grids & Clouds.
*
* Copyright (c) 2007 - 2017 ActiveEon
* Contact: contact@activeeon.com
*
* This library is free software: you can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License
* as published by the Free Software Foundation: version 3 of
* the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* If needed, contact us to obtain a release under GPL Version 2 or 3
* or a different license than the AGPL.
*/
package org.ow2.proactive.catalog.graphql.bean.argument;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author ActiveEon Team
* @since 12/06/2017
*/
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Data
public class CatalogObjectWhereArgs {
@JsonProperty("AND")
private List<CatalogObjectWhereArgs> andArg;
@JsonProperty("OR")
private List<CatalogObjectWhereArgs> orArg;
private CatalogObjectMetadataArgs metadataArg;
private CatalogObjectBucketNameWhereArgs bucketNameArg;
private CatalogObjectKindWhereArgs kindArg;
private CatalogObjectNameWhereArgs nameArg;
}
I'm gonna raise a new issue on Spoon's GitHub repository. Best.
I found a workaround and opened #665.
However, I'm skeptical about this, since the amplified test methods won't use the imports and will be less readable.
@monperrus what do you think?
Thanks a lot I manage to generate tests using the command line:
java -jar dspot-1.2.1-jar-with-dependencies.jar --path-to-properties dspot.properties --automatic-builder GradleBuilder -t org.ow2.proactive.catalog.service.BucketServiceTest -m pitest.csv --verbose>trace.log
@danglotb I manage to reproduce the spoon bug.
The bug can easily reproduced by running the following command:
java -jar dspot-1.2.1-jar-with-dependencies.jar --path-to-properties dspot.properties --automatic-builder GradleBuilder -t org.ow2.proactive.catalog.service.CatalogObjectServiceTest -m pitest.csv --verbose>trace.log
I already have tested all the classes and it seems that only the class CatalogObjectServiceTest makes spoon crash.
Here is the exception:
Exception in thread "main" spoon.SpoonException: Explicit modifier not found
at spoon.support.compiler.jdt.PositionBuilder.setModifiersPosition(PositionBuilder.java:525)
at spoon.support.compiler.jdt.PositionBuilder.buildPositionCtElement(PositionBuilder.java:283)
at spoon.support.compiler.jdt.ContextBuilder.enter(ContextBuilder.java:98)
at spoon.support.compiler.jdt.JDTTreeBuilderHelper.createType(JDTTreeBuilderHelper.java:624)
at spoon.support.compiler.jdt.JDTTreeBuilder.visit(JDTTreeBuilder.java:1651)
at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.traverse(TypeDeclaration.java:1349)
at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.traverse(CompilationUnitDeclaration.java:783)
at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.traverse(CompilationUnitDeclaration.java:744)
at spoon.support.compiler.jdt.JDTBasedSpoonCompiler.buildModel(JDTBasedSpoonCompiler.java:475)
at spoon.support.compiler.jdt.JDTBasedSpoonCompiler.buildUnitsAndModel(JDTBasedSpoonCompiler.java:390)
at spoon.support.compiler.jdt.JDTBasedSpoonCompiler.buildSources(JDTBasedSpoonCompiler.java:339)
at spoon.support.compiler.jdt.JDTBasedSpoonCompiler.build(JDTBasedSpoonCompiler.java:122)
at spoon.support.compiler.jdt.JDTBasedSpoonCompiler.build(JDTBasedSpoonCompiler.java:105)
at spoon.Launcher.buildModel(Launcher.java:767)
at eu.stamp_project.utils.compilation.TestCompiler.getNewModelCtClass(TestCompiler.java:199)
at eu.stamp_project.utils.compilation.TestCompiler.compileAndDiscardUncompilableMethods(TestCompiler.java:151)
at eu.stamp_project.utils.compilation.TestCompiler.compileAndDiscardUncompilableMethods(TestCompiler.java:119)
at eu.stamp_project.utils.compilation.TestCompiler.compileAndRun(TestCompiler.java:92)
at eu.stamp_project.utils.compilation.TestCompiler.compileRunAndDiscardUncompilableAndFailingTestMethods(TestCompiler.java:54)
at eu.stamp_project.dspot.Amplification.amplification(Amplification.java:77)
at eu.stamp_project.dspot.DSpot._amplify(DSpot.java:244)
at eu.stamp_project.dspot.DSpot.lambda$amplifyTestClassesTestMethods$6(DSpot.java:223)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
at eu.stamp_project.dspot.DSpot.amplifyTestClassesTestMethods(DSpot.java:224)
at eu.stamp_project.Main.run(Main.java:70)
at eu.stamp_project.Main.main(Main.java:41)
Here is the trace: trace.log
@danglotb thanks a lot for the help. I'm able to generate tests now, I can continue my work.
Thank you @MaelAudren
I'll have a look at this.
I did find a compromise in #665.
I recall the problem. When DSpot ends the amplification, it outputs the amplified test class using imports, i.e. replaces all full qualified names with imports statement.
The problem is when you use generation of code, such as Lombok annotations, Spoon (the library that manipulates the java code in DSpot) is not able to find this code. For instance, the @Builder
allows you to call a static method named builder()
. This should be called as follow: MyClassWithBuilderAnnotation.builder();
. Since Spoon, and so DSpot, cannot find the builder()
, it just outputs builder()
.
The avoid the problem, we can disable the mode autoImports
of Spoon, and then Spoon will output all the access using the qualified name and thus keeps MyClassWithBuilderAnnotation.builder();
.
The problem is that, without imports, an amplified test class is (very) unreadable.
To workaround, here what I proposed:
builder();
instead of MyClassWithBuilderAnnotation.builder();
, re-print it without importsIn this way, the "standard" output of DSpot uses imports, unless there is a problem.
Characteristics
Description
I don't manage to generate test from Dspot. I tried various configuration using several amplifiers but I feel like that my tests are never amplilfied. I think that normally Dspot execution should take several minutes but my executions always take less than 20 seconds.
Steps to reproduce
Properties file
Command Line / Options
Other files and URLs
Catalog generated Pitest CSV file