From 43f78803e334cde4030bafd7b9324f6ab308f0fd Mon Sep 17 00:00:00 2001 From: Johnny Pham Date: Wed, 24 Nov 2021 13:36:26 -0800 Subject: [PATCH] Include derived types of ArgumentException in DataStreamTest when reading past end of stream (#1404) * Update DataStreamTest.cs * Update DataStreamTest.cs * Update src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/DataStreamTest/DataStreamTest.cs Co-authored-by: DavoudEshtehari <61173489+DavoudEshtehari@users.noreply.github.com> Co-authored-by: DavoudEshtehari <61173489+DavoudEshtehari@users.noreply.github.com> --- .../ManualTests/SQL/DataStreamTest/DataStreamTest.cs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/DataStreamTest/DataStreamTest.cs b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/DataStreamTest/DataStreamTest.cs index 2c5bce8c82..dc45bd2305 100644 --- a/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/DataStreamTest/DataStreamTest.cs +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/DataStreamTest/DataStreamTest.cs @@ -1555,8 +1555,13 @@ private static void ReadStream(string connectionString) DataTestUtility.AssertThrowsWrapper(() => stream.Read(null, 0, 1)); DataTestUtility.AssertThrowsWrapper(() => stream.Read(buffer, -1, 2)); DataTestUtility.AssertThrowsWrapper(() => stream.Read(buffer, 2, -1)); - DataTestUtility.AssertThrowsWrapper(() => stream.Read(buffer, buffer.Length, buffer.Length)); - DataTestUtility.AssertThrowsWrapper(() => stream.Read(buffer, int.MaxValue, int.MaxValue)); + + // ArgumentException is thrown in net5 and earlier. ArgumentOutOfRangeException in net6 and later + Assert.True(ex.GetType() == typeof(ArgumentException) || ex.GetType() == typeof(ArgumentOutOfRangeException), + "Expected: ArgumentException in net5 and earlier. ArgumentOutOfRangeException in net6 and later."); + ex = Assert.ThrowsAny(() => stream.Read(buffer, int.MaxValue, int.MaxValue)); + Assert.True(ex.GetType() == typeof(ArgumentException) || ex.GetType() == typeof(ArgumentOutOfRangeException), + "Expected: ArgumentException in net5 and earlier. ArgumentOutOfRangeException in net6 and later."); } // Once Reader is closed