Correctly pass --32 for all art invocations when set (bots only)
Bug: b/274840966
Change-Id: Ibeff3f0a446fdf4fd847e42fe76ec0345576c090
diff --git a/src/test/java/com/android/tools/r8/TestCompileResult.java b/src/test/java/com/android/tools/r8/TestCompileResult.java
index ce189e6..dfdfa9d 100644
--- a/src/test/java/com/android/tools/r8/TestCompileResult.java
+++ b/src/test/java/com/android/tools/r8/TestCompileResult.java
@@ -660,11 +660,9 @@
.add(out.toString())
.build();
Consumer<ArtCommandBuilder> commandConsumer =
- ToolHelper.force32BitArt()
- ? builder -> builder.appendArtOption("--32")
- : withArt6Plus64BitsLib && vm.getVersion().isNewerThanOrEqual(DexVm.Version.V6_0_1)
- ? builder -> builder.appendArtOption("--64")
- : builder -> {};
+ withArt6Plus64BitsLib && vm.getVersion().isNewerThanOrEqual(DexVm.Version.V6_0_1)
+ ? builder -> builder.appendArtOption("--64")
+ : builder -> {};
commandConsumer =
commandConsumer.andThen(
builder -> {
diff --git a/src/test/java/com/android/tools/r8/ToolHelper.java b/src/test/java/com/android/tools/r8/ToolHelper.java
index 1de3552..404c51d 100644
--- a/src/test/java/com/android/tools/r8/ToolHelper.java
+++ b/src/test/java/com/android/tools/r8/ToolHelper.java
@@ -488,9 +488,8 @@
result.add("/bin/bash");
}
result.add(getExecutable());
- for (String option : options) {
- result.add(option);
- }
+ result.addAll(getExecutableArguments());
+ result.addAll(options);
for (Map.Entry<String, String> entry : systemProperties.entrySet()) {
StringBuilder builder = new StringBuilder("-D");
builder.append(entry.getKey());
@@ -508,9 +507,7 @@
if (mainClass != null) {
result.add(mainClass);
}
- for (String argument : programArguments) {
- result.add(argument);
- }
+ result.addAll(programArguments);
return result;
}
@@ -529,6 +526,8 @@
protected abstract boolean shouldUseDocker();
protected abstract String getExecutable();
+
+ protected abstract List<String> getExecutableArguments();
}
public static class ArtCommandBuilder extends CommandBuilder {
@@ -563,6 +562,11 @@
return version != null ? getArtBinary(version) : getArtBinary();
}
+ @Override
+ protected List<String> getExecutableArguments() {
+ return force32BitArt() ? ImmutableList.of("--32") : ImmutableList.of();
+ }
+
public boolean isForDevice() {
return version.getKind() == Kind.TARGET;
}