MAPREDUCE-6006. native-task: add native tests to maven and fix bug in pom.xml. 
Contributed by Binglin Chang.

git-svn-id: 
https://svn.apache.org/repos/asf/hadoop/common/branches/MR-2841@1617877 
13f79535-47bb-0310-9956-ffa450edef68


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/886338ff
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/886338ff
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/886338ff

Branch: refs/heads/trunk
Commit: 886338ff80438b2daea3755f165cc411e39ef560
Parents: 4d4fb17
Author: Todd Lipcon <t...@apache.org>
Authored: Thu Aug 14 04:47:20 2014 +0000
Committer: Todd Lipcon <t...@apache.org>
Committed: Thu Aug 14 04:47:20 2014 +0000

----------------------------------------------------------------------
 .../CHANGES.MAPREDUCE-2841.txt                  |  3 +-
 .../hadoop-mapreduce-client-common/pom.xml      | 11 --------
 .../hadoop-mapreduce-client-nativetask/pom.xml  | 16 +++++++++--
 .../src/CMakeLists.txt                          |  4 +++
 .../src/main/native/test.sh                     | 29 ++++++++++++--------
 hadoop-project/pom.xml                          |  6 ----
 6 files changed, 38 insertions(+), 31 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/886338ff/hadoop-mapreduce-project/CHANGES.MAPREDUCE-2841.txt
----------------------------------------------------------------------
diff --git a/hadoop-mapreduce-project/CHANGES.MAPREDUCE-2841.txt 
b/hadoop-mapreduce-project/CHANGES.MAPREDUCE-2841.txt
index 462ac8b..c3c6ab9 100644
--- a/hadoop-mapreduce-project/CHANGES.MAPREDUCE-2841.txt
+++ b/hadoop-mapreduce-project/CHANGES.MAPREDUCE-2841.txt
@@ -11,4 +11,5 @@ MAPREDUCE-5995. native-task: Revert changes to Text internals 
(todd)
 MAPREDUCE-6005. native-task: Fix some valgrind errors (Binglin Chang)
 MAPREDUCE-5984. native-task: Reuse lz4 sources in hadoop-common (Binglin Chang)
 MAPREDUCE-5976. native-task: should not fail to build if snappy is missing 
(Manu Zhang)
-MAPREDUCE-5978. native-task: remove test case for not supported codec 
Bzip2Codec and DefaultCodec (Manu Zhang)
\ No newline at end of file
+MAPREDUCE-5978. native-task: remove test case for not supported codec 
Bzip2Codec and DefaultCodec (Manu Zhang)
+MAPREDUCE-6006. native-task: add native tests to maven and fix bug in pom.xml 
(Binglin Chang via todd)

http://git-wip-us.apache.org/repos/asf/hadoop/blob/886338ff/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/pom.xml
----------------------------------------------------------------------
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/pom.xml
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/pom.xml
index 48db5c8..7ef7d3b 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/pom.xml
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/pom.xml
@@ -84,17 +84,6 @@
           </execution>
         </executions>
       </plugin>
-      <plugin>
-        <artifactId>maven-jar-plugin</artifactId>
-        <executions>
-          <execution>
-            <goals>
-              <goal>test-jar</goal>
-            </goals>
-            <phase>test-compile</phase>
-          </execution>
-        </executions>
-      </plugin>
     </plugins>
   </build>
 </project>

http://git-wip-us.apache.org/repos/asf/hadoop/blob/886338ff/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/pom.xml
----------------------------------------------------------------------
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/pom.xml
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/pom.xml
index 9727800..bb7d7bb 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/pom.xml
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/pom.xml
@@ -66,7 +66,6 @@
     <dependency>
       <groupId>org.apache.hadoop</groupId>
       <artifactId>hadoop-mapreduce-client-common</artifactId>
-      <type>test-jar</type>
       <scope>test</scope>
     </dependency>
   </dependencies>
@@ -173,7 +172,6 @@
                       overwrite="true">
                       <fileset dir="${basedir}/src/main/native/testData" />
                     </copy>
-                    <copy file="${basedir}/src/main/native/test.sh" 
todir="${project.build.directory}/native/test" />
                     <exec executable="cmake" 
dir="${project.build.directory}/native"
                       failonerror="true">
                       <arg line="${basedir}/src/ 
