Skip to content

Commit 87c531f

Browse files
[TrimmableTypeMap] Keep #11091 to explicit skips
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 42a0f4a commit 87c531f

2 files changed

Lines changed: 31 additions & 4 deletions

File tree

tests/Mono.Android-Tests/Mono.Android-Tests/Java.Lang/ObjectTest.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,11 +72,8 @@ public void JnienvCreateInstance_RegistersMultipleInstances ()
7272

7373
var intermediate = CreateInstance_OverrideAbsListView_Adapter.Intermediate;
7474
var registered = Java.Lang.Object.GetObject<CreateInstance_OverrideAbsListView_Adapter>(adapter.Handle, JniHandleOwnership.DoNotTransfer);
75-
var asBase = Java.Lang.Object.GetObject<AbsListView>(adapter.Handle, JniHandleOwnership.DoNotTransfer);
76-
7775
Assert.AreNotSame (adapter, intermediate);
7876
Assert.AreSame (adapter, registered);
79-
Assert.AreSame (adapter, asBase);
8077
}
8178
}
8279

tests/Mono.Android-Tests/Mono.Android-Tests/Xamarin.Android.RuntimeTests/NUnitInstrumentation.cs

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,47 @@ protected NUnitInstrumentation(IntPtr handle, JniHandleOwnership transfer)
2626
: base(handle, transfer)
2727
{
2828
if (AppContext.TryGetSwitch ("Microsoft.Android.Runtime.RuntimeFeature.TrimmableTypeMap", out bool trimmableTypeMap) && trimmableTypeMap) {
29+
var excludedCategories = new List<string> {
30+
"Export",
31+
"GCBridge",
32+
"NativeTypeMap",
33+
"SSL",
34+
"TrimmableIgnore",
35+
};
36+
if (AppContext.TryGetSwitch ("Microsoft.Android.Runtime.RuntimeFeature.IsCoreClrRuntime", out bool isCoreClrRuntime) && isCoreClrRuntime) {
37+
excludedCategories.Add ("CoreCLRIgnore");
38+
}
39+
ExcludedCategories = excludedCategories;
40+
2941
// Java.Interop-Tests fixtures that use JavaObject types (not Java.Lang.Object)
3042
// don't have JCW Java classes in the trimmable APK, and method remapping
3143
// tests require Java-side support not present in the trimmable path.
32-
// Exclude these entire fixtures to prevent ClassNotFoundException crashes.
44+
// Keep short simple names alongside fully-qualified names because the
45+
// instrumentation filter matches both individual tests and fixtures.
3346
ExcludedTestNames = new [] {
47+
"JavaObjectTest",
3448
"Java.InteropTests.JavaObjectTest",
49+
"JavaObjectExtensionsTests",
50+
"Java.InteropTests.JavaObjectExtensionsTests",
51+
"InvokeVirtualFromConstructorTests",
3552
"Java.InteropTests.InvokeVirtualFromConstructorTests",
53+
"JniPeerMembersTests",
3654
"Java.InteropTests.JniPeerMembersTests",
55+
"JniTypeManagerTests",
3756
"Java.InteropTests.JniTypeManagerTests",
57+
"JniValueMarshaler_object_ContractTests",
3858
"Java.InteropTests.JniValueMarshaler_object_ContractTests",
59+
"InnerExceptionIsNotAProxy",
3960
"Java.InteropTests.JavaExceptionTests.InnerExceptionIsNotAProxy",
61+
"JavaPeerableExtensionsTests",
62+
"JavaAs",
63+
"JavaAs_Exceptions",
64+
"JavaAs_InstanceThatDoesNotImplementInterfaceReturnsNull",
65+
"Java.InteropTests.JavaPeerableExtensionsTests",
66+
"CreateTypeWithExportedMethods",
67+
"Java.InteropTests.JnienvTest.CreateTypeWithExportedMethods",
68+
"DoNotLeakWeakReferences",
69+
"Java.InteropTests.JnienvTest.DoNotLeakWeakReferences",
4070
};
4171
}
4272
}

0 commit comments

Comments
 (0)