Merge "Enable Apache Harmony crypto tests."
diff --git a/Android.mk b/Android.mk
index 93ade53..019c4e2 100644
--- a/Android.mk
+++ b/Android.mk
@@ -8,23 +8,26 @@
harmony_test_dirs := \
beans \
+ crypto \
logging \
luni \
sql \
support \
# TODO: get these working too!
-# crypto \
# security \
# x-net
harmony_test_src_files := \
$(call all-harmony-test-java-files-under,$(harmony_test_dirs),src/test/java) \
+ $(call all-harmony-test-java-files-under,$(harmony_test_dirs),src/test/api/java) \
$(call all-harmony-test-java-files-under,$(harmony_test_dirs),src/test/support/java) \
+ $(call all-harmony-test-java-files-under,$(harmony_test_dirs),src/test/support/common/java) \
$(call all-harmony-test-java-files-under,luni,src/test/api/common) \
$(call all-harmony-test-java-files-under,luni,src/test/api/unix) \
$(call all-harmony-test-java-files-under,luni,src/test/impl/common) \
- $(call all-harmony-test-java-files-under,luni,src/test/impl/unix)
+ $(call all-harmony-test-java-files-under,luni,src/test/impl/unix) \
+ $(call all-harmony-test-java-files-under,security,src/test/support/common/java)
# We need to use -maxdepth 4 because there's a non-resource directory called "resources" deeper in the tree.
define harmony-test-resource-dirs
diff --git a/crypto/src/test/api/java/org/apache/harmony/crypto/tests/javax/crypto/spec/SecretKeySpecTest.java b/crypto/src/test/api/java/org/apache/harmony/crypto/tests/javax/crypto/spec/SecretKeySpecTest.java
index ce1a97b..4b61174 100644
--- a/crypto/src/test/api/java/org/apache/harmony/crypto/tests/javax/crypto/spec/SecretKeySpecTest.java
+++ b/crypto/src/test/api/java/org/apache/harmony/crypto/tests/javax/crypto/spec/SecretKeySpecTest.java
@@ -121,6 +121,11 @@
} catch (ArrayIndexOutOfBoundsException e) {
}
+ // BEGIN Android-removed: Unnecessarily specific test
+ // This is illegal for three reasons (key too short, invalid offset, invalid length),
+ // and the spec doesn't specify which exception should be thrown if multiple are
+ // valid. We happen to throw IllegalArgumentException, which is allowed behavior.
+ /*
// Regression test for HARMONY-6347
try {
new SecretKeySpec(key, -1, key.length + 2, algorithm);
@@ -130,6 +135,9 @@
fail("Not expected IllegalArgumentException was thrown.");
} catch (ArrayIndexOutOfBoundsException e) {
}
+ */
+ // END Android-removed: Unnecessarily specific test
+
try {
new SecretKeySpec(key, offset, len, null);
diff --git a/crypto/src/test/resources/serialization/org/apache/harmony/crypto/tests/javax/crypto/serialization/BadPaddingExceptionTest.golden.0.ser b/crypto/src/test/resources/serialization/com/android/org/apache/harmony/crypto/tests/javax/crypto/serialization/BadPaddingExceptionTest.golden.0.ser
similarity index 100%
rename from crypto/src/test/resources/serialization/org/apache/harmony/crypto/tests/javax/crypto/serialization/BadPaddingExceptionTest.golden.0.ser
rename to crypto/src/test/resources/serialization/com/android/org/apache/harmony/crypto/tests/javax/crypto/serialization/BadPaddingExceptionTest.golden.0.ser
Binary files differ
diff --git a/crypto/src/test/resources/serialization/org/apache/harmony/crypto/tests/javax/crypto/serialization/BadPaddingExceptionTest.golden.1.ser b/crypto/src/test/resources/serialization/com/android/org/apache/harmony/crypto/tests/javax/crypto/serialization/BadPaddingExceptionTest.golden.1.ser
similarity index 100%
rename from crypto/src/test/resources/serialization/org/apache/harmony/crypto/tests/javax/crypto/serialization/BadPaddingExceptionTest.golden.1.ser
rename to crypto/src/test/resources/serialization/com/android/org/apache/harmony/crypto/tests/javax/crypto/serialization/BadPaddingExceptionTest.golden.1.ser
Binary files differ
diff --git a/crypto/src/test/resources/serialization/org/apache/harmony/crypto/tests/javax/crypto/serialization/BadPaddingExceptionTest.golden.2.ser b/crypto/src/test/resources/serialization/com/android/org/apache/harmony/crypto/tests/javax/crypto/serialization/BadPaddingExceptionTest.golden.2.ser
similarity index 100%
rename from crypto/src/test/resources/serialization/org/apache/harmony/crypto/tests/javax/crypto/serialization/BadPaddingExceptionTest.golden.2.ser
rename to crypto/src/test/resources/serialization/com/android/org/apache/harmony/crypto/tests/javax/crypto/serialization/BadPaddingExceptionTest.golden.2.ser
Binary files differ
diff --git a/crypto/src/test/resources/serialization/org/apache/harmony/crypto/tests/javax/crypto/serialization/ExemptionMechanismExceptionTest.golden.0.ser b/crypto/src/test/resources/serialization/com/android/org/apache/harmony/crypto/tests/javax/crypto/serialization/ExemptionMechanismExceptionTest.golden.0.ser
similarity index 100%
rename from crypto/src/test/resources/serialization/org/apache/harmony/crypto/tests/javax/crypto/serialization/ExemptionMechanismExceptionTest.golden.0.ser
rename to crypto/src/test/resources/serialization/com/android/org/apache/harmony/crypto/tests/javax/crypto/serialization/ExemptionMechanismExceptionTest.golden.0.ser
Binary files differ
diff --git a/crypto/src/test/resources/serialization/org/apache/harmony/crypto/tests/javax/crypto/serialization/ExemptionMechanismExceptionTest.golden.1.ser b/crypto/src/test/resources/serialization/com/android/org/apache/harmony/crypto/tests/javax/crypto/serialization/ExemptionMechanismExceptionTest.golden.1.ser
similarity index 100%
rename from crypto/src/test/resources/serialization/org/apache/harmony/crypto/tests/javax/crypto/serialization/ExemptionMechanismExceptionTest.golden.1.ser
rename to crypto/src/test/resources/serialization/com/android/org/apache/harmony/crypto/tests/javax/crypto/serialization/ExemptionMechanismExceptionTest.golden.1.ser
Binary files differ
diff --git a/crypto/src/test/resources/serialization/org/apache/harmony/crypto/tests/javax/crypto/serialization/ExemptionMechanismExceptionTest.golden.2.ser b/crypto/src/test/resources/serialization/com/android/org/apache/harmony/crypto/tests/javax/crypto/serialization/ExemptionMechanismExceptionTest.golden.2.ser
similarity index 100%
rename from crypto/src/test/resources/serialization/org/apache/harmony/crypto/tests/javax/crypto/serialization/ExemptionMechanismExceptionTest.golden.2.ser
rename to crypto/src/test/resources/serialization/com/android/org/apache/harmony/crypto/tests/javax/crypto/serialization/ExemptionMechanismExceptionTest.golden.2.ser
Binary files differ
diff --git a/crypto/src/test/resources/serialization/org/apache/harmony/crypto/tests/javax/crypto/serialization/IllegalBlockSizeExceptionTest.golden.0.ser b/crypto/src/test/resources/serialization/com/android/org/apache/harmony/crypto/tests/javax/crypto/serialization/IllegalBlockSizeExceptionTest.golden.0.ser
similarity index 100%
rename from crypto/src/test/resources/serialization/org/apache/harmony/crypto/tests/javax/crypto/serialization/IllegalBlockSizeExceptionTest.golden.0.ser
rename to crypto/src/test/resources/serialization/com/android/org/apache/harmony/crypto/tests/javax/crypto/serialization/IllegalBlockSizeExceptionTest.golden.0.ser
Binary files differ
diff --git a/crypto/src/test/resources/serialization/org/apache/harmony/crypto/tests/javax/crypto/serialization/IllegalBlockSizeExceptionTest.golden.1.ser b/crypto/src/test/resources/serialization/com/android/org/apache/harmony/crypto/tests/javax/crypto/serialization/IllegalBlockSizeExceptionTest.golden.1.ser
similarity index 100%
rename from crypto/src/test/resources/serialization/org/apache/harmony/crypto/tests/javax/crypto/serialization/IllegalBlockSizeExceptionTest.golden.1.ser
rename to crypto/src/test/resources/serialization/com/android/org/apache/harmony/crypto/tests/javax/crypto/serialization/IllegalBlockSizeExceptionTest.golden.1.ser
Binary files differ
diff --git a/crypto/src/test/resources/serialization/org/apache/harmony/crypto/tests/javax/crypto/serialization/IllegalBlockSizeExceptionTest.golden.2.ser b/crypto/src/test/resources/serialization/com/android/org/apache/harmony/crypto/tests/javax/crypto/serialization/IllegalBlockSizeExceptionTest.golden.2.ser
similarity index 100%
rename from crypto/src/test/resources/serialization/org/apache/harmony/crypto/tests/javax/crypto/serialization/IllegalBlockSizeExceptionTest.golden.2.ser
rename to crypto/src/test/resources/serialization/com/android/org/apache/harmony/crypto/tests/javax/crypto/serialization/IllegalBlockSizeExceptionTest.golden.2.ser
Binary files differ
diff --git a/crypto/src/test/resources/serialization/org/apache/harmony/crypto/tests/javax/crypto/serialization/NoSuchPaddingExceptionTest.golden.0.ser b/crypto/src/test/resources/serialization/com/android/org/apache/harmony/crypto/tests/javax/crypto/serialization/NoSuchPaddingExceptionTest.golden.0.ser
similarity index 100%
rename from crypto/src/test/resources/serialization/org/apache/harmony/crypto/tests/javax/crypto/serialization/NoSuchPaddingExceptionTest.golden.0.ser
rename to crypto/src/test/resources/serialization/com/android/org/apache/harmony/crypto/tests/javax/crypto/serialization/NoSuchPaddingExceptionTest.golden.0.ser
Binary files differ
diff --git a/crypto/src/test/resources/serialization/org/apache/harmony/crypto/tests/javax/crypto/serialization/NoSuchPaddingExceptionTest.golden.1.ser b/crypto/src/test/resources/serialization/com/android/org/apache/harmony/crypto/tests/javax/crypto/serialization/NoSuchPaddingExceptionTest.golden.1.ser
similarity index 100%
rename from crypto/src/test/resources/serialization/org/apache/harmony/crypto/tests/javax/crypto/serialization/NoSuchPaddingExceptionTest.golden.1.ser
rename to crypto/src/test/resources/serialization/com/android/org/apache/harmony/crypto/tests/javax/crypto/serialization/NoSuchPaddingExceptionTest.golden.1.ser
Binary files differ
diff --git a/crypto/src/test/resources/serialization/org/apache/harmony/crypto/tests/javax/crypto/serialization/NoSuchPaddingExceptionTest.golden.2.ser b/crypto/src/test/resources/serialization/com/android/org/apache/harmony/crypto/tests/javax/crypto/serialization/NoSuchPaddingExceptionTest.golden.2.ser
similarity index 100%
rename from crypto/src/test/resources/serialization/org/apache/harmony/crypto/tests/javax/crypto/serialization/NoSuchPaddingExceptionTest.golden.2.ser
rename to crypto/src/test/resources/serialization/com/android/org/apache/harmony/crypto/tests/javax/crypto/serialization/NoSuchPaddingExceptionTest.golden.2.ser
Binary files differ
diff --git a/crypto/src/test/resources/serialization/org/apache/harmony/crypto/tests/javax/crypto/serialization/ShortBufferExceptionTest.golden.0.ser b/crypto/src/test/resources/serialization/com/android/org/apache/harmony/crypto/tests/javax/crypto/serialization/ShortBufferExceptionTest.golden.0.ser
similarity index 100%
rename from crypto/src/test/resources/serialization/org/apache/harmony/crypto/tests/javax/crypto/serialization/ShortBufferExceptionTest.golden.0.ser
rename to crypto/src/test/resources/serialization/com/android/org/apache/harmony/crypto/tests/javax/crypto/serialization/ShortBufferExceptionTest.golden.0.ser
Binary files differ
diff --git a/crypto/src/test/resources/serialization/org/apache/harmony/crypto/tests/javax/crypto/serialization/ShortBufferExceptionTest.golden.1.ser b/crypto/src/test/resources/serialization/com/android/org/apache/harmony/crypto/tests/javax/crypto/serialization/ShortBufferExceptionTest.golden.1.ser
similarity index 100%
rename from crypto/src/test/resources/serialization/org/apache/harmony/crypto/tests/javax/crypto/serialization/ShortBufferExceptionTest.golden.1.ser
rename to crypto/src/test/resources/serialization/com/android/org/apache/harmony/crypto/tests/javax/crypto/serialization/ShortBufferExceptionTest.golden.1.ser
Binary files differ
diff --git a/crypto/src/test/resources/serialization/org/apache/harmony/crypto/tests/javax/crypto/serialization/ShortBufferExceptionTest.golden.2.ser b/crypto/src/test/resources/serialization/com/android/org/apache/harmony/crypto/tests/javax/crypto/serialization/ShortBufferExceptionTest.golden.2.ser
similarity index 100%
rename from crypto/src/test/resources/serialization/org/apache/harmony/crypto/tests/javax/crypto/serialization/ShortBufferExceptionTest.golden.2.ser
rename to crypto/src/test/resources/serialization/com/android/org/apache/harmony/crypto/tests/javax/crypto/serialization/ShortBufferExceptionTest.golden.2.ser
Binary files differ
diff --git a/security/src/test/support/common/java/org/apache/harmony/security/tests/support/provider/cert/CertFactoryTestData.java b/security/src/test/support/common/java/org/apache/harmony/security/tests/support/provider/cert/CertFactoryTestData.java
index 15fad04..875350c 100644
--- a/security/src/test/support/common/java/org/apache/harmony/security/tests/support/provider/cert/CertFactoryTestData.java
+++ b/security/src/test/support/common/java/org/apache/harmony/security/tests/support/provider/cert/CertFactoryTestData.java
@@ -22,8 +22,9 @@
package org.apache.harmony.security.tests.support.provider.cert;
import java.io.UnsupportedEncodingException;
-
-import org.apache.harmony.luni.util.Base64;
+// Android-changed: Don't use Harmony's Base64 class
+// import org.apache.harmony.luni.util.Base64;
+import java.util.Base64;
/**
* Class contains the base 64 encodings of X.509 certificates,
@@ -295,15 +296,21 @@
public static byte[] getCertPathPKCS7Encoding() throws UnsupportedEncodingException {
- return Base64.decode(certPathPKCS7Base64.getBytes("UTF-8"));
+ // Android-changed: Don't use Harmony's Base64 class
+ // return Base64.decode(certPathPKCS7Base64.getBytes("UTF-8"));
+ return Base64.getDecoder().decode(certPathPKCS7Base64.getBytes("UTF-8"));
}
public static byte[] getCertPathPkiPathEncoding() throws UnsupportedEncodingException {
- return Base64.decode(certPathPkiPathBase64.getBytes("UTF-8"));
+ // Android-changed: Don't use Harmony's Base64 class
+ // return Base64.decode(certPathPkiPathBase64.getBytes("UTF-8"));
+ return Base64.getDecoder().decode(certPathPkiPathBase64.getBytes("UTF-8"));
}
public static byte[] getCertEncoding() throws UnsupportedEncodingException {
- return Base64.decode(certEncodingBase64.getBytes("UTF-8"));
+ // Android-changed: Don't use Harmony's Base64 class
+ // return Base64.decode(certEncodingBase64.getBytes("UTF-8"));
+ return Base64.getDecoder().decode(certEncodingBase64.getBytes("UTF-8"));
}
public static byte[] getBase64CertEncoding() throws UnsupportedEncodingException {
@@ -315,7 +322,9 @@
}
public static byte[] getCRLEncoding() throws UnsupportedEncodingException {
- return Base64.decode(crlEncodingBase64.getBytes("UTF-8"));
+ // Android-changed: Don't use Harmony's Base64 class
+ // return Base64.decode(crlEncodingBase64.getBytes("UTF-8"));
+ return Base64.getDecoder().decode(crlEncodingBase64.getBytes("UTF-8"));
}
}