diff --git a/src/libraries/System.Net.Sockets/tests/FunctionalTests/LoggingTest.cs b/src/libraries/System.Net.Sockets/tests/FunctionalTests/LoggingTest.cs index b2c993af9c7857..a92e7aee692bbd 100644 --- a/src/libraries/System.Net.Sockets/tests/FunctionalTests/LoggingTest.cs +++ b/src/libraries/System.Net.Sockets/tests/FunctionalTests/LoggingTest.cs @@ -57,7 +57,7 @@ public void EventSource_EventsRaisedAsExpected() new SendReceiveApm(null).SendRecv_Stream_TCP(IPAddress.Loopback, false).GetAwaiter(); new SendReceiveApm(null).SendRecv_Stream_TCP(IPAddress.Loopback, true).GetAwaiter(); - new NetworkStreamTest().CopyToAsync_AllDataCopied(4096).GetAwaiter().GetResult(); + new NetworkStreamTest().CopyToAsync_AllDataCopied(4096, true).GetAwaiter().GetResult(); new NetworkStreamTest().Timeout_ValidData_Roundtrips().GetAwaiter().GetResult(); }); Assert.DoesNotContain(events, ev => ev.EventId == 0); // errors from the EventSource itself diff --git a/src/libraries/System.Net.Sockets/tests/FunctionalTests/NetworkStreamTest.cs b/src/libraries/System.Net.Sockets/tests/FunctionalTests/NetworkStreamTest.cs index 84c5c5faf447d2..a834af0bece681 100644 --- a/src/libraries/System.Net.Sockets/tests/FunctionalTests/NetworkStreamTest.cs +++ b/src/libraries/System.Net.Sockets/tests/FunctionalTests/NetworkStreamTest.cs @@ -634,14 +634,14 @@ await RunWithConnectedNetworkStreamsAsync((server, client) => }); } + public static IEnumerable CopyToAsync_AllDataCopied_MemberData() => + from asyncWrite in new bool[] { true, false } + from byteCount in new int[] { 0, 1, 1024, 4096, 4095, 1024 * 1024 } + select new object[] { byteCount, asyncWrite }; + [Theory] - [InlineData(0)] - [InlineData(1)] - [InlineData(1024)] - [InlineData(4096)] - [InlineData(4095)] - [InlineData(1024*1024)] - public async Task CopyToAsync_AllDataCopied(int byteCount) + [MemberData(nameof(CopyToAsync_AllDataCopied_MemberData))] + public async Task CopyToAsync_AllDataCopied(int byteCount, bool asyncWrite) { await RunWithConnectedNetworkStreamsAsync(async (server, client) => { @@ -650,7 +650,16 @@ await RunWithConnectedNetworkStreamsAsync(async (server, client) => new Random().NextBytes(dataToCopy); Task copyTask = client.CopyToAsync(results); - await server.WriteAsync(dataToCopy, 0, dataToCopy.Length); + + if (asyncWrite) + { + await server.WriteAsync(dataToCopy, 0, dataToCopy.Length); + } + else + { + server.Write(new ReadOnlySpan(dataToCopy, 0, dataToCopy.Length)); + } + server.Dispose(); await copyTask;