Make API level comparison match the sorting order
Bug: 139451198
Change-Id: I243606db404f905a22c2deca4f795c347899b253
diff --git a/src/test/java/com/android/tools/r8/TestParametersBuilder.java b/src/test/java/com/android/tools/r8/TestParametersBuilder.java
index 9a6752f..e64a95f 100644
--- a/src/test/java/com/android/tools/r8/TestParametersBuilder.java
+++ b/src/test/java/com/android/tools/r8/TestParametersBuilder.java
@@ -199,12 +199,12 @@
return Stream.of();
}
AndroidApiLevel vmLevel = runtime.asDex().getMinApiLevel();
- AndroidApiLevel lowestApplicable = sortedApiLevels.get(sortedApiLevels.size() - 1);
+ AndroidApiLevel lowestApplicable = sortedApiLevels.get(0);
if (vmLevel.getLevel() < lowestApplicable.getLevel()) {
return Stream.of();
}
if (sortedApiLevels.size() > 1) {
- for (int i = 0; i < sortedApiLevels.size(); i++) {
+ for (int i = sortedApiLevels.size() - 1; i >= 0; i--) {
AndroidApiLevel highestApplicable = sortedApiLevels.get(i);
if (highestApplicable.getLevel() <= vmLevel.getLevel()
&& lowestApplicable != highestApplicable) {
diff --git a/src/test/java/com/android/tools/r8/desugar/corelib/CustomCollectionTest.java b/src/test/java/com/android/tools/r8/desugar/corelib/CustomCollectionTest.java
index c8a05f8..c9283d2 100644
--- a/src/test/java/com/android/tools/r8/desugar/corelib/CustomCollectionTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/corelib/CustomCollectionTest.java
@@ -10,6 +10,7 @@
import com.android.tools.r8.D8TestRunResult;
import com.android.tools.r8.R8TestRunResult;
import com.android.tools.r8.TestParameters;
+import com.android.tools.r8.ToolHelper.DexVm;
import com.android.tools.r8.utils.BooleanUtils;
import com.android.tools.r8.utils.codeinspector.CodeInspector;
import com.android.tools.r8.utils.codeinspector.InstructionSubject;
@@ -26,6 +27,7 @@
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.junit.Assert;
+import org.junit.Assume;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
@@ -53,6 +55,10 @@
@Test
public void testCustomCollectionD8() throws Exception {
+ // TODO(b/142377475).
+ Assume.assumeTrue(!shrinkDesugaredLibrary);
+ // TODO(b/142377161).
+ Assume.assumeTrue(parameters.getRuntime().asDex().getVm().isNewerThan(DexVm.ART_4_4_4_HOST));
KeepRuleConsumer keepRuleConsumer = createKeepRuleConsumer(parameters);
D8TestRunResult d8TestRunResult =
testForD8()
diff --git a/src/test/java/com/android/tools/r8/desugar/corelib/corelibjdktests/Jdk11AtomicTests.java b/src/test/java/com/android/tools/r8/desugar/corelib/corelibjdktests/Jdk11AtomicTests.java
index 150fbf6..0010c65 100644
--- a/src/test/java/com/android/tools/r8/desugar/corelib/corelibjdktests/Jdk11AtomicTests.java
+++ b/src/test/java/com/android/tools/r8/desugar/corelib/corelibjdktests/Jdk11AtomicTests.java
@@ -19,6 +19,7 @@
import java.nio.file.Paths;
import java.util.Collections;
import java.util.List;
+import org.junit.Assume;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -71,6 +72,8 @@
@Test
public void testD8AtomicReference() throws Exception {
+ // TODO(b/142377475).
+ Assume.assumeTrue(!shrinkDesugaredLibrary);
KeepRuleConsumer keepRuleConsumer = createKeepRuleConsumer(parameters);
String verbosity = "2";
testForD8()
@@ -94,6 +97,8 @@
@Test
public void testD8AtomicUpdaters() throws Exception {
+ // TODO(b/142377475).
+ Assume.assumeTrue(!shrinkDesugaredLibrary);
KeepRuleConsumer keepRuleConsumer = createKeepRuleConsumer(parameters);
String verbosity = "2";
testForD8()
diff --git a/src/test/java/com/android/tools/r8/desugar/corelib/corelibjdktests/Jdk11ConcurrentMapTests.java b/src/test/java/com/android/tools/r8/desugar/corelib/corelibjdktests/Jdk11ConcurrentMapTests.java
index d340245..f80607a 100644
--- a/src/test/java/com/android/tools/r8/desugar/corelib/corelibjdktests/Jdk11ConcurrentMapTests.java
+++ b/src/test/java/com/android/tools/r8/desugar/corelib/corelibjdktests/Jdk11ConcurrentMapTests.java
@@ -99,6 +99,8 @@
public void testD8Concurrent() throws Exception {
// TODO(b/134732760): Support Java 9+ libraries.
// We skip the ConcurrentRemoveIf test because of the non desugared class CompletableFuture.
+ // TODO(b/142377475).
+ Assume.assumeTrue(!shrinkDesugaredLibrary);
KeepRuleConsumer keepRuleConsumer = createKeepRuleConsumer(parameters);
String verbosity = "2";
testForD8()