aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com>2024-04-15 13:12:31 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2024-04-15 13:12:31 +0000
commitb9b0ab044faf36e5faf97a944073433a0527d498 (patch)
treee216d858da12a7b9f084d254598fba4bd3d036ca
parent7b081222628fc96679aea916ff4a8885e33e0e67 (diff)
parentb35d1fbda2388b158d5e1c13b02a1c304a3eca50 (diff)
downloadlibcore-b9b0ab044faf36e5faf97a944073433a0527d498.tar.gz
Merge "Update libcore.java.lang.reflect.ParameterTest after JDK21 changes" into main
-rw-r--r--luni/src/test/java/libcore/java/lang/reflect/ParameterTest.java54
1 files changed, 33 insertions, 21 deletions
diff --git a/luni/src/test/java/libcore/java/lang/reflect/ParameterTest.java b/luni/src/test/java/libcore/java/lang/reflect/ParameterTest.java
index dbb4f5a2901..7c4b38fb286 100644
--- a/luni/src/test/java/libcore/java/lang/reflect/ParameterTest.java
+++ b/luni/src/test/java/libcore/java/lang/reflect/ParameterTest.java
@@ -380,7 +380,6 @@ public class ParameterTest {
public InnerClass(Function<String, Integer> p1) {}
}
- @Ignore("b/328705542")
@Test
public void testInnerClassSingleParameter() throws Exception {
Class<?> outerClass = ParameterTest.class;
@@ -389,12 +388,14 @@ public class ParameterTest {
ExecutableTestHelper helper = new ExecutableTestHelper(constructor);
helper.checkStandardParametersBehavior()
- .checkParametersToString("[" + outerClass.getName() + " arg0]")
- .checkParametersMetadataNotAvailable()
+ .checkParametersToString("[final " + outerClass.getName() + " arg0]")
.checkParametersNoVarArgs();
helper.getParameterTestHelper(0)
.checkGetType(outerClass)
+ .checkName(false, "arg0")
+ .checkModifiers(4112) // 4112 == Modifier.SYNTHETIC & Modifier.FINAL
+ .checkImplicitAndSynthetic(false, true)
.checkGetParameterizedType("class " + outerClass.getName() + "");
}
@@ -417,7 +418,6 @@ public class ParameterTest {
.checkGetParameterizedType("class " + outerClass.getName());
}
- @Ignore("b/328705542")
@Test
public void testInnerClassTwoParameters() throws Exception {
Class<?> outerClass = ParameterTest.class;
@@ -427,15 +427,20 @@ public class ParameterTest {
ExecutableTestHelper helper = new ExecutableTestHelper(constructor);
helper.checkStandardParametersBehavior()
.checkParametersToString(
- "[" + outerClass.getName() + " arg0, java.lang.String arg1]")
- .checkParametersMetadataNotAvailable()
+ "[final " + outerClass.getName() + " arg0, java.lang.String arg1]")
.checkParametersNoVarArgs();
helper.getParameterTestHelper(0)
+ .checkName(false, "arg0")
+ .checkModifiers(4112) // 4112 == Modifier.SYNTHETIC & Modifier.FINAL
+ .checkImplicitAndSynthetic(false, true)
.checkGetType(outerClass)
.checkGetParameterizedType("class " + outerClass.getName());
helper.getParameterTestHelper(1)
+ .checkName(false, "arg1")
+ .checkModifiers(0)
+ .checkImplicitAndSynthetic(false, false)
.checkGetType(String.class)
.checkGetParameterizedType("class java.lang.String");
}
@@ -467,7 +472,6 @@ public class ParameterTest {
.checkGetParameterizedType("class java.lang.String");
}
- @Ignore("b/328705542")
@Test
public void testInnerClassGenericParameter() throws Exception {
Class<?> outerClass = ParameterTest.class;
@@ -477,17 +481,23 @@ public class ParameterTest {
ExecutableTestHelper helper = new ExecutableTestHelper(constructor);
helper.checkStandardParametersBehavior()
.checkParametersToString(
- "[" + outerClass.getName() + " arg0, java.util.function.Function arg1]")
- .checkParametersMetadataNotAvailable()
+ "[final " + outerClass.getName() + " arg0, " +
+ "java.util.function.Function<java.lang.String, java.lang.Integer> arg1]")
.checkParametersNoVarArgs();
helper.getParameterTestHelper(0)
+ .checkName(false, "arg0")
+ .checkModifiers(4112) // 4112 == Modifier.SYNTHETIC & Modifier.FINAL
+ .checkImplicitAndSynthetic(false, true)
.checkGetType(outerClass)
.checkGetParameterizedType("class " + outerClass.getName() + "");
helper.getParameterTestHelper(1)
+ .checkName(false, "arg1")
+ .checkModifiers(0)
+ .checkImplicitAndSynthetic(false, false)
.checkGetType(Function.class)
- .checkGetParameterizedType("interface java.util.function.Function");
+ .checkGetParameterizedType("java.util.function.Function<java.lang.String, java.lang.Integer>");
// The non-genericised string above is probably the result of a spec bug due to a mismatch
// between the generic signature for the constructor (which suggests a single parameter)
@@ -532,14 +542,13 @@ public class ParameterTest {
* generated methods. This test may be brittle as it may rely on the compiler's implementation
* of enums.
*/
- @Ignore("b/328705542")
@Test
public void testEnumConstructor() throws Exception {
Constructor<?> constructor = TestEnum.class.getDeclaredConstructor(String.class, int.class);
ExecutableTestHelper helper = new ExecutableTestHelper(constructor);
helper.checkStandardParametersBehavior()
- .checkParametersToString("[java.lang.String arg0, int arg1]")
+ .checkParametersToString("[ java.lang.String arg0, int arg1]")
.checkParametersNoVarArgs();
helper.getParameterTestHelper(0)
@@ -579,18 +588,19 @@ public class ParameterTest {
.checkGetParameterizedType("int");
}
- @Ignore("b/328705542")
@Test
public void testEnumValueOf() throws Exception {
Method method = TestEnum.class.getDeclaredMethod("valueOf", String.class);
ExecutableTestHelper helper = new ExecutableTestHelper(method);
helper.checkStandardParametersBehavior()
- .checkParametersToString("[java.lang.String arg0]")
- .checkParametersMetadataNotAvailable()
+ .checkParametersToString("[ java.lang.String arg0]")
.checkParametersNoVarArgs();
helper.getParameterTestHelper(0)
+ .checkName(false, "arg0")
+ .checkModifiers(32768) // 32768 == Modifier.MANDATED
+ .checkImplicitAndSynthetic(true, false)
.checkGetType(String.class)
.checkGetParameterizedType("class java.lang.String");
}
@@ -744,7 +754,6 @@ public class ParameterTest {
.checkGetParameterizedType("class [Ljava.lang.Integer;");
}
- @Ignore("b/328705542")
@Test
public void testAnonymousClassConstructor() throws Exception {
Class<?> outerClass = ParameterTest.class;
@@ -753,11 +762,13 @@ public class ParameterTest {
ExecutableTestHelper helper = new ExecutableTestHelper(constructor);
helper.checkStandardParametersBehavior()
- .checkParametersToString("[" + outerClass.getName() + " arg0]")
- .checkParametersMetadataNotAvailable()
+ .checkParametersToString("[final " + outerClass.getName() + " arg0]")
.checkParametersNoVarArgs();
helper.getParameterTestHelper(0)
+ .checkName(false, "arg0")
+ .checkModifiers(32784) // 32784 == Modifier.MANDATED & Modifier.FINAL
+ .checkImplicitAndSynthetic(true, false)
.checkGetType(outerClass)
.checkGetParameterizedType("class " + outerClass.getName() + "");
}
@@ -794,7 +805,6 @@ public class ParameterTest {
.checkGetParameterizedType("class " + outerClass.getName() + "");
}
- @Ignore("b/328705542")
@Test
public void testMethodClassConstructor() throws Exception {
Class<?> outerClass = ParameterTest.class;
@@ -803,11 +813,13 @@ public class ParameterTest {
ExecutableTestHelper helper = new ExecutableTestHelper(constructor);
helper.checkStandardParametersBehavior()
- .checkParametersToString("[" + outerClass.getName() + " arg0]")
- .checkParametersMetadataNotAvailable()
+ .checkParametersToString("[final " + outerClass.getName() + " arg0]")
.checkParametersNoVarArgs();
helper.getParameterTestHelper(0)
+ .checkName(false, "arg0")
+ .checkModifiers(32784) // 32784 == Modifier.MANDATED & Modifier.FINAL
+ .checkImplicitAndSynthetic(true, false)
.checkGetType(outerClass)
.checkGetParameterizedType("class " + outerClass.getName() + "");
}