Browse Source

HADOOP-11062. CryptoCodec testcases requiring OpenSSL should be run only if -Pnative is used. (asuresh via tucu)

Alejandro Abdelnur 10 years ago
parent
commit
c0c7e6fabd

+ 3 - 0
hadoop-common-project/hadoop-common/CHANGES.txt

@@ -821,6 +821,9 @@ Release 2.6.0 - UNRELEASED
     HADOOP-11097. kms docs say proxyusers, not proxyuser for config params.
     (clamb via tucu)
 
+    HADOOP-11062. CryptoCodec testcases requiring OpenSSL should be run 
+    only if -Pnative is used. (asuresh via tucu)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

+ 3 - 0
hadoop-common-project/hadoop-common/pom.xml

@@ -375,6 +375,7 @@
           <systemPropertyVariables>
             <startKdc>${startKdc}</startKdc>
             <kdc.resource.dir>${kdc.resource.dir}</kdc.resource.dir>
+            <runningWithNative>${runningWithNative}</runningWithNative>
           </systemPropertyVariables>
           <properties>
             <property>
@@ -507,6 +508,7 @@
         <openssl.lib></openssl.lib>
         <openssl.include></openssl.include>
         <require.openssl>false</require.openssl>
+        <runningWithNative>true</runningWithNative>
       </properties>
       <build>
         <plugins>
@@ -626,6 +628,7 @@
         <openssl.lib></openssl.lib>
         <openssl.include></openssl.include>
         <require.openssl>false</require.openssl>
+        <runningWithNative>true</runningWithNative>
         <bundle.openssl.in.bin>true</bundle.openssl.in.bin>
       </properties>
       <build>

+ 16 - 2
hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/crypto/TestCryptoCodec.java

@@ -59,7 +59,14 @@ public class TestCryptoCodec {
   
   @Test(timeout=120000)
   public void testJceAesCtrCryptoCodec() throws Exception {
-    Assume.assumeTrue(NativeCodeLoader.buildSupportsOpenssl());
+    if (!"true".equalsIgnoreCase(System.getProperty("runningWithNative"))) {
+      LOG.warn("Skipping since test was not run with -Pnative flag");
+      Assume.assumeTrue(false);
+    }
+    if (!NativeCodeLoader.buildSupportsOpenssl()) {
+      LOG.warn("Skipping test since openSSL library not loaded");
+      Assume.assumeTrue(false);
+    }
     Assert.assertEquals(null, OpensslCipher.getLoadingFailureReason());
     cryptoCodecTest(conf, seed, 0, jceCodecClass, jceCodecClass);
     cryptoCodecTest(conf, seed, count, jceCodecClass, jceCodecClass);
@@ -68,7 +75,14 @@ public class TestCryptoCodec {
   
   @Test(timeout=120000)
   public void testOpensslAesCtrCryptoCodec() throws Exception {
-    Assume.assumeTrue(NativeCodeLoader.buildSupportsOpenssl());
+    if (!"true".equalsIgnoreCase(System.getProperty("runningWithNative"))) {
+      LOG.warn("Skipping since test was not run with -Pnative flag");
+      Assume.assumeTrue(false);
+    }
+    if (!NativeCodeLoader.buildSupportsOpenssl()) {
+      LOG.warn("Skipping test since openSSL library not loaded");
+      Assume.assumeTrue(false);
+    }
     Assert.assertEquals(null, OpensslCipher.getLoadingFailureReason());
     cryptoCodecTest(conf, seed, 0, opensslCodecClass, opensslCodecClass);
     cryptoCodecTest(conf, seed, count, opensslCodecClass, opensslCodecClass);

+ 7 - 0
hadoop-hdfs-project/hadoop-hdfs/pom.xml

@@ -209,6 +209,7 @@ http://maven.apache.org/xsd/maven-4.0.0.xsd">
           <systemPropertyVariables>
             <startKdc>${startKdc}</startKdc>
             <kdc.resource.dir>${kdc.resource.dir}</kdc.resource.dir>
+            <runningWithNative>${runningWithNative}</runningWithNative>
           </systemPropertyVariables>
           <properties>
             <property>
@@ -386,6 +387,9 @@ http://maven.apache.org/xsd/maven-4.0.0.xsd">
           <family>windows</family>
         </os>
       </activation>
+      <properties>
+        <runningWithNative>true</runningWithNative>
+      </properties>
       <build>
         <plugins>
           <plugin>
@@ -476,6 +480,9 @@ http://maven.apache.org/xsd/maven-4.0.0.xsd">
       <activation>
         <activeByDefault>false</activeByDefault>
       </activation>
+      <properties>
+        <runningWithNative>true</runningWithNative>
+      </properties>
       <build>
         <plugins>
           <plugin>