[ https://issues.apache.org/jira/browse/HADOOP-9470?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrey Klochkov updated HADOOP-9470: ------------------------------------ Description: In different modules of Hadoop project there are tests with identical FQNs (fully qualified name). For example, test with FQN org.apache.hadoop.util.TestRunJar is contained in 2 modules: ./hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestRunJar.java ./hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/util/TestRunJar.java Such situation causes certain problems with test result reporting and other code analysis tools (such as Clover, e.g.) because almost all the tools identify the tests by their Java FQN. So, I suggest to rename all such test classes to avoid duplicate FQNs in different modules. I'm attaching simple shell script that can find all such problematic test classes. Currently Hadoop trunk has 9 such test classes, they are: $ ~/bin/find-duplicate-fqns.sh # Module [./hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/target/test-classes] has 7 duplicate FQN tests: org.apache.hadoop.ipc.TestSocketFactory org.apache.hadoop.mapred.TestFileOutputCommitter org.apache.hadoop.mapred.TestJobClient org.apache.hadoop.mapred.TestJobConf org.apache.hadoop.mapreduce.lib.output.TestFileOutputCommitter org.apache.hadoop.util.TestReflectionUtils org.apache.hadoop.util.TestRunJar # Module [./hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/target/test-classes] has 2 duplicate FQN tests: org.apache.hadoop.yarn.TestRecordFactory org.apache.hadoop.yarn.TestRPCFactories was: In different modules of Hadoop project there are tests with identical FQNs (fully qualified name). For example, test with FQN org.apache.hadoop.util.TestRunJar is contained in 2 modules: ./hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestRunJar.java ./hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/util/TestRunJar.java Such situation causes certain problems with test result reporting and other code analysis tools (such as Clover, e.g.) because almost all the tools identify the tests by their Java FQN. So, I suggest to rename all such test classes to avoid duplicate FQNs in different modules. I'm attaching simple shell script that can find all such problematic test classes. Currently Hadoop trunk has 9 such test classes, they are: $ ~/bin/find-duplicate-fqns.sh ##### Module [./hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/target/test-classes] has 7 duplicate FQN tests: org.apache.hadoop.ipc.TestSocketFactory org.apache.hadoop.mapred.TestFileOutputCommitter org.apache.hadoop.mapred.TestJobClient org.apache.hadoop.mapred.TestJobConf org.apache.hadoop.mapreduce.lib.output.TestFileOutputCommitter org.apache.hadoop.util.TestReflectionUtils org.apache.hadoop.util.TestRunJar ##### Module [./hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/target/test-classes] has 2 duplicate FQN tests: org.apache.hadoop.yarn.TestRecordFactory org.apache.hadoop.yarn.TestRPCFactories > eliminate duplicate FQN tests in different Hadoop modules > --------------------------------------------------------- > > Key: HADOOP-9470 > URL: https://issues.apache.org/jira/browse/HADOOP-9470 > Project: Hadoop Common > Issue Type: Improvement > Affects Versions: 3.0.0, 0.23.7, 2.0.4-alpha > Reporter: Ivan A. Veselovsky > Assignee: Ivan A. Veselovsky > Attachments: find-duplicate-fqns.sh, HADOOP-9470-branch-0.23.patch, > HADOOP-9470-trunk.patch > > > In different modules of Hadoop project there are tests with identical FQNs > (fully qualified name). > For example, test with FQN org.apache.hadoop.util.TestRunJar is contained in > 2 modules: > > ./hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/util/TestRunJar.java > > ./hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/util/TestRunJar.java > > Such situation causes certain problems with test result reporting and other > code analysis tools (such as Clover, e.g.) because almost all the tools > identify the tests by their Java FQN. > So, I suggest to rename all such test classes to avoid duplicate FQNs in > different modules. I'm attaching simple shell script that can find all such > problematic test classes. Currently Hadoop trunk has 9 such test classes, > they are: > $ ~/bin/find-duplicate-fqns.sh > # Module > [./hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/target/test-classes] > has 7 duplicate FQN tests: > org.apache.hadoop.ipc.TestSocketFactory > org.apache.hadoop.mapred.TestFileOutputCommitter > org.apache.hadoop.mapred.TestJobClient > org.apache.hadoop.mapred.TestJobConf > org.apache.hadoop.mapreduce.lib.output.TestFileOutputCommitter > org.apache.hadoop.util.TestReflectionUtils > org.apache.hadoop.util.TestRunJar > # Module > [./hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/target/test-classes] > has 2 duplicate FQN tests: > org.apache.hadoop.yarn.TestRecordFactory > org.apache.hadoop.yarn.TestRPCFactories -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira