Load desugared library config in commandTest
Fix red bots
Change-Id: Iafea3496e401d79f5c6430f6dce92ce5bec19f34
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/desugaredlibrary/specificationconversion/AppForSpecConversion.java b/src/main/java/com/android/tools/r8/ir/desugar/desugaredlibrary/specificationconversion/AppForSpecConversion.java
index a04330e..0df69b0 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/desugaredlibrary/specificationconversion/AppForSpecConversion.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/desugaredlibrary/specificationconversion/AppForSpecConversion.java
@@ -16,7 +16,7 @@
public class AppForSpecConversion {
- static DexApplication readAppForTesting(
+ public static DexApplication readAppForTesting(
Path desugaredJDKLib,
Path androidLib,
InternalOptions options,
diff --git a/src/test/java/com/android/tools/r8/CommandTestBase.java b/src/test/java/com/android/tools/r8/CommandTestBase.java
index dcfbeca..733fb9a 100644
--- a/src/test/java/com/android/tools/r8/CommandTestBase.java
+++ b/src/test/java/com/android/tools/r8/CommandTestBase.java
@@ -7,7 +7,12 @@
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
+import com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.AppForSpecConversion;
+import com.android.tools.r8.utils.AndroidApiLevel;
+import com.android.tools.r8.utils.InternalOptions;
+import com.android.tools.r8.utils.Timing;
import com.google.common.collect.ImmutableList;
+import java.io.IOException;
import org.junit.Test;
public abstract class CommandTestBase<C extends BaseCompilerCommand> extends TestBase {
@@ -303,6 +308,20 @@
return parse(handler, prepareArgs(args));
}
+ protected InternalOptions getOptionsWithLoadedDesugaredLibraryConfiguration(
+ C command, boolean libraryCompilation) throws IOException {
+ InternalOptions options = command.getInternalOptions();
+ options.loadMachineDesugaredLibrarySpecification(
+ Timing.empty(),
+ AppForSpecConversion.readAppForTesting(
+ libraryCompilation ? ToolHelper.getDesugarJDKLibs() : null,
+ ToolHelper.getAndroidJar(AndroidApiLevel.R),
+ options,
+ libraryCompilation,
+ Timing.empty()));
+ return options;
+ }
+
/**
* Tests in this class are executed for all of D8, R8 and L8. When testing arguments this can add
* additional required arguments to all tests
diff --git a/src/test/java/com/android/tools/r8/D8CommandTest.java b/src/test/java/com/android/tools/r8/D8CommandTest.java
index 7a8c4e4..78be322 100644
--- a/src/test/java/com/android/tools/r8/D8CommandTest.java
+++ b/src/test/java/com/android/tools/r8/D8CommandTest.java
@@ -26,6 +26,7 @@
import com.android.tools.r8.utils.AndroidApiLevel;
import com.android.tools.r8.utils.AndroidApp;
import com.android.tools.r8.utils.FileUtils;
+import com.android.tools.r8.utils.InternalOptions;
import com.android.tools.r8.utils.ThreadUtils;
import com.android.tools.r8.utils.ZipUtils;
import com.google.common.collect.ImmutableList;
@@ -694,19 +695,15 @@
}
@Test
- public void desugaredLibrary() throws CompilationFailedException {
+ public void desugaredLibrary() throws CompilationFailedException, IOException {
D8Command d8Command =
parse(
"--desugared-lib",
"src/library_desugar/desugar_jdk_libs.json",
"--lib",
- ToolHelper.getAndroidJar(AndroidApiLevel.P).toString());
- assertFalse(
- d8Command
- .getInternalOptions()
- .machineDesugaredLibrarySpecification
- .getRewriteType()
- .isEmpty());
+ ToolHelper.getAndroidJar(AndroidApiLevel.R).toString());
+ InternalOptions options = getOptionsWithLoadedDesugaredLibraryConfiguration(d8Command, false);
+ assertFalse(options.machineDesugaredLibrarySpecification.getRewriteType().isEmpty());
}
@Test
diff --git a/src/test/java/com/android/tools/r8/L8CommandTest.java b/src/test/java/com/android/tools/r8/L8CommandTest.java
index 2e54294..0dac7a3 100644
--- a/src/test/java/com/android/tools/r8/L8CommandTest.java
+++ b/src/test/java/com/android/tools/r8/L8CommandTest.java
@@ -25,6 +25,7 @@
import com.android.tools.r8.utils.InternalOptions;
import com.android.tools.r8.utils.ThreadUtils;
import com.google.common.collect.ImmutableList;
+import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
@@ -355,19 +356,15 @@
}
@Test
- public void desugaredLibrary() throws CompilationFailedException {
+ public void desugaredLibrary() throws CompilationFailedException, IOException {
L8Command l8Command =
parse(
"--desugared-lib",
ToolHelper.getDesugarLibJsonForTesting().toString(),
"--lib",
- ToolHelper.getAndroidJar(AndroidApiLevel.P).toString());
- assertFalse(
- l8Command
- .getInternalOptions()
- .machineDesugaredLibrarySpecification
- .getRewriteType()
- .isEmpty());
+ ToolHelper.getAndroidJar(AndroidApiLevel.R).toString());
+ InternalOptions options = getOptionsWithLoadedDesugaredLibraryConfiguration(l8Command, true);
+ assertFalse(options.machineDesugaredLibrarySpecification.getRewriteType().isEmpty());
}
private void checkSingleForceAllAssertion(
diff --git a/src/test/java/com/android/tools/r8/R8CommandTest.java b/src/test/java/com/android/tools/r8/R8CommandTest.java
index 536f5bb..d076ec0 100644
--- a/src/test/java/com/android/tools/r8/R8CommandTest.java
+++ b/src/test/java/com/android/tools/r8/R8CommandTest.java
@@ -24,6 +24,7 @@
import com.android.tools.r8.references.Reference;
import com.android.tools.r8.utils.AndroidApiLevel;
import com.android.tools.r8.utils.FileUtils;
+import com.android.tools.r8.utils.InternalOptions;
import com.android.tools.r8.utils.ThreadUtils;
import com.android.tools.r8.utils.ZipUtils;
import com.google.common.collect.ImmutableList;
@@ -825,38 +826,30 @@
}
@Test
- public void desugaredLibrary() throws CompilationFailedException {
+ public void desugaredLibrary() throws CompilationFailedException, IOException {
R8Command r8Command =
parse(
"--desugared-lib",
"src/library_desugar/desugar_jdk_libs.json",
"--lib",
- ToolHelper.getAndroidJar(AndroidApiLevel.P).toString());
- assertFalse(
- r8Command
- .getInternalOptions()
- .machineDesugaredLibrarySpecification
- .getRewriteType()
- .isEmpty());
+ ToolHelper.getAndroidJar(AndroidApiLevel.R).toString());
+ InternalOptions options = getOptionsWithLoadedDesugaredLibraryConfiguration(r8Command, false);
+ assertFalse(options.machineDesugaredLibrarySpecification.getRewriteType().isEmpty());
}
@Test
- public void desugaredLibraryWithOutputConf() throws CompilationFailedException {
+ public void desugaredLibraryWithOutputConf() throws CompilationFailedException, IOException {
Path pgout = temp.getRoot().toPath().resolve("pgout.conf");
R8Command r8Command =
parse(
"--desugared-lib",
"src/library_desugar/desugar_jdk_libs.json",
"--lib",
- ToolHelper.getAndroidJar(AndroidApiLevel.P).toString(),
+ ToolHelper.getAndroidJar(AndroidApiLevel.R).toString(),
"--desugared-lib-pg-conf-output",
pgout.toString());
- assertFalse(
- r8Command
- .getInternalOptions()
- .machineDesugaredLibrarySpecification
- .getRewriteType()
- .isEmpty());
+ InternalOptions options = getOptionsWithLoadedDesugaredLibraryConfiguration(r8Command, false);
+ assertFalse(options.machineDesugaredLibrarySpecification.getRewriteType().isEmpty());
}
@Test