Merge reference-run-test-classes and run-test-jar.

Change-Id: Ic35e87ffe6ac2d86d8bab89b2dd954ec632df1ea
diff --git a/test/etc/run-test-jar b/test/etc/run-test-jar
index 59d241a..9b20404 100755
--- a/test/etc/run-test-jar
+++ b/test/etc/run-test-jar
@@ -31,6 +31,7 @@
 QUIET="n"
 RELOCATE="y"
 USE_GDB="n"
+USE_JVM="n"
 VERIFY="y"
 ZYGOTE=""
 MAIN=""
@@ -104,6 +105,9 @@
     elif [ "x$1" = "x--interpreter" ]; then
         INTERPRETER="y"
         shift
+    elif [ "x$1" = "x--jvm" ]; then
+        USE_JVM="y"
+        shift
     elif [ "x$1" = "x--invoke-with" ]; then
         shift
         if [ "x$1" = "x" ]; then
@@ -160,19 +164,17 @@
 
     if [ "$VERIFY" = "y" ]; then
         DEX_VERIFY=""
+        JVM_VERIFY_ARG="-Xverify:all"
         msg "Performing verification"
     else
         DEX_VERIFY="-Xverify:none"
+        JVM_VERIFY_ARG="-Xverify:none"
         msg "Skipping verification"
     fi
 fi
 
 msg "------------------------------"
 
-if [ "$HAVE_IMAGE" = "n" ]; then
-    BOOT_OPT="-Ximage:/system/non-existant/core.art"
-fi
-
 if [ "$DEBUGGER" = "y" ]; then
   # Use this instead for ddms and connect by running 'ddms':
   # DEBUGGER_OPTS="-agentlib:jdwp=transport=dt_android_adb,server=y,suspend=y"
@@ -187,6 +189,17 @@
   DEBUGGER_OPTS="-agentlib:jdwp=transport=dt_socket,address=$PORT,server=y,suspend=y"
 fi
 
+if [ "$USE_JVM" = "y" ]; then
+  ${JAVA} ${DEBUGGER_OPTS} ${JVM_VERIFY_ARG} -classpath classes $MAIN "$@"
+  exit
+fi
+
+
+if [ "$HAVE_IMAGE" = "n" ]; then
+    BOOT_OPT="-Ximage:/system/non-existant/core.art"
+fi
+
+
 if [ "$USE_GDB" = "y" ]; then
   if [ "$HOST" = "n" ]; then
     GDB="$GDB_SERVER :5039"