diff options
author | Alex Light <allight@google.com> | 2017-09-22 09:29:28 -0700 |
---|---|---|
committer | Andreas Gampe <agampe@google.com> | 2017-09-22 16:28:54 -0700 |
commit | 74a22c5866d11cb497992006d69452e6ece9e77d (patch) | |
tree | 7c6e6a7c54a8d659a2aaea30f81fdeae09b06638 | |
parent | 616676e67108a58289269122d0e0ff32503823b5 (diff) | |
download | art-74a22c5866d11cb497992006d69452e6ece9e77d.tar.gz |
Make cts JVMTI tests more consistent
Make a dex file version test use an in-memory dex file so it's not
affected by build system changes in test 912.
Make sure we filter out the InstrumentationInstallThread in test 911.
(cherry picked from commit 88df35c383acb74937d6fc8caba790693edd44f7)
Test: ./test.py --host -j50
Test: cts-tradefed run cts-dev --module CtsJvmtiRunTest911HostTestCases
Test: cts-tradefed run cts-dev --module CtsJvmtiRunTest912HostTestCases
Bug: 66681249
Merged-In: Ibee880730df7178a3fa6248fb73f4198b6374b91
Change-Id: Ibee880730df7178a3fa6248fb73f4198b6374b91
-rw-r--r-- | test/911-get-stack-trace/src/art/PrintThread.java | 2 | ||||
-rw-r--r-- | test/912-classes/expected.txt | 2 | ||||
-rw-r--r-- | test/912-classes/src-art/art/Test912.java | 32 |
3 files changed, 32 insertions, 4 deletions
diff --git a/test/911-get-stack-trace/src/art/PrintThread.java b/test/911-get-stack-trace/src/art/PrintThread.java index fee5ba00ab..d8b3cbc57e 100644 --- a/test/911-get-stack-trace/src/art/PrintThread.java +++ b/test/911-get-stack-trace/src/art/PrintThread.java @@ -42,7 +42,7 @@ public class PrintThread { // may not exist depending on the environment. public final static String IGNORE_THREAD_NAME_REGEX = "Binder:|RenderThread|hwuiTask|Jit thread pool worker|Instr:|JDWP|Profile Saver|main|" + - "queued-work-looper"; + "queued-work-looper|InstrumentationConnectionThread"; public final static Matcher IGNORE_THREADS = Pattern.compile(IGNORE_THREAD_NAME_REGEX).matcher(""); diff --git a/test/912-classes/expected.txt b/test/912-classes/expected.txt index 9dcc5f9c90..7ad5d608b7 100644 --- a/test/912-classes/expected.txt +++ b/test/912-classes/expected.txt @@ -56,7 +56,7 @@ boot <- (B) <- (A, List) boot <- 1+2 (A,B) [class A, class B, class java.lang.Object] -[37, 0] +[35, 0] B, false Load: LB; on ClassEvents diff --git a/test/912-classes/src-art/art/Test912.java b/test/912-classes/src-art/art/Test912.java index fbf8794c50..1742276bd7 100644 --- a/test/912-classes/src-art/art/Test912.java +++ b/test/912-classes/src-art/art/Test912.java @@ -19,8 +19,10 @@ package art; import java.lang.ref.Reference; import java.lang.reflect.Constructor; import java.lang.reflect.Proxy; +import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.Arrays; +import java.util.Base64; import java.util.Comparator; public class Test912 { @@ -214,8 +216,34 @@ public class Test912 { } } - private static void testClassVersion() { - System.out.println(Arrays.toString(getClassVersion(Main.class))); + /** + * base64 encoded class/dex file for + * class Transform { + * public void sayHi() { + * System.out.println("Goodbye"); + * } + * } + */ + private static final byte[] DEX_BYTES = Base64.getDecoder().decode( + "ZGV4CjAzNQCLXSBQ5FiS3f16krSYZFF8xYZtFVp0GRXMAgAAcAAAAHhWNBIAAAAAAAAAACwCAAAO" + + "AAAAcAAAAAYAAACoAAAAAgAAAMAAAAABAAAA2AAAAAQAAADgAAAAAQAAAAABAACsAQAAIAEAAGIB" + + "AABqAQAAcwEAAIABAACXAQAAqwEAAL8BAADTAQAA4wEAAOYBAADqAQAA/gEAAAMCAAAMAgAAAgAA" + + "AAMAAAAEAAAABQAAAAYAAAAIAAAACAAAAAUAAAAAAAAACQAAAAUAAABcAQAABAABAAsAAAAAAAAA" + + "AAAAAAAAAAANAAAAAQABAAwAAAACAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAHAAAAAAAAAB4CAAAA" + + "AAAAAQABAAEAAAATAgAABAAAAHAQAwAAAA4AAwABAAIAAAAYAgAACQAAAGIAAAAbAQEAAABuIAIA" + + "EAAOAAAAAQAAAAMABjxpbml0PgAHR29vZGJ5ZQALTFRyYW5zZm9ybTsAFUxqYXZhL2lvL1ByaW50" + + "U3RyZWFtOwASTGphdmEvbGFuZy9PYmplY3Q7ABJMamF2YS9sYW5nL1N0cmluZzsAEkxqYXZhL2xh" + + "bmcvU3lzdGVtOwAOVHJhbnNmb3JtLmphdmEAAVYAAlZMABJlbWl0dGVyOiBqYWNrLTMuMzYAA291" + + "dAAHcHJpbnRsbgAFc2F5SGkAEQAHDgATAAcOhQAAAAEBAICABKACAQG4Ag0AAAAAAAAAAQAAAAAA" + + "AAABAAAADgAAAHAAAAACAAAABgAAAKgAAAADAAAAAgAAAMAAAAAEAAAAAQAAANgAAAAFAAAABAAA" + + "AOAAAAAGAAAAAQAAAAABAAABIAAAAgAAACABAAABEAAAAQAAAFwBAAACIAAADgAAAGIBAAADIAAA" + + "AgAAABMCAAAAIAAAAQAAAB4CAAAAEAAAAQAAACwCAAA="); + private static void testClassVersion() throws Exception { + Class<?> class_loader_class = Class.forName("dalvik.system.InMemoryDexClassLoader"); + Constructor<?> ctor = class_loader_class.getConstructor(ByteBuffer.class, ClassLoader.class); + Class target = ((ClassLoader)ctor.newInstance( + ByteBuffer.wrap(DEX_BYTES), Test912.class.getClassLoader())).loadClass("Transform"); + System.out.println(Arrays.toString(getClassVersion(target))); } private static void testClassEvents() throws Exception { |