You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Peter De Maeyer (Jira)" <ji...@apache.org> on 2019/12/29 08:00:08 UTC

[jira] [Created] (MSHADE-342) Many ITs don't run in isolation

Peter De Maeyer created MSHADE-342:
--------------------------------------

             Summary: Many ITs don't 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


Maven invoker plugin supports running ITs in isolation, but many ITs in the "maven-shade-plugin" don't:.
One example (there are many others):

{code:bash}
mvn -Prun-its clean verify -Dinvoker.test=MSHADE-258_module_relocation
 {code}

If you try to run them, 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 the ITs as a whole, 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.

The 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.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)