Bläddra i källkod

[System.Data] Call SqlConnection.ClearAllPools() only when we had a connection

When ConnectionManager.Instance.Sql.ConnectionString throws in
SetUp() we'd still call SqlConnection.ClearAllPools() in the TearDown()
which happens for example when the connection string environment
variable is not set.

This is a problem on WatchOS since SqlConnection.ClearAllPools()
throws PlatformNotSupportedException there, making the tests fail.
Instead we now check whether the connectionString is set and only
call the method in that case.
Alexander Köplinger 8 år sedan
förälder
incheckning
f11c25c426

+ 2 - 1
mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlConnectionTest.cs

@@ -60,7 +60,8 @@ namespace MonoTests.System.Data.Connected.SqlClient
 		{
 			if (conn != null)
 				conn.Dispose ();
-			SqlConnection.ClearAllPools ();
+			if (connectionString != null)
+				SqlConnection.ClearAllPools ();
 		}
 
 		[Test]