From 1348c3c0a9b70c85e3d23ee08ced02e92738352f Mon Sep 17 00:00:00 2001 From: Michel Zehnder Date: Fri, 22 Nov 2024 23:28:50 +0100 Subject: [PATCH] Improve timeout of tests (#3026) * Improve timeout of tests * Increate timeout for column creation in setup --- .../tests/ManualTests/AlwaysEncrypted/ConversionTests.cs | 5 ++++- .../TestFixtures/Setup/ColumnEncryptionKey.cs | 2 ++ .../AlwaysEncrypted/TestFixtures/Setup/ColumnMasterKey.cs | 2 ++ .../tests/ManualTests/TracingTests/EventCounterTest.cs | 1 + 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/AlwaysEncrypted/ConversionTests.cs b/src/Microsoft.Data.SqlClient/tests/ManualTests/AlwaysEncrypted/ConversionTests.cs index 8e62ee95fc..94f137dbe9 100644 --- a/src/Microsoft.Data.SqlClient/tests/ManualTests/AlwaysEncrypted/ConversionTests.cs +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/AlwaysEncrypted/ConversionTests.cs @@ -70,7 +70,10 @@ public ConversionTests() foreach (string connectionStr in DataTestUtility.AEConnStringsSetup) { - using (SqlConnection sqlConnection = new SqlConnection(connectionStr)) + var connectionString = new SqlConnectionStringBuilder(connectionStr); + connectionString.ConnectTimeout = Math.Max(connectionString.ConnectTimeout, 30); // The AE tests often fail with a connect timeout in this constructor. Making sure we have a reasonable timeout. + + using (SqlConnection sqlConnection = new SqlConnection(connectionString.ConnectionString)) { sqlConnection.Open(); _databaseObjects.ForEach(o => o.Create(sqlConnection)); diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/AlwaysEncrypted/TestFixtures/Setup/ColumnEncryptionKey.cs b/src/Microsoft.Data.SqlClient/tests/ManualTests/AlwaysEncrypted/TestFixtures/Setup/ColumnEncryptionKey.cs index 521328bad5..f9b008ddbf 100644 --- a/src/Microsoft.Data.SqlClient/tests/ManualTests/AlwaysEncrypted/TestFixtures/Setup/ColumnEncryptionKey.cs +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/AlwaysEncrypted/TestFixtures/Setup/ColumnEncryptionKey.cs @@ -36,6 +36,7 @@ WITH VALUES ( using (SqlCommand command = sqlConnection.CreateCommand()) { command.CommandText = sql; + command.CommandTimeout = 60; command.ExecuteNonQuery(); } } @@ -47,6 +48,7 @@ public override void Drop(SqlConnection sqlConnection) using (SqlCommand command = sqlConnection.CreateCommand()) { command.CommandText = sql; + command.CommandTimeout = 60; command.ExecuteNonQuery(); } } diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/AlwaysEncrypted/TestFixtures/Setup/ColumnMasterKey.cs b/src/Microsoft.Data.SqlClient/tests/ManualTests/AlwaysEncrypted/TestFixtures/Setup/ColumnMasterKey.cs index 4e4cf8acf8..2e8d67b95c 100644 --- a/src/Microsoft.Data.SqlClient/tests/ManualTests/AlwaysEncrypted/TestFixtures/Setup/ColumnMasterKey.cs +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/AlwaysEncrypted/TestFixtures/Setup/ColumnMasterKey.cs @@ -42,6 +42,7 @@ public override void Create(SqlConnection sqlConnection) if (!string.IsNullOrEmpty(sql)) { command.CommandText = sql; + command.CommandTimeout = 60; command.ExecuteNonQuery(); } } @@ -54,6 +55,7 @@ public override void Drop(SqlConnection sqlConnection) using (SqlCommand command = sqlConnection.CreateCommand()) { command.CommandText = sql; + command.CommandTimeout = 60; command.ExecuteNonQuery(); } } diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/TracingTests/EventCounterTest.cs b/src/Microsoft.Data.SqlClient/tests/ManualTests/TracingTests/EventCounterTest.cs index 511ff315df..a84a123dc6 100644 --- a/src/Microsoft.Data.SqlClient/tests/ManualTests/TracingTests/EventCounterTest.cs +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/TracingTests/EventCounterTest.cs @@ -152,6 +152,7 @@ public void EventCounter_ReclaimedConnectionsCounter_Functional() // clean pools and pool groups ClearConnectionPools(); var stringBuilder = new SqlConnectionStringBuilder(DataTestUtility.TCPConnectionString) { Pooling = true, MaxPoolSize = 1 }; + stringBuilder.ConnectTimeout = Math.Max(stringBuilder.ConnectTimeout, 30); long rc = SqlClientEventSourceProps.ReclaimedConnections;