HADOOP-12280. Skip unit tests based on maven profile rather than NativeCodeLoader.isNativeCodeLoaded (Masatake Iwasaki via Colin P. McCabe)
(cherry picked from commit 6f83274afc1eba1159427684d72d8f13778c5a88)
diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt
index 34e2dda..66655d5 100644
--- a/hadoop-common-project/hadoop-common/CHANGES.txt
+++ b/hadoop-common-project/hadoop-common/CHANGES.txt
@@ -232,6 +232,9 @@
command-line arguments passed by the user (Masatake Iwasaki via Colin P.
McCabe)
+ HADOOP-12280. Skip unit tests based on maven profile rather than
+ NativeCodeLoader.isNativeCodeLoaded (Masatake Iwasaki via Colin P. McCabe)
+
OPTIMIZATIONS
HADOOP-11785. Reduce the number of listStatus operation in distcp
diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/crypto/TestCryptoCodec.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/crypto/TestCryptoCodec.java
index 6e2ceaf..52e547b 100644
--- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/crypto/TestCryptoCodec.java
+++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/crypto/TestCryptoCodec.java
@@ -37,6 +37,7 @@
import org.apache.hadoop.io.DataInputBuffer;
import org.apache.hadoop.io.DataOutputBuffer;
import org.apache.hadoop.io.RandomDatum;
+import org.apache.hadoop.test.GenericTestUtils;
import org.apache.hadoop.util.NativeCodeLoader;
import org.apache.hadoop.util.ReflectionUtils;
import org.junit.Assert;
@@ -69,10 +70,7 @@
@Test(timeout=120000)
public void testJceAesCtrCryptoCodec() throws Exception {
- if (!"true".equalsIgnoreCase(System.getProperty("runningWithNative"))) {
- LOG.warn("Skipping since test was not run with -Pnative flag");
- Assume.assumeTrue(false);
- }
+ GenericTestUtils.assumeInNativeProfile();
if (!NativeCodeLoader.buildSupportsOpenssl()) {
LOG.warn("Skipping test since openSSL library not loaded");
Assume.assumeTrue(false);
@@ -91,10 +89,7 @@
@Test(timeout=120000)
public void testOpensslAesCtrCryptoCodec() throws Exception {
- if (!"true".equalsIgnoreCase(System.getProperty("runningWithNative"))) {
- LOG.warn("Skipping since test was not run with -Pnative flag");
- Assume.assumeTrue(false);
- }
+ GenericTestUtils.assumeInNativeProfile();
if (!NativeCodeLoader.buildSupportsOpenssl()) {
LOG.warn("Skipping test since openSSL library not loaded");
Assume.assumeTrue(false);
diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/crypto/TestCryptoStreamsWithOpensslAesCtrCryptoCodec.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/crypto/TestCryptoStreamsWithOpensslAesCtrCryptoCodec.java
index 9bbdf0a..cc02f48 100644
--- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/crypto/TestCryptoStreamsWithOpensslAesCtrCryptoCodec.java
+++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/crypto/TestCryptoStreamsWithOpensslAesCtrCryptoCodec.java
@@ -30,7 +30,7 @@
@BeforeClass
public static void init() throws Exception {
- GenericTestUtils.assumeNativeCodeLoaded();
+ GenericTestUtils.assumeInNativeProfile();
Configuration conf = new Configuration();
conf.set(
CommonConfigurationKeysPublic.HADOOP_SECURITY_CRYPTO_CODEC_CLASSES_AES_CTR_NOPADDING_KEY,
diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/TestSequenceFileAppend.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/TestSequenceFileAppend.java
index 7aa305f..be4ab92 100644
--- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/TestSequenceFileAppend.java
+++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/TestSequenceFileAppend.java
@@ -141,7 +141,7 @@
@Test(timeout = 30000)
public void testAppendRecordCompression() throws Exception {
- GenericTestUtils.assumeNativeCodeLoaded();
+ GenericTestUtils.assumeInNativeProfile();
Path file = new Path(ROOT_PATH, "testseqappendblockcompr.seq");
fs.delete(file, true);
@@ -175,7 +175,7 @@
@Test(timeout = 30000)
public void testAppendBlockCompression() throws Exception {
- GenericTestUtils.assumeNativeCodeLoaded();
+ GenericTestUtils.assumeInNativeProfile();
Path file = new Path(ROOT_PATH, "testseqappendblockcompr.seq");
fs.delete(file, true);
@@ -250,7 +250,7 @@
@Test(timeout = 30000)
public void testAppendSort() throws Exception {
- GenericTestUtils.assumeNativeCodeLoaded();
+ GenericTestUtils.assumeInNativeProfile();
Path file = new Path(ROOT_PATH, "testseqappendSort.seq");
fs.delete(file, true);
diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/test/GenericTestUtils.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/test/GenericTestUtils.java
index 7d52a8a..1e5852b 100644
--- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/test/GenericTestUtils.java
+++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/test/GenericTestUtils.java
@@ -414,9 +414,12 @@
}
/**
- * Skip test if native code is not loaded.
+ * Skip test if native build profile of Maven is not activated.
+ * Sub-project using this must set 'runningWithNative' property to true
+ * in the definition of native profile in pom.xml.
*/
- public static void assumeNativeCodeLoaded() {
- Assume.assumeTrue(NativeCodeLoader.isNativeCodeLoaded());
+ public static void assumeInNativeProfile() {
+ Assume.assumeTrue(
+ Boolean.valueOf(System.getProperty("runningWithNative", "false")));
}
}