Skip to content

Commit dae6c24

Browse files
authored
[QUIC] Fix failing parallel tests (#83687)
* Hocus pocus * Enable failing test * Fixed touching msquic when it's not supported. * Feedback * Test of output * Feedback
1 parent dce3439 commit dae6c24

File tree

4 files changed

+20
-4
lines changed

4 files changed

+20
-4
lines changed

src/libraries/System.Net.Quic/src/System/Net/Quic/Internal/MsQuicApi.cs

-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
using System.Diagnostics.CodeAnalysis;
66
using System.Runtime.InteropServices;
77
using Microsoft.Quic;
8-
98
using static Microsoft.Quic.MsQuic;
109

1110
#if TARGET_WINDOWS

src/libraries/System.Net.Quic/tests/FunctionalTests/MsQuicPlatformDetectionTests.cs

+1
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ public async Task SupportedLinuxPlatformsWithMsQuic_IsSupportedIsTrue()
3838
find.StartInfo.FileName = "find";
3939
find.StartInfo.Arguments = "/usr/ -iname libmsquic.so*";
4040
find.StartInfo.RedirectStandardOutput = true;
41+
find.StartInfo.RedirectStandardError = true;
4142
find.Start();
4243
string output = await find.StandardOutput.ReadToEndAsync();
4344
_output.WriteLine(output);

src/libraries/System.Net.Quic/tests/FunctionalTests/QuicListenerTests.cs

-1
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,6 @@ public Task Listener_BacklogLimitRefusesConnection_ParallelClients_ClientThrows(
203203
[InlineData(100, 101)]
204204
[InlineData(15, 100)]
205205
[InlineData(10, 1_000)]
206-
[ActiveIssue("https://github.com/dotnet/runtime/issues/82769", typeof(PlatformDetection), nameof(PlatformDetection.IsArmOrArm64Process))]
207206
[OuterLoop("Higher number of connections slow the test down.")]
208207
private Task Listener_BacklogLimitRefusesConnection_ParallelClients_ClientThrows_Slow(int backlogLimit, int connectCount)
209208
=> Listener_BacklogLimitRefusesConnection_ParallelClients_ClientThrows_Core(backlogLimit, connectCount);

src/libraries/System.Net.Quic/tests/FunctionalTests/QuicTestBase.cs

+19-2
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
using Xunit.Abstractions;
1414
using System.Diagnostics.Tracing;
1515
using System.Net.Sockets;
16+
using Microsoft.Quic;
17+
using static Microsoft.Quic.MsQuic;
1618

1719
namespace System.Net.Quic.Tests
1820
{
@@ -40,10 +42,25 @@ public abstract class QuicTestBase : IDisposable
4042
public const int PassingTestTimeoutMilliseconds = 4 * 60 * 1000;
4143
public static TimeSpan PassingTestTimeout => TimeSpan.FromMilliseconds(PassingTestTimeoutMilliseconds);
4244

43-
public QuicTestBase(ITestOutputHelper output)
45+
static unsafe QuicTestBase()
46+
{
47+
Console.WriteLine($"MsQuic {(IsSupported ? "supported" : "not supported")} and using '{MsQuicApi.MsQuicLibraryVersion}'.");
48+
49+
if (IsSupported)
50+
{
51+
QUIC_SETTINGS settings = default(QUIC_SETTINGS);
52+
settings.IsSet.MaxWorkerQueueDelayUs = 1;
53+
settings.MaxWorkerQueueDelayUs = 2_500_000u; // 2.5s, 10x the default
54+
if (StatusFailed(MsQuicApi.Api.ApiTable->SetParam(null, QUIC_PARAM_GLOBAL_SETTINGS, (uint)sizeof(QUIC_SETTINGS), (byte*)&settings)))
55+
{
56+
Console.WriteLine($"Unable to set MsQuic MaxWorkerQueueDelayUs.");
57+
}
58+
}
59+
}
60+
61+
public unsafe QuicTestBase(ITestOutputHelper output)
4462
{
4563
_output = output;
46-
_output.WriteLine($"Using {MsQuicApi.MsQuicLibraryVersion}");
4764
}
4865

4966
public void Dispose()

0 commit comments

Comments
 (0)