Skip execution on host runtime for Windows
Bug:
Change-Id: I43f7d04c9fb88270b0ef92f2262acbd0009195d3
diff --git a/src/test/java/com/android/tools/r8/R8RunArtTestsTest.java b/src/test/java/com/android/tools/r8/R8RunArtTestsTest.java
index 5fe7c16..140e18f 100644
--- a/src/test/java/com/android/tools/r8/R8RunArtTestsTest.java
+++ b/src/test/java/com/android/tools/r8/R8RunArtTestsTest.java
@@ -48,6 +48,7 @@
import java.util.concurrent.ExecutionException;
import java.util.function.BiFunction;
import java.util.stream.Collectors;
+import org.junit.AssumptionViolatedException;
import org.junit.ComparisonFailure;
import org.junit.Rule;
import org.junit.rules.ExpectedException;
@@ -973,7 +974,8 @@
this.nativeLibrary = nativeLibrary;
this.directory = directory;
this.skipArt = skipArt;
- this.skipTest = skipTest;
+ this.skipTest =
+ skipTest || (ToolHelper.isWindows() && ToolHelper.getDexVm().getKind() == Kind.HOST);
this.failsWithX8 = failsWithX8;
this.failsWithArt = failsWithArt;
this.failsWithArtOutput = failsWithArtOutput;
diff --git a/src/test/java/com/android/tools/r8/ToolHelper.java b/src/test/java/com/android/tools/r8/ToolHelper.java
index b97bd7b..79be8a8 100644
--- a/src/test/java/com/android/tools/r8/ToolHelper.java
+++ b/src/test/java/com/android/tools/r8/ToolHelper.java
@@ -475,7 +475,7 @@
return ImmutableSet.of(artVersionEnum);
} else {
if (isWindows()) {
- throw new RuntimeException("You need to specify a runtime with 'dex_vm' property");
+ return Collections.emptySet();
} else if (isLinux()) {
return ART_BINARY_VERSIONS.keySet();
} else {
@@ -499,11 +499,6 @@
public static DexVm getDexVm() {
String artVersion = System.getProperty("dex_vm");
if (artVersion == null) {
- if (isWindows()) {
- throw new RuntimeException(
- "Default Art version is not supported on Windows. Please specify a non-host runtime "
- + "with property 'dex_vm'");
- }
return DexVm.ART_DEFAULT;
} else {
DexVm artVersionEnum = DexVm.fromShortName(artVersion);
@@ -543,11 +538,15 @@
}
public static boolean artSupported() {
- if (!isLinux() && !isMac() && !isWindows()) {
+ if (!isLinux() && !isMac() && !isWindows()) {
System.err.println("Testing on your platform is not fully supported. " +
"Art does not work on on your platform.");
return false;
}
+ if (isWindows() && getDexVm().getKind() == Kind.HOST) {
+ System.err.println("Testing on host is not supported on Windows.");
+ return false;
+ }
return true;
}