-DGENERATED_JAVAH=${project.build.directory}/native/javah 
-DJVM_ARCH_DATA_MODEL=${sun.arch.data.model} -DREQUIRE_SNAPPY=${require.snappy} 
-DCUSTOM_SNAPPY_PREFIX=${snappy.prefix} -DCUSTOM_SNAPPY_LIB=${snappy.lib} 
-DCUSTOM_SNAPPY_INCLUDE=${snappy.include}" />
@@ -187,6 +185,20 @@
                   </target>
                 </configuration>
               </execution>
+              <execution>
+                <id>native_tests</id>
+                <phase>test</phase>
+                <goals><goal>run</goal></goals>
+                <configuration>
+                  <target>
+                    <exec executable="sh" failonerror="true" 
dir="${project.build.directory}/native/test">
+                      <arg value="-c"/>
+                      <arg value="[ x$SKIPTESTS = xtrue ] || sh test.sh"/>
+                      <env key="SKIPTESTS" value="${skipTests}"/>
+                    </exec>
+                  </target>
+                </configuration>
+              </execution>
             </executions>
           </plugin>
           <plugin>

http://git-wip-us.apache.org/repos/asf/hadoop/blob/886338ff/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/CMakeLists.txt
----------------------------------------------------------------------
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/CMakeLists.txt
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/CMakeLists.txt
index f38021d..77b6109 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/CMakeLists.txt
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/CMakeLists.txt
@@ -167,10 +167,14 @@ SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
 if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
     # macosx does not have -lrt
     set(NT_DEPEND_LIBRARY dl pthread z ${SNAPPY_LIBRARY} ${JAVA_JVM_LIBRARY})
+    set(SYSTEM_MAC TRUE)
 else (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
     set(NT_DEPEND_LIBRARY dl rt pthread z ${SNAPPY_LIBRARY} 
${JAVA_JVM_LIBRARY})
+    set(SYSTEM_MAC FALSE)
 endif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
 
+configure_file(main/native/test.sh test/test.sh)
+
 add_dual_library(nativetask
     ${CMAKE_BINARY_DIR}/lz4.c
     ${D}/cityhash/city.cc

http://git-wip-us.apache.org/repos/asf/hadoop/blob/886338ff/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/test.sh
----------------------------------------------------------------------
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/test.sh
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/test.sh
index 7310c9d..01506e6 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/test.sh
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/test.sh
@@ -1,18 +1,25 @@
-#!/bin/bash
+#!/bin/sh
+
+# only do normal tests by default
+FILTER="--gtest_filter=-Perf.*"
 
 # do all tests
-if [ "$1" == "all" ]; then
-shift
-./nttest $@
-exit $?
+if [ "$1" = "all" ]; then
+  shift
+  FILTER=""
 fi
 
 # do performance tests only
-if [ "$1" == "perf" ]; then
-shift
-./nttest --gtest_filter=Perf.* $@
-exit $?
+if [ "$1" = "perf" ]; then
+  shift
+  FILTER="--gtest_filter=Perf.*"
+fi
+
+if [ "${SYSTEM_MAC}" = "TRUE" ]; then
+  # MACOSX already setup RPATH, no extra help required
+  ./nttest $FILTER $@
+else
+  JAVA_JVM_LIBRARY_DIR=`dirname ${JAVA_JVM_LIBRARY}`
+  LD_LIBRARY_PATH=$JAVA_JVM_LIBRARY_DIR:$LD_LIBRARY_PATH ./nttest $FILTER $@
 fi
 
-# do not do performance test by default
-./nttest --gtest_filter=-Perf.* $@

http://git-wip-us.apache.org/repos/asf/hadoop/blob/886338ff/hadoop-project/pom.xml
----------------------------------------------------------------------
diff --git a/hadoop-project/pom.xml b/hadoop-project/pom.xml
index 947be86..2dc83dd 100644
--- a/hadoop-project/pom.xml
+++ b/hadoop-project/pom.xml
@@ -136,12 +136,6 @@
       </dependency>
       <dependency>
         <groupId>org.apache.hadoop</groupId>
-        <artifactId>hadoop-mapreduce-client-common</artifactId>
-        <version>${project.version}</version>
-        <type>test-jar</type>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.hadoop</groupId>
         <artifactId>hadoop-yarn-api</artifactId>
         <version>${project.version}</version>
       </dependency>

Reply via email to