Revert "Fix issues in ART testrunner"

This reverts commit e2f7cedae1aaa4d100bcee558ab5e7abf5ef8b5f.

Change-Id: I888be2bd1205e3eac3923695cb3f24c4e858e868
diff --git a/test/knownfailures.json b/test/knownfailures.json
index 98d56d4..3cfff43 100644
--- a/test/knownfailures.json
+++ b/test/knownfailures.json
@@ -94,7 +94,7 @@
     },
     {
         "test" : "629-vdex-speed",
-        "variant": "interp-ac | no-dex2oat | interpreter | jit | relocate-npatchoat",
+        "variant": "interp-ac | no-dex2oat | interpreter | jit",
         "description": "629 requires compilation."
     },
     {
@@ -162,7 +162,7 @@
     },
     {
         "test": "147-stripped-dex-fallback",
-        "variant": "no-dex2oat | no-image | relocate-npatchoat",
+        "variant": "no-dex2oat | no-image",
         "description": ["147-stripped-dex-fallback is disabled because it",
                         "requires --prebuild."]
     },
@@ -179,7 +179,7 @@
                   "119-noimage-patchoat",
                   "137-cfi",
                   "138-duplicate-classes-check2"],
-        "variant": "no-dex2oat | no-image | relocate-npatchoat",
+        "variant": "no-dex2oat | no-image",
         "description": ["All these tests check that we have sane behavior if we",
                         "don't have a patchoat or dex2oat. Therefore we",
                         "shouldn't run them in situations where we actually",
@@ -311,12 +311,6 @@
         "description": "Tests that check semantics for a non-debuggable app."
     },
     {
-        "test": "137-cfi",
-        "variant": "debuggable",
-        "description": ["The test relies on AOT code and debuggable makes us",
-                        "JIT always."]
-    },
-    {
         "tests": ["000-nop",
                   "134-nodex2oat-nofallback",
                   "147-stripped-dex-fallback",
diff --git a/test/testrunner/testrunner.py b/test/testrunner/testrunner.py
index faa0c6e..f237268 100755
--- a/test/testrunner/testrunner.py
+++ b/test/testrunner/testrunner.py
@@ -166,79 +166,82 @@
     TARGET_TYPES.add('host')
     TARGET_TYPES.add('target')
 
-  if env.ART_TEST_RUN_TEST_PREBUILD:
-    PREBUILD_TYPES.add('prebuild')
-  if env.ART_TEST_RUN_TEST_NO_PREBUILD:
-    PREBUILD_TYPES.add('no-prebuild')
-  if env.ART_TEST_RUN_TEST_NO_DEX2OAT:
-    PREBUILD_TYPES.add('no-dex2oat')
+  if not PREBUILD_TYPES:
+    if env.ART_TEST_RUN_TEST_PREBUILD:
+      PREBUILD_TYPES.add('prebuild')
+    if env.ART_TEST_RUN_TEST_NO_PREBUILD:
+      PREBUILD_TYPES.add('no-prebuild')
+    if env.ART_TEST_RUN_TEST_NO_DEX2OAT:
+      PREBUILD_TYPES.add('no-dex2oat')
 
-  if env.ART_TEST_INTERPRETER_ACCESS_CHECKS:
-    COMPILER_TYPES.add('interp-ac')
-  if env.ART_TEST_INTERPRETER:
-    COMPILER_TYPES.add('interpreter')
-  if env.ART_TEST_JIT:
-    COMPILER_TYPES.add('jit')
+  if not COMPILER_TYPES:
+    if env.ART_TEST_INTERPRETER_ACCESS_CHECKS:
+      COMPILER_TYPES.add('interp-ac')
+    if env.ART_TEST_INTERPRETER:
+      COMPILER_TYPES.add('interpreter')
+    if env.ART_TEST_JIT:
+      COMPILER_TYPES.add('jit')
 
-  if env.ART_TEST_OPTIMIZING:
-    COMPILER_TYPES.add('optimizing')
-    OPTIMIZING_COMPILER_TYPES.add('optimizing')
-  if env.ART_TEST_OPTIMIZING_GRAPH_COLOR:
-    COMPILER_TYPES.add('regalloc_gc')
-    OPTIMIZING_COMPILER_TYPES.add('regalloc_gc')
+    if env.ART_TEST_OPTIMIZING:
+      COMPILER_TYPES.add('optimizing')
+      OPTIMIZING_COMPILER_TYPES.add('optimizing')
+    if env.ART_TEST_OPTIMIZING_GRAPH_COLOR:
+      COMPILER_TYPES.add('regalloc_gc')
+      OPTIMIZING_COMPILER_TYPES.add('regalloc_gc')
 
   if not RELOCATE_TYPES:
     RELOCATE_TYPES.add('no-relocate')
-  if env.ART_TEST_RUN_TEST_RELOCATE:
-    RELOCATE_TYPES.add('relocate')
-  if env.ART_TEST_RUN_TEST_RELOCATE_NO_PATCHOAT:
-    RELOCATE_TYPES.add('relocate-npatchoat')
+    if env.ART_TEST_RUN_TEST_RELOCATE:
+      RELOCATE_TYPES.add('relocate')
+    if env.ART_TEST_RUN_TEST_RELOCATE_NO_PATCHOAT:
+      RELOCATE_TYPES.add('relocate-npatchoat')
 
   if not TRACE_TYPES:
     TRACE_TYPES.add('ntrace')
-  if env.ART_TEST_TRACE:
-    TRACE_TYPES.add('trace')
-  if env.ART_TEST_TRACE_STREAM:
-    TRACE_TYPES.add('stream')
+    if env.ART_TEST_TRACE:
+      TRACE_TYPES.add('trace')
+    if env.ART_TEST_TRACE_STREAM:
+      TRACE_TYPES.add('stream')
 
   if not GC_TYPES:
     GC_TYPES.add('cms')
-  if env.ART_TEST_GC_STRESS:
-    GC_TYPES.add('gcstress')
-  if env.ART_TEST_GC_VERIFY:
-    GC_TYPES.add('gcverify')
+    if env.ART_TEST_GC_STRESS:
+      GC_TYPES.add('gcstress')
+    if env.ART_TEST_GC_VERIFY:
+      GC_TYPES.add('gcverify')
 
   if not JNI_TYPES:
     JNI_TYPES.add('checkjni')
-  if env.ART_TEST_JNI_FORCECOPY:
-    JNI_TYPES.add('forcecopy')
+    if env.ART_TEST_JNI_FORCECOPY:
+      JNI_TYPES.add('forcecopy')
 
-  if env.ART_TEST_RUN_TEST_IMAGE:
+  if not IMAGE_TYPES:
     IMAGE_TYPES.add('picimage')
-  if env.ART_TEST_RUN_TEST_NO_IMAGE:
-    IMAGE_TYPES.add('no-image')
-  if env.ART_TEST_RUN_TEST_MULTI_IMAGE:
-    IMAGE_TYPES.add('multipicimage')
-  if env.ART_TEST_NPIC_IMAGE:
-    IMAGE_TYPES.add('npicimage')
-  if env.ART_TEST_RUN_TEST_MULTI_IMAGE:
-    IMAGE_TYPES.add('multinpicimage')
+    if env.ART_TEST_RUN_TEST_NO_IMAGE:
+      IMAGE_TYPES.add('no-image')
+    if env.ART_TEST_RUN_TEST_MULTI_IMAGE:
+      IMAGE_TYPES.add('multipicimage')
+    if env.ART_TEST_NPIC_IMAGE:
+      IMAGE_TYPES.add('npicimage')
+    if env.ART_TEST_RUN_TEST_MULTI_IMAGE:
+      IMAGE_TYPES.add('multinpicimage')
 
   if not PICTEST_TYPES:
     PICTEST_TYPES.add('npictest')
-  if env.ART_TEST_PIC_TEST:
-    PICTEST_TYPES.add('pictest')
+    if env.ART_TEST_PIC_TEST:
+      PICTEST_TYPES.add('pictest')
 
-  if env.ART_TEST_RUN_TEST_DEBUG:
-    RUN_TYPES.add('debug')
-  if env.ART_TEST_RUN_TEST_NDEBUG:
-    RUN_TYPES.add('ndebug')
+  if not RUN_TYPES:
+    if env.ART_TEST_RUN_TEST_DEBUG:
+      RUN_TYPES.add('debug')
+    if env.ART_TEST_RUN_TEST_NDEBUG:
+      RUN_TYPES.add('ndebug')
 
   if not DEBUGGABLE_TYPES:
     DEBUGGABLE_TYPES.add('ndebuggable')
 
-  if env.ART_TEST_RUN_TEST_DEBUGGABLE:
-    DEBUGGABLE_TYPES.add('debuggable')
+    if env.ART_TEST_RUN_TEST_DEBUGGABLE:
+      DEBUGGABLE_TYPES.add('debuggable')
 
   if not ADDRESS_SIZES:
     ADDRESS_SIZES_TARGET['target'].add(env.ART_PHONY_TEST_TARGET_SUFFIX)
@@ -581,9 +584,11 @@
     variant_list.add(frozenset(variant))
   return variant_list
 
+
 def print_text(output):
-  sys.stdout.write(output)
-  sys.stdout.flush()
+    sys.stdout.write(output)
+    sys.stdout.flush()
+
 
 def print_analysis():
   if not verbose: