Skip to content

Commit abe7c15

Browse files
MichelZbenrr101
authored andcommitted
Remove ExectueXmlReaderTest on ARM
Factor out tests that have different conditions
1 parent 8a23651 commit abe7c15

File tree

2 files changed

+46
-32
lines changed

2 files changed

+46
-32
lines changed

src/Microsoft.Data.SqlClient/tests/ManualTests/DataCommon/DataTestUtility.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,16 @@ static DataTestUtility()
234234
}
235235
}
236236

237+
public static IEnumerable<object[]> GetConnectionStringsWithEnclaveMemberData()
238+
{
239+
return GetConnectionStrings(true).Select(x => new object[] { x });
240+
}
241+
242+
public static IEnumerable<object[]> GetConnectionStringsWithoutEnclaveMemberData()
243+
{
244+
return GetConnectionStrings(false).Select(x => new object[] { x });
245+
}
246+
237247
public static IEnumerable<string> ConnectionStrings => GetConnectionStrings(withEnclave: true);
238248

239249
public static IEnumerable<string> GetConnectionStrings(bool withEnclave)

src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/DataStreamTest/DataStreamTest.cs

Lines changed: 36 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@ public static void RunAllTestsForSingleServer_NP()
2424
{
2525
if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
2626
{
27-
DataTestUtility.AssertThrowsWrapper<PlatformNotSupportedException>(() => RunAllTestsForSingleServer(DataTestUtility.NPConnectionString, true));
27+
DataTestUtility.AssertThrowsWrapper<PlatformNotSupportedException>(() => RunAllTestsForSingleServer(DataTestUtility.NPConnectionString));
2828
}
2929
else
3030
{
31-
RunAllTestsForSingleServer(DataTestUtility.NPConnectionString, true);
31+
RunAllTestsForSingleServer(DataTestUtility.NPConnectionString);
3232
}
3333
}
3434

@@ -37,7 +37,7 @@ public static void RunAllTestsForSingleServer_TCP()
3737
{
3838
RunAllTestsForSingleServer(DataTestUtility.TCPConnectionString);
3939
}
40-
40+
4141
// Synapse: The statement failed. Column 'foo' has a data type that cannot participate in a columnstore index.
4242
[ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureSynapse))]
4343
public static async Task AsyncMultiPacketStreamRead()
@@ -119,7 +119,35 @@ static async Task LocalCopyTo(Stream source, Stream destination, int bufferSize,
119119
Assert.Fail($"input and output differ at index {index}, input={inputData[index]}, output={outputData[index]}");
120120
}
121121
}
122+
}
123+
124+
[ConditionalTheory(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureServer))]
125+
[MemberData(nameof(DataTestUtility.GetConnectionStringsWithEnclaveMemberData), MemberType = typeof(DataTestUtility))]
126+
public static void XEventsStreamingTest(string connectionString)
127+
{
128+
TestXEventsStreaming(connectionString);
129+
}
130+
131+
[ConditionalTheory(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsUsingNativeSNI), nameof(DataTestUtility.IsNotNamedInstance))]
132+
[MemberData(nameof(DataTestUtility.GetConnectionStringsWithEnclaveMemberData), MemberType = typeof(DataTestUtility))]
133+
public static void TestTimeoutDuringReadAsyncWithClosedReaderTest(string connectionString)
134+
{
135+
TimeoutDuringReadAsyncWithClosedReaderTest(connectionString);
136+
}
122137

138+
[ConditionalTheory(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotNamedInstance))]
139+
[MemberData(nameof(DataTestUtility.GetConnectionStringsWithEnclaveMemberData), MemberType = typeof(DataTestUtility))]
140+
public static void NonFatalTimeoutDuringReadTest(string connectionString)
141+
{
142+
NonFatalTimeoutDuringRead(connectionString);
143+
}
144+
145+
[ActiveIssue("https://github.com/dotnet/SqlClient/issues/3035", typeof(DataStreamTest), nameof(IsArm))]
146+
[ConditionalTheory(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup))]
147+
[MemberData(nameof(DataTestUtility.GetConnectionStringsWithEnclaveMemberData), MemberType = typeof(DataTestUtility))]
148+
public static void XmlReaderTest(string connectionString)
149+
{
150+
ExecuteXmlReaderTest(connectionString);
123151
}
124152

125153
private static byte[] CreateBinaryTable(SqlConnection connection, string tableName, int packetSize)
@@ -152,7 +180,7 @@ IF OBJECT_ID('dbo.{tableName}', 'U') IS NOT NULL
152180
return data;
153181
}
154182

155-
private static void RunAllTestsForSingleServer(string connectionString, bool usingNamePipes = false)
183+
private static void RunAllTestsForSingleServer(string connectionString)
156184
{
157185
RowBuffer(connectionString);
158186
InvalidRead(connectionString);
@@ -165,7 +193,6 @@ private static void RunAllTestsForSingleServer(string connectionString, bool usi
165193
TimestampRead(connectionString);
166194
OrphanReader(connectionString);
167195
BufferSize(connectionString);
168-
ExecuteXmlReaderTest(connectionString);
169196
SequentialAccess(connectionString);
170197
HasRowsTest(connectionString);
171198
CloseConnection(connectionString);
@@ -178,25 +205,6 @@ private static void RunAllTestsForSingleServer(string connectionString, bool usi
178205
ReadTextReader(connectionString);
179206
StreamingBlobDataTypes(connectionString);
180207
OutOfOrderGetChars(connectionString);
181-
182-
// Azure Database does not support Server scoped XEvents and the timeout tests use the ProxyServer which also does not work on Azure and on named instances
183-
if (IsAzureSqlServer(connectionString) || IsNamedInstance(connectionString))
184-
{
185-
return;
186-
}
187-
188-
TestXEventsStreaming(connectionString);
189-
190-
// These tests fail with named pipes, since they try to do DNS lookups on named pipe paths.
191-
if (!usingNamePipes)
192-
{
193-
if (DataTestUtility.IsUsingNativeSNI())
194-
{
195-
TimeoutDuringReadAsyncWithClosedReaderTest(connectionString);
196-
}
197-
198-
NonFatalTimeoutDuringRead(connectionString);
199-
}
200208
}
201209

202210
private static void MultipleResults(string connectionString)
@@ -265,15 +273,11 @@ private static void MultipleResults(string connectionString)
265273
}
266274
}
267275

268-
private static bool IsAzureSqlServer(string connectionString)
269-
{
270-
return Utils.IsAzureSqlServer(new SqlConnectionStringBuilder(connectionString).DataSource);
271-
}
276+
private static bool IsAzureSqlServer(string connectionString) => Utils.IsAzureSqlServer(new SqlConnectionStringBuilder(connectionString).DataSource);
272277

273-
private static bool IsNamedInstance(string connectionString)
274-
{
275-
return new SqlConnectionStringBuilder(connectionString).DataSource.Contains(@"\");
276-
}
278+
private static bool IsNamedInstance(string connectionString) => new SqlConnectionStringBuilder(connectionString).DataSource.Contains(@"\");
279+
280+
private static bool IsArm => RuntimeInformation.ProcessArchitecture == Architecture.Arm || RuntimeInformation.ProcessArchitecture == Architecture.Arm64;
277281

278282
private static void InvalidRead(string connectionString)
279283
{

0 commit comments

Comments
 (0)