summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Gampe <agampe@google.com>2018-09-27 22:14:15 -0700
committerandroid-build-merger <android-build-merger@google.com>2018-09-27 22:14:15 -0700
commitc040ac650c948381b35819d32ee93809c93138cd (patch)
tree04ba7ca7cdfbba77a839299f4f46be8fefe36c03
parent657d3f7efd438206f1b92191dc70c150d00e033c (diff)
parent750ddd139390bae64020f4099ac051492848fa44 (diff)
downloadapache-harmony-c040ac650c948381b35819d32ee93809c93138cd.tar.gz
Merge "Harmony: Change Mock build"
am: 750ddd1393 Change-Id: I694421583f0c2a4e1438cdfbb83d436e87592cd0
-rw-r--r--jdwp/Android.bp39
-rw-r--r--jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/Events/ClassPrepareTest.java2
-rw-r--r--jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/ReferenceType/SourceDebugExtensionDebuggee.java142
-rw-r--r--jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/ReferenceType/SourceDebugExtensionTest.java3
4 files changed, 33 insertions, 153 deletions
diff --git a/jdwp/Android.bp b/jdwp/Android.bp
index 25a407e..4d4e3d5 100644
--- a/jdwp/Android.bp
+++ b/jdwp/Android.bp
@@ -1,8 +1,18 @@
-java_test {
- name: "CtsJdwp",
+java_genrule {
+ name: "SourceDebugExtensionMockClass_gen",
+ host_supported: true,
+ srcs: ["src/test/resources/org/apache/harmony/jpda/tests/jdwp/Events/SourceDebugExtensionMockClass.class"],
+ tools: ["soong_zip"],
+ cmd: "$(location soong_zip) -jar -o $(out) -C external/apache-harmony/jdwp/src/test/resources -f $(in)",
+ out: ["SourceDebugExtensionMockClass_gen.jar"],
+}
+
+java_defaults {
+ name: "apache-harmony-jdwp-defaults",
srcs: ["src/test/java/**/*.java"],
exclude_srcs: ["src/test/java/org/apache/harmony/jpda/tests/jdwp/DDM/**/*.java"],
libs: ["junit"],
+ static_libs: ["SourceDebugExtensionMockClass_gen"],
errorprone: {
javacflags: [
@@ -11,26 +21,25 @@ java_test {
"-Xep:MissingOverride:OFF",
],
},
+
+ target: {
+ host: {
+ exclude_srcs: ["src/test/java/org/apache/harmony/jpda/tests/jdwp/DDM/**/*.java"],
+ },
+ },
+}
+
+java_test {
+ name: "CtsJdwp",
+ defaults: ["apache-harmony-jdwp-defaults"],
}
java_test {
name: "apache-harmony-jdwp-tests",
+ defaults: ["apache-harmony-jdwp-defaults"],
hostdex: true,
host_supported: true,
- srcs: ["src/test/java/**/*.java"],
- no_framework_libs: true,
- libs: ["junit"],
-
- // b/73499927
- errorprone: {
- javacflags: ["-Xep:MissingOverride:OFF"],
- },
- target: {
- host: {
- exclude_srcs: ["src/test/java/org/apache/harmony/jpda/tests/jdwp/DDM/**/*.java"],
- },
- },
}
java_library_host {
diff --git a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/Events/ClassPrepareTest.java b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/Events/ClassPrepareTest.java
index ae3033d..1f24c55 100644
--- a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/Events/ClassPrepareTest.java
+++ b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/Events/ClassPrepareTest.java
@@ -150,7 +150,7 @@ public class ClassPrepareTest extends JDWPEventTestCase {
return;
}
- String expectedClassSignature = "Lorg/apache/harmony/jpda/tests/jdwp/Events/SourceDebugExtensionMockClass;";
+ String expectedClassSignature = getClassSignature(SourceDebugExtensionMockClass.class);
logWriter.println("==> testClassPrepareEventForSourceNameMatch started");
synchronizer.receiveMessage(JPDADebuggeeSynchronizer.SGNL_READY);
diff --git a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/ReferenceType/SourceDebugExtensionDebuggee.java b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/ReferenceType/SourceDebugExtensionDebuggee.java
index ea90778..ebf74e8 100644
--- a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/ReferenceType/SourceDebugExtensionDebuggee.java
+++ b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/ReferenceType/SourceDebugExtensionDebuggee.java
@@ -25,153 +25,23 @@
*/
package org.apache.harmony.jpda.tests.jdwp.ReferenceType;
-import java.lang.reflect.Constructor;
import java.lang.reflect.Proxy;
-import java.net.URLClassLoader;
-import java.net.URL;
-import java.nio.ByteBuffer;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.util.Base64;
+import org.apache.harmony.jpda.tests.jdwp.Events.SourceDebugExtensionMockClass;
import org.apache.harmony.jpda.tests.share.JPDADebuggeeSynchronizer;
import org.apache.harmony.jpda.tests.share.SyncDebuggee;
public class SourceDebugExtensionDebuggee extends SyncDebuggee {
- private final static String classWithSourceDebugExtension =
- "org.apache.harmony.jpda.tests.jdwp.Events.SourceDebugExtensionMockClass";
-
- private final static String inMemoryDexClassLoaderClass =
- "dalvik.system.InMemoryDexClassLoader";
-
- /*
- * A base64 string of a dex file built from the
- * class packaged with apache-harmony for JSR45 testing:
- *
- * cd apache-harmony/jdwp/src/test/resources
- * dx --dex --output=classes.dex \
- * org/apache/harmony/jpda/tests/jdwp/Events/SourceDebugExtensionMockClass.class
- *
- * This simplifies dealing with multiple dex files in the Android
- * build system and with Jack which discards the JSR45 metadata.
- */
- private final static String base64DexWithExtensionClass =
-"ZGV4CjAzNQAktKYbHXK+eDSBH4IRfDw2pS8X3+CKeds0BAAAcAAAAHhWNBIAAAAAAAAAAHADAAAT" +
-"AAAAcAAAAAgAAAC8AAAAAwAAANwAAAABAAAAAAEAAAQAAAAIAQAAAQAAACgBAADsAgAASAEAAKYB" +
-"AACuAQAAuwEAAOUBAAD8AQAAEAIAACQCAAA4AgAAgwIAAOkCAAANAwAAEAMAABQDAAApAwAALwMA" +
-"ADUDAAA6AwAAQwMAAEkDAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAKAAAADAAAAAoAAAAGAAAA" +
-"AAAAAAsAAAAGAAAAmAEAAAsAAAAGAAAAoAEAAAQAAQAPAAAAAQABABAAAAACAAAAAAAAAAUAAAAA" +
-"AAAABQACAA4AAAAFAAAAAQAAAAIAAAAAAAAACQAAAIgBAABiAwAAAAAAAAEAAABcAwAAAQABAAEA" +
-"AABQAwAABAAAAHAQAQAAAA4AAwABAAIAAABVAwAACAAAAGIAAAAaAQEAbiAAABAADgBIAQAAAAAA" +
-"AAAAAAAAAAAAAQAAAAMAAAABAAAABwAGPGluaXQ+AAtIZWxsbyBXb3JsZAAoTGRhbHZpay9hbm5v" +
-"dGF0aW9uL1NvdXJjZURlYnVnRXh0ZW5zaW9uOwAVTGphdmEvaW8vUHJpbnRTdHJlYW07ABJMamF2" +
-"YS9sYW5nL09iamVjdDsAEkxqYXZhL2xhbmcvU3RyaW5nOwASTGphdmEvbGFuZy9TeXN0ZW07AElM" +
-"b3JnL2FwYWNoZS9oYXJtb255L2pwZGEvdGVzdHMvamR3cC9FdmVudHMvU291cmNlRGVidWdFeHRl" +
-"bnNpb25Nb2NrQ2xhc3M7AGRTTUFQCmhlbGxvd29ybGRfanNwLmphdmEKSlNQCipTIEpTUAoqRgor" +
-"IDAgaGVsbG93b3JsZC5qc3AKaGVsbG93b3JsZC5qc3AKKkwKMSw1OjUzCjY6NTgsMwo3LDQ6NjEK" +
-"KkUKACJTb3VyY2VEZWJ1Z0V4dGVuc2lvbk1vY2tDbGFzcy5qYXZhAAFWAAJWTAATW0xqYXZhL2xh" +
-"bmcvU3RyaW5nOwAEYXJncwAEbWFpbgADb3V0AAdwcmludGxuAAR0aGlzAAV2YWx1ZQADAAcOAAYB" +
-"DgcOeAACAAESFwgAAAIAAoGABNACAQnoAhAAAAAAAAAAAQAAAAAAAAABAAAAEwAAAHAAAAACAAAA" +
-"CAAAALwAAAADAAAAAwAAANwAAAAEAAAAAQAAAAABAAAFAAAABAAAAAgBAAAGAAAAAQAAACgBAAAD" +
-"EAAAAQAAAEgBAAABIAAAAgAAAFABAAAGIAAAAQAAAIgBAAABEAAAAgAAAJgBAAACIAAAEwAAAKYB" +
-"AAADIAAAAgAAAFADAAAEIAAAAQAAAFwDAAAAIAAAAQAAAGIDAAAAEAAAAQAAAHADAAA=";
-
- /*
- * A base64 string of a jar file containing:
- * org/apache/harmony/jpda/tests/jdwp/Events/SourceDebugExtensionMockClass.class
- */
- private final static String base64JarWithExtensionClass =
-"UEsDBBQACAgIAAZwmUoAAAAAAAAAAAAAAAAJAAQATUVUQS1JTkYv/soAAAMAUEsHCAAAAAACAAAA" +
-"AAAAAFBLAwQUAAgICAAGcJlKAAAAAAAAAAAAAAAAFAAAAE1FVEEtSU5GL01BTklGRVNULk1G803M" +
-"y0xLLS7RDUstKs7Mz7NSMNQz4OVyLkpNLElN0XWqBAlY6BnEm5jqZuaVpBblJeYoaPgXJSbnpCo4" +
-"5xcV5BcllgD1afJy8XIBAFBLBwiUuAa1TAAAAE0AAABQSwMECgAACAAATYIRSQAAAAAAAAAAAAAA" +
-"AAQAAABvcmcvUEsDBAoAAAgAAE2CEUkAAAAAAAAAAAAAAAALAAAAb3JnL2FwYWNoZS9QSwMECgAA" +
-"CAAATYIRSQAAAAAAAAAAAAAAABMAAABvcmcvYXBhY2hlL2hhcm1vbnkvUEsDBAoAAAgAAE2CEUkA" +
-"AAAAAAAAAAAAAAAYAAAAb3JnL2FwYWNoZS9oYXJtb255L2pwZGEvUEsDBAoAAAgAAE2CEUkAAAAA" +
-"AAAAAAAAAAAeAAAAb3JnL2FwYWNoZS9oYXJtb255L2pwZGEvdGVzdHMvUEsDBAoAAAgAAE2CEUkA" +
-"AAAAAAAAAAAAAAAjAAAAb3JnL2FwYWNoZS9oYXJtb255L2pwZGEvdGVzdHMvamR3cC9QSwMECgAA" +
-"CAAAHUmYSgAAAAAAAAAAAAAAACoAAABvcmcvYXBhY2hlL2hhcm1vbnkvanBkYS90ZXN0cy9qZHdw" +
-"L0V2ZW50cy9QSwMEFAAICAgATYIRSQAAAAAAAAAAAAAAAE0AAABvcmcvYXBhY2hlL2hhcm1vbnkv" +
-"anBkYS90ZXN0cy9qZHdwL0V2ZW50cy9Tb3VyY2VEZWJ1Z0V4dGVuc2lvbk1vY2tDbGFzcy5jbGFz" +
-"c61RTW/TQBB926Rxsg20JE35Brdc0hDVRCUtShASKikfciGSUThwQBt75TjYXst2Wvqz4AASB34A" +
-"PwoxdipFoIgTe5i3M/tm9N7sz1/ffwDo4J6GFYbnKnYNEQl7Io2JiAMVnhvTyBFGKpM0MabOWWQM" +
-"TmVId0vNYls+k+OZO/iUyjDxVHii7I9HvkgSDUWGjak4FYYvQtd4M55KO2UoPfZCL33CUGjujhiK" +
-"R8qRHAVUqlhFiWHd9EL5ehaMZfxWjH3JUDOVLfyRiL0svygW04mXMLw0/5PcPo0MhBcybDXfmwvZ" +
-"Vhp7odvfHVVwBXUNtT9MWedJKoMqNtEgQ2pG/hrzZk8ZQ+pMqV+KoF/GVYa1F9L3lf5Oxb7DcR03" +
-"NdxgqC/hV3ELtxm0KCv5JKrRXKaJNIvYpTXUl0hm4HPHx162sJ1/2t/L2hk2l5GwDTKH7KzQjX6J" +
-"okaZQcgIV1vfUP6cP3OKpbxYwBrF6pxAeImwgstYv2g+zIdR7Qs2altfcW0xgBNmY8pEXAyp4A7u" +
-"5hw9j9vYIXSsk6dDPskWe5bt9cM0iXIz/JU15C1Lz+GY39cf6AvWHrH4X2nL5J12t9fd5we97qP2" +
-"Pj9sP+wddHhrwH8DUEsHCFc9MsLTAQAAIwMAAFBLAQIUABQACAgIAAZwmUoAAAAAAgAAAAAAAAAJ" +
-"AAQAAAAAAAAAAAAAAAAAAABNRVRBLUlORi/+ygAAUEsBAhQAFAAICAgABnCZSpS4BrVMAAAATQAA" +
-"ABQAAAAAAAAAAAAAAAAAPQAAAE1FVEEtSU5GL01BTklGRVNULk1GUEsBAgoACgAACAAATYIRSQAA" +
-"AAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAywAAAG9yZy9QSwECCgAKAAAIAABNghFJAAAAAAAAAAAA" +
-"AAAACwAAAAAAAAAAAAAAAADtAAAAb3JnL2FwYWNoZS9QSwECCgAKAAAIAABNghFJAAAAAAAAAAAA" +
-"AAAAEwAAAAAAAAAAAAAAAAAWAQAAb3JnL2FwYWNoZS9oYXJtb255L1BLAQIKAAoAAAgAAE2CEUkA" +
-"AAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAEcBAABvcmcvYXBhY2hlL2hhcm1vbnkvanBkYS9QSwEC" +
-"CgAKAAAIAABNghFJAAAAAAAAAAAAAAAAHgAAAAAAAAAAAAAAAAB9AQAAb3JnL2FwYWNoZS9oYXJt" +
-"b255L2pwZGEvdGVzdHMvUEsBAgoACgAACAAATYIRSQAAAAAAAAAAAAAAACMAAAAAAAAAAAAAAAAA" +
-"uQEAAG9yZy9hcGFjaGUvaGFybW9ueS9qcGRhL3Rlc3RzL2pkd3AvUEsBAgoACgAACAAAHUmYSgAA" +
-"AAAAAAAAAAAAACoAAAAAAAAAAAAAAAAA+gEAAG9yZy9hcGFjaGUvaGFybW9ueS9qcGRhL3Rlc3Rz" +
-"L2pkd3AvRXZlbnRzL1BLAQIUABQACAgIAE2CEUlXPTLC0wEAACMDAABNAAAAAAAAAAAAAAAAAEIC" +
-"AABvcmcvYXBhY2hlL2hhcm1vbnkvanBkYS90ZXN0cy9qZHdwL0V2ZW50cy9Tb3VyY2VEZWJ1Z0V4" +
-"dGVuc2lvbk1vY2tDbGFzcy5jbGFzc1BLBQYAAAAACgAKAN8CAACQBAAAAAA=";
-
- private ClassLoader getClassLoaderInitializedWithDexFile() {
- try {
- byte[] dexBytes = Base64.getDecoder().decode(base64DexWithExtensionClass);
- ByteBuffer dexBuffer = ByteBuffer.wrap(dexBytes);
- Class<?> klass = Class.forName(inMemoryDexClassLoaderClass);
- Constructor<?> constructor = klass.getConstructor(ByteBuffer.class, ClassLoader.class);
- return (ClassLoader) constructor.newInstance(dexBuffer,
- ClassLoader.getSystemClassLoader());
- } catch (Exception e) {
- logWriter.println("--> Debuggee: Failed to instantiate " + inMemoryDexClassLoaderClass
- + " " + e);
- return null;
- }
- }
-
- private ClassLoader getClassLoaderInitializedWithClassFile() {
- try {
- byte[] jarBytes = Base64.getDecoder().decode(base64JarWithExtensionClass);
- Path jarPath = Files.createTempFile(null, "jar");
- jarPath.toFile().deleteOnExit();
- Files.write(jarPath, jarBytes);
- return new URLClassLoader(new URL[] { jarPath.toUri().toURL() });
- } catch (Exception e) {
- logWriter.println("--> Debuggee: Failed to instantiate URLClassLoader: " + e);
- return null;
- }
- }
-
@Override
public void run() {
- ClassLoader classLoader = null;
- if (System.getProperty("java.vendor").contains("Android")) {
- classLoader = getClassLoaderInitializedWithDexFile();
- } else {
- classLoader = getClassLoaderInitializedWithClassFile();
- }
-
- Class<?> klass = null;
- try {
- klass = classLoader.loadClass(classWithSourceDebugExtension);
- } catch (ClassNotFoundException e) {
- logWriter.println("--> Debuggee: Could not find class " +
- classWithSourceDebugExtension);
- }
-
// Create an instance of classWithSourceDebugExtension so the
// SourceDebugExtension metadata can be reported back to the debugger.
- Object o = null;
- if (klass != null) {
- try {
- o = klass.getConstructor().newInstance();
- } catch (Exception e) {
- logWriter.println("--> Debuggee: Failed to instantiate " +
- classWithSourceDebugExtension + ": " + e);
- }
+ try {
+ SourceDebugExtensionMockClass.class.getConstructor().newInstance();
+ } catch (Exception e) {
+ logWriter.println("--> Debuggee: Failed to instantiate " +
+ "SourceDebugExtensionMockClass: " + e);
}
// Instantiate a proxy whose name should contain "$Proxy".
diff --git a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/ReferenceType/SourceDebugExtensionTest.java b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/ReferenceType/SourceDebugExtensionTest.java
index 7f40430..0a057e7 100644
--- a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/ReferenceType/SourceDebugExtensionTest.java
+++ b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/ReferenceType/SourceDebugExtensionTest.java
@@ -29,6 +29,7 @@ import org.apache.harmony.jpda.tests.framework.jdwp.CommandPacket;
import org.apache.harmony.jpda.tests.framework.jdwp.JDWPCommands;
import org.apache.harmony.jpda.tests.framework.jdwp.JDWPConstants;
import org.apache.harmony.jpda.tests.framework.jdwp.ReplyPacket;
+import org.apache.harmony.jpda.tests.jdwp.Events.SourceDebugExtensionMockClass;
import org.apache.harmony.jpda.tests.jdwp.share.JDWPSyncTestCase;
import org.apache.harmony.jpda.tests.share.JPDADebuggeeSynchronizer;
@@ -116,7 +117,7 @@ public class SourceDebugExtensionTest extends JDWPSyncTestCase {
*/
public void testSourceDebugExtension001() {
doTest("testSourceDebugExtension001",
- "Lorg/apache/harmony/jpda/tests/jdwp/Events/SourceDebugExtensionMockClass;",
+ getClassSignature(SourceDebugExtensionMockClass.class),
JDWPConstants.Error.NONE);
}