Reduce Stream test load
- D8_L8DEBUG config is mostly meaningless (we test already
D8_L8SHRINK for D8 dex and D8CF2CF_L8DEBUG for L8 debug
- Split in 3 instead of 2 leading to 60/60/90 sec runs from
70/140.
Bug: b/270029504
Change-Id: I1693ca577535c9cd133b55bcc6af0526766de371
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11Stream0Tests.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11Stream0Tests.java
new file mode 100644
index 0000000..3cb7c8e
--- /dev/null
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11Stream0Tests.java
@@ -0,0 +1,29 @@
+// Copyright (c) 2023, the R8 project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+package com.android.tools.r8.desugar.desugaredlibrary.jdktests;
+
+import com.android.tools.r8.TestParameters;
+import com.android.tools.r8.desugar.desugaredlibrary.test.CompilationSpecification;
+import com.android.tools.r8.desugar.desugaredlibrary.test.LibraryDesugaringSpecification;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+
+@RunWith(Parameterized.class)
+public class Jdk11Stream0Tests extends Jdk11StreamAbstractTests {
+
+ private static final int INDEX = 0;
+
+ public Jdk11Stream0Tests(
+ TestParameters parameters,
+ LibraryDesugaringSpecification libraryDesugaringSpecification,
+ CompilationSpecification compilationSpecification) {
+ super(parameters, libraryDesugaringSpecification, compilationSpecification);
+ }
+
+ @Override
+ int getIndex() {
+ return INDEX;
+ }
+}
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11Stream1Tests.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11Stream1Tests.java
index c11f498..a6441f9 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11Stream1Tests.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11Stream1Tests.java
@@ -7,13 +7,14 @@
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.desugar.desugaredlibrary.test.CompilationSpecification;
import com.android.tools.r8.desugar.desugaredlibrary.test.LibraryDesugaringSpecification;
-import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
@RunWith(Parameterized.class)
public class Jdk11Stream1Tests extends Jdk11StreamAbstractTests {
+ private static final int INDEX = 1;
+
public Jdk11Stream1Tests(
TestParameters parameters,
LibraryDesugaringSpecification libraryDesugaringSpecification,
@@ -21,8 +22,8 @@
super(parameters, libraryDesugaringSpecification, compilationSpecification);
}
- @Test
- public void testStream() throws Throwable {
- testStream(firstHalf(getSuccessfulTests()), firstHalf(getFailingTests()));
+ @Override
+ int getIndex() {
+ return INDEX;
}
}
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11Stream2Tests.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11Stream2Tests.java
index 607e0ad..56448aa 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11Stream2Tests.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11Stream2Tests.java
@@ -7,13 +7,14 @@
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.desugar.desugaredlibrary.test.CompilationSpecification;
import com.android.tools.r8.desugar.desugaredlibrary.test.LibraryDesugaringSpecification;
-import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
@RunWith(Parameterized.class)
public class Jdk11Stream2Tests extends Jdk11StreamAbstractTests {
+ private static final int INDEX = 2;
+
public Jdk11Stream2Tests(
TestParameters parameters,
LibraryDesugaringSpecification libraryDesugaringSpecification,
@@ -21,8 +22,8 @@
super(parameters, libraryDesugaringSpecification, compilationSpecification);
}
- @Test
- public void testStream() throws Throwable {
- testStream(secondHalf(getSuccessfulTests()), secondHalf(getFailingTests()));
+ @Override
+ int getIndex() {
+ return INDEX;
}
}
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11StreamAbstractTests.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11StreamAbstractTests.java
index ad2644b..b977265 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11StreamAbstractTests.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/jdktests/Jdk11StreamAbstractTests.java
@@ -12,7 +12,6 @@
import static com.android.tools.r8.desugar.desugaredlibrary.jdktests.Jdk11TestLibraryDesugaringSpecification.JDK11_PATH_JAVA_BASE_EXT;
import static com.android.tools.r8.desugar.desugaredlibrary.jdktests.Jdk11TestLibraryDesugaringSpecification.JDK8_JAVA_BASE_EXT;
import static com.android.tools.r8.desugar.desugaredlibrary.test.CompilationSpecification.D8CF2CF_L8DEBUG;
-import static com.android.tools.r8.desugar.desugaredlibrary.test.CompilationSpecification.D8_L8DEBUG;
import static com.android.tools.r8.desugar.desugaredlibrary.test.CompilationSpecification.D8_L8SHRINK;
import static com.android.tools.r8.utils.FileUtils.CLASS_EXTENSION;
import static com.android.tools.r8.utils.FileUtils.JAVA_EXTENSION;
@@ -43,6 +42,7 @@
import java.util.stream.Collectors;
import org.junit.Assume;
import org.junit.BeforeClass;
+import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
@@ -50,6 +50,7 @@
@RunWith(Parameterized.class)
public abstract class Jdk11StreamAbstractTests extends DesugaredLibraryTestBase {
+ private static final int SPLIT = 3;
final TestParameters parameters;
final LibraryDesugaringSpecification libraryDesugaringSpecification;
final CompilationSpecification compilationSpecification;
@@ -73,7 +74,7 @@
.withApiLevel(AndroidApiLevel.N)
.build(),
specs,
- ImmutableList.of(D8_L8DEBUG, D8_L8SHRINK, D8CF2CF_L8DEBUG));
+ ImmutableList.of(D8_L8SHRINK, D8CF2CF_L8DEBUG));
}
public Jdk11StreamAbstractTests(
@@ -263,22 +264,20 @@
assert JDK_11_STREAM_TEST_COMPILED_FILES.length > 0;
}
- Map<String, String> firstHalf(Map<String, String> input) {
- return half(input, true);
+ Map<String, String> split(Map<String, String> input, int index) {
+ return split(input, index, SPLIT);
}
- Map<String, String> secondHalf(Map<String, String> input) {
- return half(input, false);
- }
-
- private Map<String, String> half(Map<String, String> input, boolean first) {
+ private Map<String, String> split(Map<String, String> input, int index, int split) {
+ assert index >= 0 && index < split;
ArrayList<String> keys = new ArrayList<>(input.keySet());
keys.sort(Comparator.naturalOrder());
int length = keys.size();
- int middle = length / 2 + length % 2;
- List<String> half = first ? keys.subList(0, middle) : keys.subList(middle, length);
- HashMap<String, String> newMap = new HashMap<>();
- for (String key : half) {
+ int start = index * length / split + (index == 0 ? 0 : 1);
+ int last = (index + 1) * length / split;
+ List<String> splitList = keys.subList(start, last);
+ Map<String, String> newMap = new HashMap<>();
+ for (String key : splitList) {
newMap.put(key, input.get(key));
}
return newMap;
@@ -360,4 +359,11 @@
}
}
}
+
+ @Test
+ public void testStream() throws Throwable {
+ testStream(split(getSuccessfulTests(), getIndex()), split(getFailingTests(), getIndex()));
+ }
+
+ abstract int getIndex();
}