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;