[ https://issues.apache.org/jira/browse/MSHADE-342?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17004828#comment-17004828 ]
Peter De Maeyer commented on MSHADE-342: ---------------------------------------- {quote} this IT should be defined as a setup IT {quote} I don't know how to do that, I'm not so familiar with the {{maven-invoker-plugin}}. I'll need to figure that out. > Many integration tests fail when run in isolation > ------------------------------------------------- > > Key: MSHADE-342 > URL: https://issues.apache.org/jira/browse/MSHADE-342 > Project: Maven Shade Plugin > Issue Type: Bug > Affects Versions: 3.2.2 > Reporter: Peter De Maeyer > Priority: Minor > > Maven invoker plugin supports running ITs in isolation, but many ITs fail > when running them in isolation. > One example (there are many others): > {code:bash} > mvn -Prun-its clean verify -Dinvoker.test=MSHADE-258_module_relocation > {code} > They fail because of a missing {{target/it/setup-parent/pom.xml}}. > The failure is logged in {{target/it/setup-parent/build.log}}. > The reason is that there is a missing parent dependency, which is apparently > required for _any_ IT in this project. > When you run all the ITs together, it works by accident because the missing > directory is created by some other test in the beginning of the IT test run, > and then all subsequent tests work as well. > h3. Potential solution > A fix is to identify the broken ITs by running all of them in isolation and > add the following to all of the broken ones: > {code:xml} > <parent> > <groupId>org.apache.maven.plugins.shade.its</groupId> > <artifactId>shade-parent</artifactId> > <version>1.0</version> > <relativePath>../setup-parent</relativePath> > </parent> > {code} > It should be documented somewhere (maybe it is but I overlooked it?) that, > when writing an IT, this _must_ be the parent. > The acceptance criteria for the fix should be: > # {{mvn -Run-its clean verify -Dinvoker.test=<any-IT>}} must run the IT in > isolation. > # Optional, but nice if it works: after running the IT (or all ITs) once, it > must be possible to debug the Maven project by doing {{cd target/it/<any-IT>; > mvnDebug install}}. > (+) It satisfies both acceptance criteria. > (-) Every individual IT's {{pom.xml}} needs to be updated with a parent > dependency it has no business with. > (-) It excludes writing an IT for a root project (that has no parent). > Maybe we can find a solution that doesn't involve updating all IT projects. > I'll need to investigate a bit more, first I'll need to figure out where the > {{setup-parent}} project comes from. -- This message was sent by Atlassian Jira (v8.3.4#803005)