diff --git a/src/Servers/Kestrel.sln b/src/Servers/Kestrel.sln
index b4dcf36c38..48fc57dd11 100644
--- a/src/Servers/Kestrel.sln
+++ b/src/Servers/Kestrel.sln
@@ -49,6 +49,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets", "Kestrel\Transport.Sockets\src\Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.csproj", "{C0AB577F-0227-45E6-A3AC-E7ABEFC4ED60}"
EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Libuv.BindTests", "Kestrel\test\Libuv.BindTests\Libuv.BindTests.csproj", "{B211AEE8-F28F-45A4-9C71-81691D7C99E1}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sockets.BindTests", "Kestrel\test\Sockets.BindTests\Sockets.BindTests.csproj", "{94135813-EBCC-4E4E-8B12-8E5BD58E1350}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -299,6 +303,30 @@ Global
{C0AB577F-0227-45E6-A3AC-E7ABEFC4ED60}.Release|x64.Build.0 = Release|Any CPU
{C0AB577F-0227-45E6-A3AC-E7ABEFC4ED60}.Release|x86.ActiveCfg = Release|Any CPU
{C0AB577F-0227-45E6-A3AC-E7ABEFC4ED60}.Release|x86.Build.0 = Release|Any CPU
+ {B211AEE8-F28F-45A4-9C71-81691D7C99E1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B211AEE8-F28F-45A4-9C71-81691D7C99E1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B211AEE8-F28F-45A4-9C71-81691D7C99E1}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {B211AEE8-F28F-45A4-9C71-81691D7C99E1}.Debug|x64.Build.0 = Debug|Any CPU
+ {B211AEE8-F28F-45A4-9C71-81691D7C99E1}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {B211AEE8-F28F-45A4-9C71-81691D7C99E1}.Debug|x86.Build.0 = Debug|Any CPU
+ {B211AEE8-F28F-45A4-9C71-81691D7C99E1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B211AEE8-F28F-45A4-9C71-81691D7C99E1}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B211AEE8-F28F-45A4-9C71-81691D7C99E1}.Release|x64.ActiveCfg = Release|Any CPU
+ {B211AEE8-F28F-45A4-9C71-81691D7C99E1}.Release|x64.Build.0 = Release|Any CPU
+ {B211AEE8-F28F-45A4-9C71-81691D7C99E1}.Release|x86.ActiveCfg = Release|Any CPU
+ {B211AEE8-F28F-45A4-9C71-81691D7C99E1}.Release|x86.Build.0 = Release|Any CPU
+ {94135813-EBCC-4E4E-8B12-8E5BD58E1350}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {94135813-EBCC-4E4E-8B12-8E5BD58E1350}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {94135813-EBCC-4E4E-8B12-8E5BD58E1350}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {94135813-EBCC-4E4E-8B12-8E5BD58E1350}.Debug|x64.Build.0 = Debug|Any CPU
+ {94135813-EBCC-4E4E-8B12-8E5BD58E1350}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {94135813-EBCC-4E4E-8B12-8E5BD58E1350}.Debug|x86.Build.0 = Debug|Any CPU
+ {94135813-EBCC-4E4E-8B12-8E5BD58E1350}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {94135813-EBCC-4E4E-8B12-8E5BD58E1350}.Release|Any CPU.Build.0 = Release|Any CPU
+ {94135813-EBCC-4E4E-8B12-8E5BD58E1350}.Release|x64.ActiveCfg = Release|Any CPU
+ {94135813-EBCC-4E4E-8B12-8E5BD58E1350}.Release|x64.Build.0 = Release|Any CPU
+ {94135813-EBCC-4E4E-8B12-8E5BD58E1350}.Release|x86.ActiveCfg = Release|Any CPU
+ {94135813-EBCC-4E4E-8B12-8E5BD58E1350}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/src/Servers/Kestrel/Core/src/Properties/AssemblyInfo.cs b/src/Servers/Kestrel/Core/src/Properties/AssemblyInfo.cs
index 1806c94cf2..33afe9b70c 100644
--- a/src/Servers/Kestrel/Core/src/Properties/AssemblyInfo.cs
+++ b/src/Servers/Kestrel/Core/src/Properties/AssemblyInfo.cs
@@ -11,3 +11,5 @@ using System.Runtime.CompilerServices;
[assembly: InternalsVisibleTo("Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
[assembly: InternalsVisibleTo("Http2SampleApp, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
[assembly: InternalsVisibleTo("PlatformBenchmarks, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
+[assembly: InternalsVisibleTo("Libuv.BindTests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
+[assembly: InternalsVisibleTo("Sockets.BindTests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
diff --git a/src/Servers/Kestrel/test/FunctionalTests/TestHelpers/HostNameIsReachableAttribute.cs b/src/Servers/Kestrel/shared/test/TransportTestHelpers/HostNameIsReachableAttribute.cs
similarity index 100%
rename from src/Servers/Kestrel/test/FunctionalTests/TestHelpers/HostNameIsReachableAttribute.cs
rename to src/Servers/Kestrel/shared/test/TransportTestHelpers/HostNameIsReachableAttribute.cs
diff --git a/src/Servers/Kestrel/test/FunctionalTests/TestHelpers/IPv6ScopeIdPresentConditionAttribute.cs b/src/Servers/Kestrel/shared/test/TransportTestHelpers/IPv6ScopeIdPresentConditionAttribute.cs
similarity index 100%
rename from src/Servers/Kestrel/test/FunctionalTests/TestHelpers/IPv6ScopeIdPresentConditionAttribute.cs
rename to src/Servers/Kestrel/shared/test/TransportTestHelpers/IPv6ScopeIdPresentConditionAttribute.cs
diff --git a/src/Servers/Kestrel/test/FunctionalTests/TestHelpers/IPv6SupportedConditionAttribute.cs b/src/Servers/Kestrel/shared/test/TransportTestHelpers/IPv6SupportedConditionAttribute.cs
similarity index 100%
rename from src/Servers/Kestrel/test/FunctionalTests/TestHelpers/IPv6SupportedConditionAttribute.cs
rename to src/Servers/Kestrel/shared/test/TransportTestHelpers/IPv6SupportedConditionAttribute.cs
diff --git a/src/Servers/Kestrel/test/FunctionalTests/TestHelpers/IWebHostPortExtensions.cs b/src/Servers/Kestrel/shared/test/TransportTestHelpers/IWebHostPortExtensions.cs
similarity index 100%
rename from src/Servers/Kestrel/test/FunctionalTests/TestHelpers/IWebHostPortExtensions.cs
rename to src/Servers/Kestrel/shared/test/TransportTestHelpers/IWebHostPortExtensions.cs
diff --git a/src/Servers/Kestrel/test/FunctionalTests/TestHelpers/TestApplicationErrorLoggerLoggedTest.cs b/src/Servers/Kestrel/shared/test/TransportTestHelpers/TestApplicationErrorLoggerLoggedTest.cs
similarity index 100%
rename from src/Servers/Kestrel/test/FunctionalTests/TestHelpers/TestApplicationErrorLoggerLoggedTest.cs
rename to src/Servers/Kestrel/shared/test/TransportTestHelpers/TestApplicationErrorLoggerLoggedTest.cs
diff --git a/src/Servers/Kestrel/test/FunctionalTests/AddressRegistrationTests.cs b/src/Servers/Kestrel/test/BindTests/AddressRegistrationTests.cs
similarity index 100%
rename from src/Servers/Kestrel/test/FunctionalTests/AddressRegistrationTests.cs
rename to src/Servers/Kestrel/test/BindTests/AddressRegistrationTests.cs
diff --git a/src/Servers/Kestrel/test/BindTests/Properties/AssemblyInfo.cs b/src/Servers/Kestrel/test/BindTests/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000000..678468c757
--- /dev/null
+++ b/src/Servers/Kestrel/test/BindTests/Properties/AssemblyInfo.cs
@@ -0,0 +1,6 @@
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+using Microsoft.Extensions.Logging.Testing;
+
+[assembly: ShortClassName]
diff --git a/src/Servers/Kestrel/test/FunctionalTests/TestHelpers/TestServer.cs b/src/Servers/Kestrel/test/FunctionalTests/TestHelpers/TestServer.cs
index 7a54c418fa..6c5f8328f5 100644
--- a/src/Servers/Kestrel/test/FunctionalTests/TestHelpers/TestServer.cs
+++ b/src/Servers/Kestrel/test/FunctionalTests/TestHelpers/TestServer.cs
@@ -79,7 +79,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.FunctionalTests
_host.Start();
}
- public static void RemoveDevCert(IServiceCollection services)
+ private static void RemoveDevCert(IServiceCollection services)
{
// KestrelServerOptionsSetup would scan all system certificates on every test server creation
// making test runs very slow
diff --git a/src/Servers/Kestrel/test/Libuv.BindTests/Libuv.BindTests.csproj b/src/Servers/Kestrel/test/Libuv.BindTests/Libuv.BindTests.csproj
new file mode 100644
index 0000000000..6533f25495
--- /dev/null
+++ b/src/Servers/Kestrel/test/Libuv.BindTests/Libuv.BindTests.csproj
@@ -0,0 +1,23 @@
+
+
+
+ netcoreapp2.1;net461
+ true
+ Libuv.BindTests
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Servers/Kestrel/test/Libuv.FunctionalTests/TransportSelector.cs b/src/Servers/Kestrel/test/Libuv.FunctionalTests/TransportSelector.cs
index db778d603b..6501707db8 100644
--- a/src/Servers/Kestrel/test/Libuv.FunctionalTests/TransportSelector.cs
+++ b/src/Servers/Kestrel/test/Libuv.FunctionalTests/TransportSelector.cs
@@ -1,7 +1,10 @@
-// Copyright (c) .NET Foundation. All rights reserved.
+// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+using System.Linq;
using Microsoft.AspNetCore.Hosting;
+using Microsoft.AspNetCore.Server.Kestrel.Core.Internal;
+using Microsoft.Extensions.DependencyInjection;
namespace Microsoft.AspNetCore.Server.Kestrel.FunctionalTests
{
@@ -9,7 +12,20 @@ namespace Microsoft.AspNetCore.Server.Kestrel.FunctionalTests
{
public static IWebHostBuilder GetWebHostBuilder()
{
- return new WebHostBuilder().UseLibuv().ConfigureServices(TestServer.RemoveDevCert);
+ return new WebHostBuilder().UseLibuv().ConfigureServices(RemoveDevCert);
+ }
+
+ private static void RemoveDevCert(IServiceCollection services)
+ {
+ // KestrelServerOptionsSetup would scan all system certificates on every test server creation
+ // making test runs very slow
+ foreach (var descriptor in services.ToArray())
+ {
+ if (descriptor.ImplementationType == typeof(KestrelServerOptionsSetup))
+ {
+ services.Remove(descriptor);
+ }
+ }
}
}
}
diff --git a/src/Servers/Kestrel/test/Sockets.BindTests/Sockets.BindTests.csproj b/src/Servers/Kestrel/test/Sockets.BindTests/Sockets.BindTests.csproj
new file mode 100644
index 0000000000..438c8a298d
--- /dev/null
+++ b/src/Servers/Kestrel/test/Sockets.BindTests/Sockets.BindTests.csproj
@@ -0,0 +1,27 @@
+
+
+
+ netcoreapp2.1;net461
+ true
+ Sockets.BindTests
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Servers/Kestrel/test/Sockets.FunctionalTests/TransportSelector.cs b/src/Servers/Kestrel/test/Sockets.FunctionalTests/TransportSelector.cs
index 52d2b0a4a8..c5cd45d82b 100644
--- a/src/Servers/Kestrel/test/Sockets.FunctionalTests/TransportSelector.cs
+++ b/src/Servers/Kestrel/test/Sockets.FunctionalTests/TransportSelector.cs
@@ -1,7 +1,10 @@
-// Copyright (c) .NET Foundation. All rights reserved.
+// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+using System.Linq;
using Microsoft.AspNetCore.Hosting;
+using Microsoft.AspNetCore.Server.Kestrel.Core.Internal;
+using Microsoft.Extensions.DependencyInjection;
namespace Microsoft.AspNetCore.Server.Kestrel.FunctionalTests
{
@@ -9,7 +12,20 @@ namespace Microsoft.AspNetCore.Server.Kestrel.FunctionalTests
{
public static IWebHostBuilder GetWebHostBuilder()
{
- return new WebHostBuilder().UseSockets().ConfigureServices(TestServer.RemoveDevCert);
+ return new WebHostBuilder().UseSockets().ConfigureServices(RemoveDevCert);
+ }
+
+ private static void RemoveDevCert(IServiceCollection services)
+ {
+ // KestrelServerOptionsSetup would scan all system certificates on every test server creation
+ // making test runs very slow
+ foreach (var descriptor in services.ToArray())
+ {
+ if (descriptor.ImplementationType == typeof(KestrelServerOptionsSetup))
+ {
+ services.Remove(descriptor);
+ }
+ }
}
}
}