You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Andreas Dangel (JIRA)" <ji...@codehaus.org> on 2012/06/02 11:10:21 UTC
[jira] (MPMD-151) Use canonical paths for the file list / Unit test
failures on builds.apache.org
Andreas Dangel created MPMD-151:
-----------------------------------
Summary: Use canonical paths for the file list / Unit test failures on builds.apache.org
Key: MPMD-151
URL: https://jira.codehaus.org/browse/MPMD-151
Project: Maven 2.x PMD Plugin
Issue Type: Improvement
Components: PMD
Affects Versions: 2.8
Reporter: Andreas Dangel
Attachments: canonical-files.patch
On the CI server, some unit tests are failing for maven-pmd-plugin (https://builds.apache.org/job/maven-plugins/).
It seems that the tests run fine on the slave "ubuntu2" but not on "ubuntu3".
ubuntu2 workspace path:
/home/hudson/hudson-slave/workspace/maven-plugins
ubuntu3 workspace path:
/home/jenkins/jenkins-slave/workspace/maven-plugins
However, PMD found violations in the following file:
/x1/jenkins/jenkins-slave/workspace/maven-plugins/maven-pmd-plugin/src/test/resources/unit/default-configuration/def/configuration/App.java
This could indicate the /x1 is actually a sym-link to /home. Maven-pmd-plugin sees /home/... and PMD sees /x1/.... PMD reports violations against /x1 but the maven-pmd-plugin doesn't know about this (it requested to process files under /home) - so the internal PmdFileInfo object couldn't not be determined.
Assuming the above is correct, then the attached patch *could* solve this problem. It determines the canonical paths of the files to be processed, hoping that the filenames are unique then. However, I could not reproduce this problem locally (I started maven from commandline instead letting Jenkins start it, maybe that's the difference?).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] (MPMD-151) Use canonical paths for the file list / Unit test
failures on builds.apache.org
Posted by "Olivier Lamy (JIRA)" <ji...@codehaus.org>.
[ https://jira.codehaus.org/browse/MPMD-151?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Olivier Lamy closed MPMD-151.
-----------------------------
Resolution: Fixed
Fix Version/s: 2.8
Assignee: Olivier Lamy
Good catch. Some ASF Jenkins nodes have symlink whereas some others not.
> Use canonical paths for the file list / Unit test failures on builds.apache.org
> -------------------------------------------------------------------------------
>
> Key: MPMD-151
> URL: https://jira.codehaus.org/browse/MPMD-151
> Project: Maven 2.x PMD Plugin
> Issue Type: Improvement
> Components: PMD
> Affects Versions: 2.8
> Reporter: Andreas Dangel
> Assignee: Olivier Lamy
> Fix For: 2.8
>
> Attachments: canonical-files.patch
>
>
> On the CI server, some unit tests are failing for maven-pmd-plugin (https://builds.apache.org/job/maven-plugins/).
> It seems that the tests run fine on the slave "ubuntu2" but not on "ubuntu3".
> ubuntu2 workspace path:
> /home/hudson/hudson-slave/workspace/maven-plugins
> ubuntu3 workspace path:
> /home/jenkins/jenkins-slave/workspace/maven-plugins
> However, PMD found violations in the following file:
> /x1/jenkins/jenkins-slave/workspace/maven-plugins/maven-pmd-plugin/src/test/resources/unit/default-configuration/def/configuration/App.java
> This could indicate the /x1 is actually a sym-link to /home. Maven-pmd-plugin sees /home/... and PMD sees /x1/.... PMD reports violations against /x1 but the maven-pmd-plugin doesn't know about this (it requested to process files under /home) - so the internal PmdFileInfo object couldn't not be determined.
> Assuming the above is correct, then the attached patch *could* solve this problem. It determines the canonical paths of the files to be processed, hoping that the filenames are unique then. However, I could not reproduce this problem locally (I started maven from commandline instead letting Jenkins start it, maybe that's the difference?).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] (MPMD-151) Use canonical paths for the file list / Unit test
failures on builds.apache.org
Posted by "Andreas Dangel (JIRA)" <ji...@codehaus.org>.
[ https://jira.codehaus.org/browse/MPMD-151?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=300334#comment-300334 ]
Andreas Dangel commented on MPMD-151:
-------------------------------------
I verified the code of PMD and we use indeed the canonical paths of the files.
I was also able to verify this issue manually by adding the following constructor to PmdReportTest
(sorry, couldn't find an easier way to reproduce this :)):
{noformat}
public PmdReportTest() throws Exception {
Field field = PlexusTestCase.class.getDeclaredField( "basedirPath" );
field.setAccessible( true );
field.set( null, "/M_TEST/maven-pmd-plugin" );
}
{noformat}
whereby "M_TEST" is a symlink to my home directory (/home/andreas). Now run it, e.g. "mvn test".
The attached patch solves this problem.
> Use canonical paths for the file list / Unit test failures on builds.apache.org
> -------------------------------------------------------------------------------
>
> Key: MPMD-151
> URL: https://jira.codehaus.org/browse/MPMD-151
> Project: Maven 2.x PMD Plugin
> Issue Type: Improvement
> Components: PMD
> Affects Versions: 2.8
> Reporter: Andreas Dangel
> Attachments: canonical-files.patch
>
>
> On the CI server, some unit tests are failing for maven-pmd-plugin (https://builds.apache.org/job/maven-plugins/).
> It seems that the tests run fine on the slave "ubuntu2" but not on "ubuntu3".
> ubuntu2 workspace path:
> /home/hudson/hudson-slave/workspace/maven-plugins
> ubuntu3 workspace path:
> /home/jenkins/jenkins-slave/workspace/maven-plugins
> However, PMD found violations in the following file:
> /x1/jenkins/jenkins-slave/workspace/maven-plugins/maven-pmd-plugin/src/test/resources/unit/default-configuration/def/configuration/App.java
> This could indicate the /x1 is actually a sym-link to /home. Maven-pmd-plugin sees /home/... and PMD sees /x1/.... PMD reports violations against /x1 but the maven-pmd-plugin doesn't know about this (it requested to process files under /home) - so the internal PmdFileInfo object couldn't not be determined.
> Assuming the above is correct, then the attached patch *could* solve this problem. It determines the canonical paths of the files to be processed, hoping that the filenames are unique then. However, I could not reproduce this problem locally (I started maven from commandline instead letting Jenkins start it, maybe that's the difference?).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira