Update test expectations for kotlin old
Change-Id: Ib6d8558a46a87d0ecc31c81501bcac218b9b8f90
diff --git a/src/test/java/com/android/tools/r8/kotlin/KotlinClassInlinerTest.java b/src/test/java/com/android/tools/r8/kotlin/KotlinClassInlinerTest.java
index e9b687c..6697bed 100644
--- a/src/test/java/com/android/tools/r8/kotlin/KotlinClassInlinerTest.java
+++ b/src/test/java/com/android/tools/r8/kotlin/KotlinClassInlinerTest.java
@@ -10,7 +10,6 @@
import static com.android.tools.r8.utils.codeinspector.Matchers.isAbsent;
import static com.android.tools.r8.utils.codeinspector.Matchers.isAbsentIf;
import static com.android.tools.r8.utils.codeinspector.Matchers.isPresent;
-import static com.android.tools.r8.utils.codeinspector.Matchers.onlyIf;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
@@ -71,35 +70,26 @@
"class_inliner_lambda_j_style.SamIface$Consumer")
.addHorizontallyMergedClassesInspector(
inspector -> {
- if (!hasKotlinCGeneratedLambdaClasses && testParameters.isCfRuntime()) {
- inspector.assertNoClassesMerged();
- } else if (!hasKotlinCGeneratedLambdaClasses) {
+ if (hasKotlinCGeneratedLambdaClasses) {
+ inspector.assertIsCompleteMergeGroup(
+ "class_inliner_lambda_j_style.MainKt$testStateful$1",
+ "class_inliner_lambda_j_style.MainKt$testStateful$2",
+ "class_inliner_lambda_j_style.MainKt$testStateful$2$1",
+ "class_inliner_lambda_j_style.MainKt$testStateful$3",
+ "class_inliner_lambda_j_style.MainKt$testStateful2$1",
+ "class_inliner_lambda_j_style.MainKt$testStateful3$1");
+ } else if (testParameters.isDexRuntime()) {
Set<Set<DexType>> mergeGroups = inspector.getMergeGroups();
assertEquals(1, mergeGroups.size());
- inspector
- .assertIsCompleteMergeGroup(
- "class_inliner_lambda_j_style.MainKt$$ExternalSyntheticLambda0",
- "class_inliner_lambda_j_style.MainKt$$ExternalSyntheticLambda2",
- "class_inliner_lambda_j_style.MainKt$$ExternalSyntheticLambda4",
- "class_inliner_lambda_j_style.MainKt$$ExternalSyntheticLambda3",
- "class_inliner_lambda_j_style.MainKt$$ExternalSyntheticLambda5",
- "class_inliner_lambda_j_style.MainKt$$ExternalSyntheticLambda6")
- .assertNoOtherClassesMerged();
- } else {
- inspector
- .assertIsCompleteMergeGroup(
- "class_inliner_lambda_j_style.MainKt$testStateless$1",
- "class_inliner_lambda_j_style.MainKt$testStateless$2",
- "class_inliner_lambda_j_style.MainKt$testStateless$3")
- .assertIsCompleteMergeGroup(
- "class_inliner_lambda_j_style.MainKt$testStateful$1",
- "class_inliner_lambda_j_style.MainKt$testStateful$2",
- "class_inliner_lambda_j_style.MainKt$testStateful$2$1",
- "class_inliner_lambda_j_style.MainKt$testStateful$3",
- "class_inliner_lambda_j_style.MainKt$testStateful2$1",
- "class_inliner_lambda_j_style.MainKt$testStateful3$1")
- .assertNoOtherClassesMerged();
+ inspector.assertIsCompleteMergeGroup(
+ "class_inliner_lambda_j_style.MainKt$$ExternalSyntheticLambda0",
+ "class_inliner_lambda_j_style.MainKt$$ExternalSyntheticLambda2",
+ "class_inliner_lambda_j_style.MainKt$$ExternalSyntheticLambda4",
+ "class_inliner_lambda_j_style.MainKt$$ExternalSyntheticLambda3",
+ "class_inliner_lambda_j_style.MainKt$$ExternalSyntheticLambda5",
+ "class_inliner_lambda_j_style.MainKt$$ExternalSyntheticLambda6");
}
+ inspector.assertNoOtherClassesMerged();
})
.noClassInlining())
.inspect(
@@ -118,7 +108,7 @@
} else {
assertThat(
inspector.clazz("class_inliner_lambda_j_style.MainKt$testStateless$1"),
- isPresent());
+ isAbsent());
assertThat(
inspector.clazz("class_inliner_lambda_j_style.MainKt$testStateful$1"),
isPresent());
@@ -155,12 +145,16 @@
isAbsent());
}
- assertThat(
- inspector.clazz(
- !hasKotlinCGeneratedLambdaClasses
- ? "class_inliner_lambda_j_style.MainKt$$ExternalSyntheticLambda2"
- : "class_inliner_lambda_j_style.MainKt$testStateful$1"),
- onlyIf(hasKotlinCGeneratedLambdaClasses, isPresent()));
+ if (hasKotlinCGeneratedLambdaClasses) {
+ assertThat(
+ inspector.clazz("class_inliner_lambda_j_style.MainKt$testStateful$2"),
+ isPresent());
+ } else {
+ assertThat(
+ inspector.clazz(
+ "class_inliner_lambda_j_style.MainKt$$ExternalSyntheticLambda2"),
+ isAbsent());
+ }
});
}
diff --git a/src/test/java/com/android/tools/r8/kotlin/lambda/b159688129/LambdaSplitByCodeCorrectnessTest.java b/src/test/java/com/android/tools/r8/kotlin/lambda/b159688129/LambdaSplitByCodeCorrectnessTest.java
index c72ed7a..35fe619 100644
--- a/src/test/java/com/android/tools/r8/kotlin/lambda/b159688129/LambdaSplitByCodeCorrectnessTest.java
+++ b/src/test/java/com/android/tools/r8/kotlin/lambda/b159688129/LambdaSplitByCodeCorrectnessTest.java
@@ -38,7 +38,7 @@
@Parameters(name = "{0}, {1}, splitGroup: {2}")
public static List<Object[]> data() {
return buildParameters(
- getTestParameters().withDexRuntimes().withAllApiLevels().build(),
+ getTestParameters().withDexRuntimesAndAllApiLevels().build(),
getKotlinTestParameters().withAllCompilersAndTargetVersions().build(),
BooleanUtils.values());
}
@@ -77,7 +77,10 @@
inspector ->
inspector
.applyIf(
- !kotlinc.is(KotlinCompilerVersion.KOTLINC_1_7_0) || splitGroup,
+ kotlinc.isOneOf(
+ KotlinCompilerVersion.KOTLINC_1_8_0,
+ KotlinCompilerVersion.KOTLINC_1_9_21)
+ || splitGroup,
i ->
i.assertIsCompleteMergeGroup(
"com.android.tools.r8.kotlin.lambda.b159688129.SimpleKt$main$1",
@@ -97,18 +100,27 @@
"com.android.tools.r8.kotlin.lambda.b159688129.SimpleKt$main$1");
assertThat(
mergeTarget,
- isPresentIf(!kotlinc.is(KotlinCompilerVersion.KOTLINC_1_7_0) || splitGroup));
+ isPresentIf(
+ kotlinc.isOneOf(
+ KotlinCompilerVersion.KOTLINC_1_8_0,
+ KotlinCompilerVersion.KOTLINC_1_9_21)
+ || splitGroup));
if (mergeTarget.isAbsent()) {
return;
}
+ boolean isKotlinOld =
+ kotlinc.isOneOf(
+ KotlinCompilerVersion.KOTLINC_1_3_72, KotlinCompilerVersion.KOTLINC_1_4_20);
MethodSubject virtualMethodSubject =
mergeTarget.uniqueMethodThatMatches(
method ->
method.isVirtual()
&& !method.isSynthetic()
- && method.getOriginalName(false).equals("invoke"));
+ && method
+ .getOriginalName(false)
+ .equals(isKotlinOld ? "invoke$1" : "invoke"));
assertThat(virtualMethodSubject, isPresent());
int found = 0;