[Metadata] Update tests to account for new dev stdlib and reflect
Bug: b/268005228
Change-Id: Id4fcc66f18fe69fe142ddba567fd0e7f46a22ef4
diff --git a/src/test/java/com/android/tools/r8/enumunboxing/kotlin/SimpleKotlinEnumUnboxingTest.java b/src/test/java/com/android/tools/r8/enumunboxing/kotlin/SimpleKotlinEnumUnboxingTest.java
index de13512..1dd4b1e 100644
--- a/src/test/java/com/android/tools/r8/enumunboxing/kotlin/SimpleKotlinEnumUnboxingTest.java
+++ b/src/test/java/com/android/tools/r8/enumunboxing/kotlin/SimpleKotlinEnumUnboxingTest.java
@@ -66,12 +66,14 @@
testForR8(parameters.getBackend())
.addProgramFiles(
jars.getForConfiguration(kotlinParameters),
- kotlinParameters.getCompiler().getKotlinStdlibJar())
+ kotlinParameters.getCompiler().getKotlinStdlibJar(),
+ kotlinParameters.getCompiler().getKotlinAnnotationJar())
.addKeepMainRule(PKG + ".MainKt")
.addKeepRules(enumKeepRules.getKeepRules())
.addKeepRuntimeVisibleAnnotations()
.addOptionsModification(opt -> enableEnumOptions(opt, enumValueOptimization))
- .addEnumUnboxingInspector(inspector -> inspector.assertUnboxed(PKG + ".Color"))
+ // TODO(b/268005228): We should be able to unbox.
+ .addEnumUnboxingInspector(inspector -> inspector.assertNotUnboxed(PKG + ".Color"))
.allowDiagnosticMessages()
.setMinApi(parameters.getApiLevel())
.compile()
diff --git a/src/test/java/com/android/tools/r8/kotlin/metadata/MetadataRewriteDelegatedPropertyTest.java b/src/test/java/com/android/tools/r8/kotlin/metadata/MetadataRewriteDelegatedPropertyTest.java
index 7b07978..36efb33 100644
--- a/src/test/java/com/android/tools/r8/kotlin/metadata/MetadataRewriteDelegatedPropertyTest.java
+++ b/src/test/java/com/android/tools/r8/kotlin/metadata/MetadataRewriteDelegatedPropertyTest.java
@@ -122,19 +122,24 @@
.addProgramFiles(libJars.getForConfiguration(kotlinc, targetVersion))
.compile()
.writeToZip();
+ Path outputPath = temp.newFolder().toPath();
ProcessResult compileResult =
kotlinc(parameters.getRuntime().asCf(), kotlinc, targetVersion)
.addClasspathFiles(outputJar)
.addSourceFiles(
getKotlinFileInTest(DescriptorUtils.getBinaryNameFromJavaType(PKG_APP), "main"))
- .setOutputPath(temp.newFolder().toPath())
+ .setOutputPath(outputPath)
.compileRaw();
- Assert.assertEquals(1, compileResult.exitCode);
if (kotlinParameters.isNewerThan(KOTLINC_1_8_0)) {
- assertThat(
- compileResult.stderr,
- containsString("the feature \"references to synthetic java properties\""));
+ testForJvm()
+ .addRunClasspathFiles(
+ kotlinc.getKotlinStdlibJar(), kotlinc.getKotlinReflectJar(), outputJar)
+ .addClasspath(outputPath)
+ .run(parameters.getRuntime(), PKG_APP + ".MainKt")
+ .assertSuccessWithOutputLines(
+ "foobar", "property oldName (Kotlin reflection is not available)");
} else {
+ Assert.assertEquals(1, compileResult.exitCode);
assertThat(
compileResult.stderr,
containsString(
diff --git a/src/test/java/com/android/tools/r8/kotlin/optimize/switches/KotlinEnumSwitchTest.java b/src/test/java/com/android/tools/r8/kotlin/optimize/switches/KotlinEnumSwitchTest.java
index 0963963..9caf355 100644
--- a/src/test/java/com/android/tools/r8/kotlin/optimize/switches/KotlinEnumSwitchTest.java
+++ b/src/test/java/com/android/tools/r8/kotlin/optimize/switches/KotlinEnumSwitchTest.java
@@ -61,6 +61,10 @@
})
.setMinApi(parameters.getApiLevel())
.addDontObfuscate()
+ // This will probably start failing when the CL
+ // https://github.com/JetBrains/kotlin/commit/79f6d4b590573e6adccd7e8899d3b15ddb42d185
+ // is propagated to the build for kotlin-reflect.
+ .applyIf(parameters.isDexRuntime(), b -> b.addDontWarn("java.lang.ClassValue"))
.allowDiagnosticWarningMessages()
.compile()
.assertAllWarningMessagesMatch(equalTo("Resource 'META-INF/MANIFEST.MF' already exists."))