Fix tests for kotlin-dev
Change-Id: I490c74cb92326259f1afbe175fd22359e7d8007a
diff --git a/src/test/java/com/android/tools/r8/debug/KotlinStdLibCompilationTest.java b/src/test/java/com/android/tools/r8/debug/KotlinStdLibCompilationTest.java
index 0939bd2..19d0631 100644
--- a/src/test/java/com/android/tools/r8/debug/KotlinStdLibCompilationTest.java
+++ b/src/test/java/com/android/tools/r8/debug/KotlinStdLibCompilationTest.java
@@ -58,11 +58,12 @@
if (kotlinTestParameters.isNewerThanOrEqualTo(KotlinCompilerVersion.KOTLINC_1_8_0)
&& parameters.isDexRuntime()
&& parameters.getApiLevel().isLessThan(AndroidApiLevel.N)) {
- // Kotlin stdlib has references to classes introduced at API level 24.
+ // Kotlin stdlib has references to classes introduced in API level 24 and
+ // java.lang.AutoCloseable introduced in API level 19.
diagnostics.assertWarningsCount(
kotlinTestParameters.isOlderThanOrEqualTo(KotlinCompilerVersion.KOTLINC_1_9_21)
? 2
- : 3);
+ : (parameters.getApiLevel().isLessThan(AndroidApiLevel.K)) ? 4 : 3);
diagnostics.assertAllWarningsMatch(
DiagnosticsMatcher.diagnosticType(InterfaceDesugarMissingTypeDiagnostic.class));
} else {
diff --git a/src/test/java/com/android/tools/r8/kotlin/lambda/KotlinLambdaMergingSingletonTest.java b/src/test/java/com/android/tools/r8/kotlin/lambda/KotlinLambdaMergingSingletonTest.java
index 74aed3a..c4c57c0 100644
--- a/src/test/java/com/android/tools/r8/kotlin/lambda/KotlinLambdaMergingSingletonTest.java
+++ b/src/test/java/com/android/tools/r8/kotlin/lambda/KotlinLambdaMergingSingletonTest.java
@@ -9,6 +9,7 @@
import static org.junit.Assume.assumeFalse;
import static org.junit.Assume.assumeTrue;
+import com.android.tools.r8.KotlinCompilerTool.KotlinCompilerVersion;
import com.android.tools.r8.KotlinTestBase;
import com.android.tools.r8.KotlinTestParameters;
import com.android.tools.r8.TestParameters;
@@ -66,9 +67,16 @@
// Get the Kotlin lambdas in the input.
KotlinLambdasInInput lambdasInInput =
KotlinLambdasInInput.create(getProgramFiles(), getTestName());
- assertEquals(2, lambdasInInput.getNumberOfJStyleLambdas());
assertEquals(
- kotlinParameters.getLambdaGeneration().isInvokeDynamic() ? 6 : 7,
+ kotlinParameters.getLambdaGeneration().isInvokeDynamic()
+ && kotlinParameters.getCompilerVersion() == KotlinCompilerVersion.KOTLIN_DEV
+ ? 8
+ : 2,
+ lambdasInInput.getNumberOfJStyleLambdas());
+ assertEquals(
+ kotlinParameters.getLambdaGeneration().isInvokeDynamic()
+ ? (kotlinParameters.getCompilerVersion() == KotlinCompilerVersion.KOTLIN_DEV ? 0 : 6)
+ : 7,
lambdasInInput.getNumberOfKStyleLambdas());
testForR8(parameters.getBackend())
@@ -90,7 +98,13 @@
private void inspect(
HorizontallyMergedClassesInspector inspector, KotlinLambdasInInput lambdasInInput) {
// All J-style Kotlin lambdas should be merged into one class.
- inspector.assertIsCompleteMergeGroup(lambdasInInput.getJStyleLambdas());
+ if (kotlinParameters
+ .getCompilerVersion()
+ .isLessThanOrEqualTo(KotlinCompilerVersion.KOTLINC_1_9_21)) {
+ inspector.assertIsCompleteMergeGroup(lambdasInInput.getJStyleLambdas());
+ } else {
+ assertEquals(4, inspector.getMergeGroups().size());
+ }
// The remaining lambdas are not merged.
inspector.assertClassReferencesNotMerged(lambdasInInput.getKStyleLambdas());