From dabf5d8ba95aaab24216e18200855f728cc3c321 Mon Sep 17 00:00:00 2001 From: Stephen Halter Date: Mon, 26 Nov 2018 18:26:00 -0800 Subject: [PATCH] [2.1] [Kestrel] Move AddressRegistrationTests to own TestGroup --- src/Servers/Kestrel.sln | 28 +++++++++++++++++++ .../Core/src/Properties/AssemblyInfo.cs | 2 ++ .../HostNameIsReachableAttribute.cs | 0 .../IPv6ScopeIdPresentConditionAttribute.cs | 0 .../IPv6SupportedConditionAttribute.cs | 0 .../IWebHostPortExtensions.cs | 0 .../TestApplicationErrorLoggerLoggedTest.cs | 0 .../AddressRegistrationTests.cs | 0 .../test/BindTests/Properties/AssemblyInfo.cs | 6 ++++ .../FunctionalTests/TestHelpers/TestServer.cs | 2 +- .../Libuv.BindTests/Libuv.BindTests.csproj | 23 +++++++++++++++ .../TransportSelector.cs | 20 +++++++++++-- .../Sockets.BindTests.csproj | 27 ++++++++++++++++++ .../TransportSelector.cs | 20 +++++++++++-- 14 files changed, 123 insertions(+), 5 deletions(-) rename src/Servers/Kestrel/{test/FunctionalTests/TestHelpers => shared/test/TransportTestHelpers}/HostNameIsReachableAttribute.cs (100%) rename src/Servers/Kestrel/{test/FunctionalTests/TestHelpers => shared/test/TransportTestHelpers}/IPv6ScopeIdPresentConditionAttribute.cs (100%) rename src/Servers/Kestrel/{test/FunctionalTests/TestHelpers => shared/test/TransportTestHelpers}/IPv6SupportedConditionAttribute.cs (100%) rename src/Servers/Kestrel/{test/FunctionalTests/TestHelpers => shared/test/TransportTestHelpers}/IWebHostPortExtensions.cs (100%) rename src/Servers/Kestrel/{test/FunctionalTests/TestHelpers => shared/test/TransportTestHelpers}/TestApplicationErrorLoggerLoggedTest.cs (100%) rename src/Servers/Kestrel/test/{FunctionalTests => BindTests}/AddressRegistrationTests.cs (100%) create mode 100644 src/Servers/Kestrel/test/BindTests/Properties/AssemblyInfo.cs create mode 100644 src/Servers/Kestrel/test/Libuv.BindTests/Libuv.BindTests.csproj create mode 100644 src/Servers/Kestrel/test/Sockets.BindTests/Sockets.BindTests.csproj 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); + } + } } } }