Details
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