From b907bb09c3045e654ddacf7311ba34cfd1e63e22 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Wed, 28 Jan 2026 09:30:50 +0100 Subject: [PATCH 1/2] [tests] Fix CGRenderingBufferProviderTest.SizeProperty_DoesNotThrow to have consistent results. Use an autorelease pool to ensure object lifetime is consistent, and thus asserts work as expected. --- .../CGRenderingBufferProviderTest.cs | 37 +++++++++---------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/tests/monotouch-test/CoreGraphics/CGRenderingBufferProviderTest.cs b/tests/monotouch-test/CoreGraphics/CGRenderingBufferProviderTest.cs index f09328ab1ebd..0f95f2e95bc7 100644 --- a/tests/monotouch-test/CoreGraphics/CGRenderingBufferProviderTest.cs +++ b/tests/monotouch-test/CoreGraphics/CGRenderingBufferProviderTest.cs @@ -32,27 +32,26 @@ public void SizeProperty_DoesNotThrow () var calledOnLockPointer = false; var calledOnUnlockPointer = false; var calledOnReleaseInfo = false; - var provider = CGRenderingBufferProvider.Create ((nint) 0x0ee1f00d, (nuint) size, - lockPointer: (info) => { - calledOnLockPointer = true; - var rv = Marshal.AllocHGlobal (size); - // Console.WriteLine ($"CreateAdaptive () OnLockPointer#4 ({info}) => {rv}"); - return rv; - }, - unlockPointer: (info, pointer) => { - // Console.WriteLine ($"CreateAdaptive () OnUnlockPointer#4 ({info}, {pointer})"); - calledOnUnlockPointer = true; - Marshal.FreeHGlobal (pointer); - }, - releaseInfo: (info) => { - // Console.WriteLine ($"CreateAdaptive () OnReleaseInfo#4 ({info})"); - calledOnReleaseInfo = true; - }); - Assert.That (provider, Is.Not.Null, "provider"); - Assert.That (provider.Size, Is.EqualTo ((nuint) size), "size"); + using (var pool = new NSAutoreleasePool ()) { + var provider = CGRenderingBufferProvider.Create ((nint) 0x0ee1f00d, (nuint) size, + lockPointer: (info) => { + calledOnLockPointer = true; + var rv = Marshal.AllocHGlobal (size); + return rv; + }, + unlockPointer: (info, pointer) => { + calledOnUnlockPointer = true; + Marshal.FreeHGlobal (pointer); + }, + releaseInfo: (info) => { + calledOnReleaseInfo = true; + }); + Assert.That (provider, Is.Not.Null, "provider"); + Assert.That (provider.Size, Is.EqualTo ((nuint) size), "size"); + } Assert.That (calledOnLockPointer, Is.EqualTo (false), "calledOnLockPointer"); Assert.That (calledOnUnlockPointer, Is.EqualTo (false), "calledOnUnlockPointer"); - Assert.That (calledOnReleaseInfo, Is.EqualTo (false), "calledOnReleaseInfo"); + Assert.That (calledOnReleaseInfo, Is.EqualTo (true), "calledOnReleaseInfo"); } [Test] From a505d7bca4dbfe5be544f9d076b0d2d34a933952 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Wed, 28 Jan 2026 13:01:41 +0100 Subject: [PATCH 2/2] Add missing using. --- .../CoreGraphics/CGRenderingBufferProviderTest.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/monotouch-test/CoreGraphics/CGRenderingBufferProviderTest.cs b/tests/monotouch-test/CoreGraphics/CGRenderingBufferProviderTest.cs index 0f95f2e95bc7..2b0a69b7db42 100644 --- a/tests/monotouch-test/CoreGraphics/CGRenderingBufferProviderTest.cs +++ b/tests/monotouch-test/CoreGraphics/CGRenderingBufferProviderTest.cs @@ -33,7 +33,7 @@ public void SizeProperty_DoesNotThrow () var calledOnUnlockPointer = false; var calledOnReleaseInfo = false; using (var pool = new NSAutoreleasePool ()) { - var provider = CGRenderingBufferProvider.Create ((nint) 0x0ee1f00d, (nuint) size, + using var provider = CGRenderingBufferProvider.Create ((nint) 0x0ee1f00d, (nuint) size, lockPointer: (info) => { calledOnLockPointer = true; var rv = Marshal.AllocHGlobal (size);