From 8821f151cff956290d8fa2c6ea927d39522f4755 Mon Sep 17 00:00:00 2001 From: wfurt Date: Wed, 4 Aug 2021 08:15:48 -0700 Subject: [PATCH] update and enable ReadOutstanding_ReadAborted_Throws test --- .../tests/FunctionalTests/QuicStreamTests.cs | 31 ++++++++++--------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/src/libraries/System.Net.Quic/tests/FunctionalTests/QuicStreamTests.cs b/src/libraries/System.Net.Quic/tests/FunctionalTests/QuicStreamTests.cs index 438f836b814015..4cd21e5155802b 100644 --- a/src/libraries/System.Net.Quic/tests/FunctionalTests/QuicStreamTests.cs +++ b/src/libraries/System.Net.Quic/tests/FunctionalTests/QuicStreamTests.cs @@ -504,7 +504,6 @@ await RunBidirectionalClientServer( } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/55948")] public async Task ReadOutstanding_ReadAborted_Throws() { // aborting doesn't work properly on mock @@ -513,27 +512,31 @@ public async Task ReadOutstanding_ReadAborted_Throws() return; } - const int ExpectedErrorCode = 0xfffffff; - - using SemaphoreSlim sem = new SemaphoreSlim(0); + (QuicConnection clientConnection, QuicConnection serverConnection) = await CreateConnectedQuicConnection(); + using (clientConnection) + using (serverConnection) + { + byte[] buffer = new byte[1] { 42 }; + const int ExpectedErrorCode = 0xfffffff; - await RunBidirectionalClientServer( - async clientStream => - { - await sem.WaitAsync(); - }, - async serverStream => + QuicStream clientStream = clientConnection.OpenBidirectionalStream(); + Task t = serverConnection.AcceptStreamAsync().AsTask(); + await TaskTimeoutExtensions.WhenAllOrAnyFailed(clientStream.WriteAsync(buffer).AsTask(), t, PassingTestTimeoutMilliseconds); + QuicStream serverStream = t.Result; + Assert.Equal(1, await serverStream.ReadAsync(buffer)); + + // streams are new established and in good shape. + using (clientStream) + using (serverStream) { Task exTask = Assert.ThrowsAsync(() => serverStream.ReadAsync(new byte[1]).AsTask()); - Assert.False(exTask.IsCompleted); serverStream.AbortRead(ExpectedErrorCode); await exTask; - - sem.Release(); - }); + } + } } [Fact]