From a679a6885585143a22a2c58cfa73664150e2769d Mon Sep 17 00:00:00 2001 From: Simon Rozsival Date: Mon, 25 May 2026 16:29:54 +0200 Subject: [PATCH] Refactor NativeTypeMap tests for trimmable typemap Use the runtime-registered JniRuntime type manager from NativeTypeMap-tagged tests so they work with either LLVM-IR or trimmable typemap implementations. Remove stale NativeTypeMap category exclusions after the affected tests no longer require the native typemap path. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../AndroidValueManagerContractTests.cs | 2 +- .../Mono.Android-Tests/Java.Interop/JnienvTest.cs | 12 ++++++------ .../Mono.Android-Tests/Mono.Android.NET-Tests.csproj | 3 +-- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/tests/Mono.Android-Tests/Java.Interop-Tests/Java.InteropTests/AndroidValueManagerContractTests.cs b/tests/Mono.Android-Tests/Java.Interop-Tests/Java.InteropTests/AndroidValueManagerContractTests.cs index 6a3bba40934..259158745a9 100644 --- a/tests/Mono.Android-Tests/Java.Interop-Tests/Java.InteropTests/AndroidValueManagerContractTests.cs +++ b/tests/Mono.Android-Tests/Java.Interop-Tests/Java.InteropTests/AndroidValueManagerContractTests.cs @@ -12,7 +12,7 @@ using NUnit.Framework; namespace Java.InteropTests { - [TestFixture, Category ("NativeTypeMap")] + [TestFixture] public class AndroidValueManagerContractTests : JniRuntimeJniValueManagerContract { [DynamicallyAccessedMembers (DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)] diff --git a/tests/Mono.Android-Tests/Mono.Android-Tests/Java.Interop/JnienvTest.cs b/tests/Mono.Android-Tests/Mono.Android-Tests/Java.Interop/JnienvTest.cs index f85703c6a3a..e74745ec73e 100644 --- a/tests/Mono.Android-Tests/Mono.Android-Tests/Java.Interop/JnienvTest.cs +++ b/tests/Mono.Android-Tests/Mono.Android-Tests/Java.Interop/JnienvTest.cs @@ -478,24 +478,24 @@ public void MoarThreadingTests () Assert.IsNull (ignore_t2, string.Format ("No exception should be thrown [t2]! Got: {0}", ignore_t2)); } - [Test, Category ("NativeTypeMap")] + [Test] public void JavaToManagedTypeMapping () { - Type m = Java.Interop.TypeManager.GetJavaToManagedType ("android/content/res/Resources"); + Type m = JniRuntime.CurrentRuntime.TypeManager.GetType (new JniTypeSignature ("android/content/res/Resources")); Assert.AreNotEqual (null, m); - m = Java.Interop.TypeManager.GetJavaToManagedType ("this/type/does/not/exist"); + m = JniRuntime.CurrentRuntime.TypeManager.GetType (new JniTypeSignature ("this/type/does/not/exist")); Assert.AreEqual (null, m); } - [Test, Category ("NativeTypeMap")] + [Test] public void ManagedToJavaTypeMapping () { Type type = typeof(Activity); - string m = JNIEnv.TypemapManagedToJava (type); + string m = JniRuntime.CurrentRuntime.TypeManager.GetTypeSignature (type).SimpleReference; Assert.AreNotEqual (null, m, "`Activity` subclasses Java.Lang.Object, it should be in the typemap!"); type = typeof (JnienvTest); - m = JNIEnv.TypemapManagedToJava (type); + m = JniRuntime.CurrentRuntime.TypeManager.GetTypeSignature (type).SimpleReference; Assert.AreEqual (null, m, "`JnienvTest` does *not* subclass Java.Lang.Object, it should *not* be in the typemap!"); } diff --git a/tests/Mono.Android-Tests/Mono.Android-Tests/Mono.Android.NET-Tests.csproj b/tests/Mono.Android-Tests/Mono.Android-Tests/Mono.Android.NET-Tests.csproj index c97da9b260c..c916be26314 100644 --- a/tests/Mono.Android-Tests/Mono.Android-Tests/Mono.Android.NET-Tests.csproj +++ b/tests/Mono.Android-Tests/Mono.Android-Tests/Mono.Android.NET-Tests.csproj @@ -31,7 +31,7 @@ $(ExcludeCategories):CoreCLRIgnore:NTLM - $(ExcludeCategories):NativeAOTIgnore:SSL:NTLM:Export:NativeTypeMap + $(ExcludeCategories):NativeAOTIgnore:SSL:NTLM:Export $(ExcludeCategories):LLVMIgnore $(ExcludeCategories):InetAccess:NetworkInterfaces @@ -40,7 +40,6 @@ false CoreCLRTrimmable - $(ExcludeCategories):NativeTypeMap