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)

Reply via email to