From 59e4231d98c9bb293d06d6233eccc8f57ba623b0 Mon Sep 17 00:00:00 2001 From: pavelsavara Date: Mon, 27 Jan 2025 19:24:02 +0100 Subject: [PATCH 1/3] give GC more chance --- .../Writers/XmlWriterApi/TCFullEndElement.cs | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/TCFullEndElement.cs b/src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/TCFullEndElement.cs index 568ab368092b22..7ef81f33a7f378 100644 --- a/src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/TCFullEndElement.cs +++ b/src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/TCFullEndElement.cs @@ -12,8 +12,25 @@ namespace System.Xml.XmlWriterApiTests { //[TestCase(Name = "WriteFullEndElement")] - public class TCFullEndElement + public class TCFullEndElement : IAsyncLifetime { + public async Task InitializeAsync() + { + if (OperatingSystem.IsBrowser()) + { + await Task.Yield(); + } + } + + public Task DisposeAsync() + { + if (OperatingSystem.IsBrowser()) + { + GC.Collect(); + } + return Task.CompletedTask; + } + // Sanity test for WriteFullEndElement() [Theory] [XmlWriterInlineData] From 4dc0bead3967b4a6b37349411ab4e66be3469e0a Mon Sep 17 00:00:00 2001 From: pavelsavara Date: Mon, 27 Jan 2025 21:27:21 +0100 Subject: [PATCH 2/3] fix --- .../tests/Writers/XmlWriterApi/TCFullEndElement.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/TCFullEndElement.cs b/src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/TCFullEndElement.cs index 7ef81f33a7f378..4705595fb5d47e 100644 --- a/src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/TCFullEndElement.cs +++ b/src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/TCFullEndElement.cs @@ -7,6 +7,8 @@ using System.Text; using OLEDB.Test.ModuleCore; using XmlCoreTest.Common; +using System.Threading; +using System.Threading.Tasks; using Xunit; namespace System.Xml.XmlWriterApiTests From 80b8dc75ca39f438e673e759bb81fc0e7fb2c475 Mon Sep 17 00:00:00 2001 From: Pavel Savara Date: Tue, 28 Jan 2025 14:07:19 +0100 Subject: [PATCH 3/3] feedback --- .../tests/Writers/XmlWriterApi/TCFullEndElement.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/TCFullEndElement.cs b/src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/TCFullEndElement.cs index 4705595fb5d47e..3955b2ec0c72ac 100644 --- a/src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/TCFullEndElement.cs +++ b/src/libraries/System.Private.Xml/tests/Writers/XmlWriterApi/TCFullEndElement.cs @@ -18,6 +18,9 @@ public class TCFullEndElement : IAsyncLifetime { public async Task InitializeAsync() { + // when running in browser, we only have 32bit address space + // and this unit test is allocating a lot of resources. Which often leads to OOM in CI + // yielding to the browser event loop will give the runtime ability to run finalizers if (OperatingSystem.IsBrowser()) { await Task.Yield();