changeset 41:75c08d56477b

Debug code
author Gary Benson <gbenson@redhat.com>
date Mon, 28 Mar 2011 14:43:32 +0100
parents a5e39cfa25c0
children 1abb32424461
files Makefile test/java/dyn/MethodHandlePrinter.java test/java/dyn/MethodHandlesTest.java
diffstat 3 files changed, 23 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile	Wed Mar 23 18:25:52 2011 +0000
+++ b/Makefile	Mon Mar 28 14:43:32 2011 +0100
@@ -26,22 +26,18 @@
 TESTVM = hotspot/build/linux/jdk-linux-zero/debug/bin/java
 
 test/java/dyn/%.class: test/java/dyn/%.java
-	$(JAVADIR)/bin/javac -d . -cp $(JUNITJAR) $<
+	$(JAVADIR)/bin/javac -d . -cp $(JUNITJAR):. $<
 
-UNITTESTCLASSES = \
-	test/java/dyn/InvokeGenericTest.class \
-	test/java/dyn/JavaDocExamplesTest.class \
-	test/java/dyn/MethodHandlesTest.class \
-	test/java/dyn/ClassValueTest.class
+UNITTESTCLASSES = test/java/dyn/MethodHandlePrinter.class test/java/dyn/MethodHandlesTest.class
 
-unittest: $(TESTTARGET) $(UNITTESTCLASSES)
+unittest: $(UNITTESTCLASSES)
 	$(TESTVM) \
 	  -XX:+UnlockExperimentalVMOptions \
 	  -XX:+EnableMethodHandles \
 	  -XX:+EnableInvokeDynamic \
 	  -Dtest.java.dyn.MethodHandlesTest.verbosity=0 \
 	  -cp $(JUNITJAR):. org.junit.runner.JUnitCore \
-	  $(subst .class,,$(subst /,.,$(UNITTESTCLASSES)))
+	  test.java.dyn.MethodHandlesTest
 
 SMOKETESTCLASSES = \
 	test/java/dyn/InvokeDynamicPrintArgs.class \
@@ -57,6 +53,6 @@
           --expand-properties \
           --java InvokeDynamicPrintArgs --check-output
 
-test: unittest smoketest
+test: unittest
 
 .PHONY: default $(TARGETS) build clean patch test
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/java/dyn/MethodHandlePrinter.java	Mon Mar 28 14:43:32 2011 +0100
@@ -0,0 +1,9 @@
+package test.java.dyn;
+
+import java.dyn.MethodHandle;
+
+public class MethodHandlePrinter {
+    static void print(MethodHandle mh) {
+        System.out.println(mh);
+    }
+}
\ No newline at end of file
--- a/test/java/dyn/MethodHandlesTest.java	Wed Mar 23 18:25:52 2011 +0000
+++ b/test/java/dyn/MethodHandlesTest.java	Mon Mar 28 14:43:32 2011 +0100
@@ -1285,6 +1285,11 @@
     }
 
     void testPermuteArguments(Object[] args, Class<?>[] types, int[] reorder) throws Throwable {
+        int verbosity = 0;
+        if (Arrays.toString(reorder).equals("[1, 0, 0]")) {
+            System.out.println();
+            verbosity = 99;
+        }
         countTest();
         if (args == null && types == null) {
             int max = 0;
@@ -1321,6 +1326,10 @@
         MethodType outType = MethodType.methodType(Object.class, permTypes);
         MethodHandle target = MethodHandles.convertArguments(ValueConversions.varargsList(outargs), outType);
         MethodHandle newTarget = MethodHandles.permuteArguments(target, inType, reorder);
+        if (verbosity > 9) {
+            System.out.print("newTarget = ");
+            MethodHandlePrinter.print(newTarget);
+        }
         Object result = newTarget.invokeWithArguments(args);
         Object expected = Arrays.asList(permArgs);
         assertEquals(expected, result);