Fix ToolHelper#runDX.

dx can be directly run on any platforms,
  i.e., no need to use docker, while need proper path to the binary.

This addresses the first half of http://b/66920297#comment2

Bug: 66920297
Change-Id: I9af486c639a185ae82463c768b35f20b5e1888e6
diff --git a/src/test/java/com/android/tools/r8/ToolHelper.java b/src/test/java/com/android/tools/r8/ToolHelper.java
index b751766..e69de5b 100644
--- a/src/test/java/com/android/tools/r8/ToolHelper.java
+++ b/src/test/java/com/android/tools/r8/ToolHelper.java
@@ -147,10 +147,10 @@
       List<String> result = new ArrayList<>();
       // The art script _must_ be run with bash, bots default to /bin/dash for /bin/sh, so
       // explicitly set it;
-      if (isLinux()) {
-        result.add("/bin/bash");
-      } else {
+      if (shouldUseDocker()) {
         result.add("tools/docker/run.sh");
+      } else {
+        result.add("/bin/bash");
       }
       result.add(getExecutable());
       for (String option : options) {
@@ -187,6 +187,8 @@
       return String.join(" ", command());
     }
 
+    protected abstract boolean shouldUseDocker();
+
     protected abstract String getExecutable();
   }
 
@@ -203,6 +205,11 @@
     }
 
     @Override
+    protected boolean shouldUseDocker() {
+      return !isLinux();
+    }
+
+    @Override
     protected String getExecutable() {
       return version != null ? getArtBinary(version) : getArtBinary();
     }
@@ -215,6 +222,11 @@
     }
 
     @Override
+    protected boolean shouldUseDocker() {
+      return false;
+    }
+
+    @Override
     protected String getExecutable() {
       return DX;
     }
@@ -245,6 +257,8 @@
   }
 
   private static final String TOOLS = "tools";
+  private static final String OS_STRING = isLinux() ? "linux" : (isMac() ? "mac" : "windows");
+
   private static final Map<DexVm, String> ART_DIRS =
       ImmutableMap.of(
           DexVm.ART_DEFAULT, "art",
@@ -288,7 +302,7 @@
           DexVm.ART_4_4_4, DALVIK_BOOT_LIBS);
 
   private static final String LIB_PATH = TOOLS + "/linux/art/lib";
-  private static final String DX = TOOLS + "/linux/dx/bin/dx";
+  private static final String DX = TOOLS + "/" + OS_STRING + "/dx/bin/dx";
   private static final String DEX2OAT = TOOLS + "/linux/art/bin/dex2oat";
   private static final String ANGLER_DIR = TOOLS + "/linux/art/product/angler";
   private static final String ANGLER_BOOT_IMAGE = ANGLER_DIR + "/system/framework/boot.art";