Browse Source

Add public API baselines for SiteExtensions, Testing, WebEncoders (#25654)

Kevin Pilch 5 years ago
parent
commit
848f42df8e

+ 102 - 0
AspNetCore.sln

@@ -1523,6 +1523,26 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Extensions.Loggin
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Extensions.Logging.AzureAppServices.Tests", "src\Logging.AzureAppServices\test\Microsoft.Extensions.Logging.AzureAppServices.Tests.csproj", "{43E3B132-2486-44A3-92C6-39E39724FAFD}"
 EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SiteExtensions", "SiteExtensions", "{DFC4F588-B4B4-484B-AB93-B36721374AD3}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "LoggingAggregate", "LoggingAggregate", "{48FF1D87-5066-4294-B802-2D1B478C6EB6}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.AzureAppServices.SiteExtension", "src\SiteExtensions\LoggingAggregate\src\Microsoft.AspNetCore.AzureAppServices.SiteExtension\Microsoft.AspNetCore.AzureAppServices.SiteExtension.csproj", "{563A3FFA-32DA-4ADA-891C-E00897BD919E}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.AzureAppServices.SiteExtension.Tests", "src\SiteExtensions\LoggingAggregate\test\Microsoft.AspNetCore.AzureAppServices.SiteExtension.Tests\Microsoft.AspNetCore.AzureAppServices.SiteExtension.Tests.csproj", "{DC5DE087-5C93-4441-9D62-1743A50E5086}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LB", "src\SiteExtensions\LoggingBranch\LB.csproj", "{F00CE8C1-5715-4683-A8E5-C467B712AD46}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Microsoft.Web.Xdt.Extensions", "Microsoft.Web.Xdt.Extensions", "{56B45580-B089-424E-A847-A6115D591950}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Web.Xdt.Extensions", "src\SiteExtensions\Microsoft.Web.Xdt.Extensions\src\Microsoft.Web.Xdt.Extensions.csproj", "{4382555A-E4CD-4DFC-B59B-408FD4E93530}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Web.Xdt.Extensions.Tests", "src\SiteExtensions\Microsoft.Web.Xdt.Extensions\tests\Microsoft.Web.Xdt.Extensions.Tests.csproj", "{545751D5-71FC-4889-A3A0-BBD731DBA18A}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Sdk", "Sdk", "{E83B0BCC-A8E0-4FBD-BE51-9A533C9CB972}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HostingStartup", "src\SiteExtensions\Sdk\HostingStartup\HostingStartup.csproj", "{5D6F99C5-D292-4459-B8BD-8E4AD42E1B21}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
@@ -7291,6 +7311,78 @@ Global
 		{43E3B132-2486-44A3-92C6-39E39724FAFD}.Release|x64.Build.0 = Release|Any CPU
 		{43E3B132-2486-44A3-92C6-39E39724FAFD}.Release|x86.ActiveCfg = Release|Any CPU
 		{43E3B132-2486-44A3-92C6-39E39724FAFD}.Release|x86.Build.0 = Release|Any CPU
+		{563A3FFA-32DA-4ADA-891C-E00897BD919E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{563A3FFA-32DA-4ADA-891C-E00897BD919E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{563A3FFA-32DA-4ADA-891C-E00897BD919E}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{563A3FFA-32DA-4ADA-891C-E00897BD919E}.Debug|x64.Build.0 = Debug|Any CPU
+		{563A3FFA-32DA-4ADA-891C-E00897BD919E}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{563A3FFA-32DA-4ADA-891C-E00897BD919E}.Debug|x86.Build.0 = Debug|Any CPU
+		{563A3FFA-32DA-4ADA-891C-E00897BD919E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{563A3FFA-32DA-4ADA-891C-E00897BD919E}.Release|Any CPU.Build.0 = Release|Any CPU
+		{563A3FFA-32DA-4ADA-891C-E00897BD919E}.Release|x64.ActiveCfg = Release|Any CPU
+		{563A3FFA-32DA-4ADA-891C-E00897BD919E}.Release|x64.Build.0 = Release|Any CPU
+		{563A3FFA-32DA-4ADA-891C-E00897BD919E}.Release|x86.ActiveCfg = Release|Any CPU
+		{563A3FFA-32DA-4ADA-891C-E00897BD919E}.Release|x86.Build.0 = Release|Any CPU
+		{DC5DE087-5C93-4441-9D62-1743A50E5086}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{DC5DE087-5C93-4441-9D62-1743A50E5086}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{DC5DE087-5C93-4441-9D62-1743A50E5086}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{DC5DE087-5C93-4441-9D62-1743A50E5086}.Debug|x64.Build.0 = Debug|Any CPU
+		{DC5DE087-5C93-4441-9D62-1743A50E5086}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{DC5DE087-5C93-4441-9D62-1743A50E5086}.Debug|x86.Build.0 = Debug|Any CPU
+		{DC5DE087-5C93-4441-9D62-1743A50E5086}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{DC5DE087-5C93-4441-9D62-1743A50E5086}.Release|Any CPU.Build.0 = Release|Any CPU
+		{DC5DE087-5C93-4441-9D62-1743A50E5086}.Release|x64.ActiveCfg = Release|Any CPU
+		{DC5DE087-5C93-4441-9D62-1743A50E5086}.Release|x64.Build.0 = Release|Any CPU
+		{DC5DE087-5C93-4441-9D62-1743A50E5086}.Release|x86.ActiveCfg = Release|Any CPU
+		{DC5DE087-5C93-4441-9D62-1743A50E5086}.Release|x86.Build.0 = Release|Any CPU
+		{F00CE8C1-5715-4683-A8E5-C467B712AD46}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{F00CE8C1-5715-4683-A8E5-C467B712AD46}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{F00CE8C1-5715-4683-A8E5-C467B712AD46}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{F00CE8C1-5715-4683-A8E5-C467B712AD46}.Debug|x64.Build.0 = Debug|Any CPU
+		{F00CE8C1-5715-4683-A8E5-C467B712AD46}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{F00CE8C1-5715-4683-A8E5-C467B712AD46}.Debug|x86.Build.0 = Debug|Any CPU
+		{F00CE8C1-5715-4683-A8E5-C467B712AD46}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{F00CE8C1-5715-4683-A8E5-C467B712AD46}.Release|Any CPU.Build.0 = Release|Any CPU
+		{F00CE8C1-5715-4683-A8E5-C467B712AD46}.Release|x64.ActiveCfg = Release|Any CPU
+		{F00CE8C1-5715-4683-A8E5-C467B712AD46}.Release|x64.Build.0 = Release|Any CPU
+		{F00CE8C1-5715-4683-A8E5-C467B712AD46}.Release|x86.ActiveCfg = Release|Any CPU
+		{F00CE8C1-5715-4683-A8E5-C467B712AD46}.Release|x86.Build.0 = Release|Any CPU
+		{4382555A-E4CD-4DFC-B59B-408FD4E93530}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{4382555A-E4CD-4DFC-B59B-408FD4E93530}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{4382555A-E4CD-4DFC-B59B-408FD4E93530}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{4382555A-E4CD-4DFC-B59B-408FD4E93530}.Debug|x64.Build.0 = Debug|Any CPU
+		{4382555A-E4CD-4DFC-B59B-408FD4E93530}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{4382555A-E4CD-4DFC-B59B-408FD4E93530}.Debug|x86.Build.0 = Debug|Any CPU
+		{4382555A-E4CD-4DFC-B59B-408FD4E93530}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{4382555A-E4CD-4DFC-B59B-408FD4E93530}.Release|Any CPU.Build.0 = Release|Any CPU
+		{4382555A-E4CD-4DFC-B59B-408FD4E93530}.Release|x64.ActiveCfg = Release|Any CPU
+		{4382555A-E4CD-4DFC-B59B-408FD4E93530}.Release|x64.Build.0 = Release|Any CPU
+		{4382555A-E4CD-4DFC-B59B-408FD4E93530}.Release|x86.ActiveCfg = Release|Any CPU
+		{4382555A-E4CD-4DFC-B59B-408FD4E93530}.Release|x86.Build.0 = Release|Any CPU
+		{545751D5-71FC-4889-A3A0-BBD731DBA18A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{545751D5-71FC-4889-A3A0-BBD731DBA18A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{545751D5-71FC-4889-A3A0-BBD731DBA18A}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{545751D5-71FC-4889-A3A0-BBD731DBA18A}.Debug|x64.Build.0 = Debug|Any CPU
+		{545751D5-71FC-4889-A3A0-BBD731DBA18A}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{545751D5-71FC-4889-A3A0-BBD731DBA18A}.Debug|x86.Build.0 = Debug|Any CPU
+		{545751D5-71FC-4889-A3A0-BBD731DBA18A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{545751D5-71FC-4889-A3A0-BBD731DBA18A}.Release|Any CPU.Build.0 = Release|Any CPU
+		{545751D5-71FC-4889-A3A0-BBD731DBA18A}.Release|x64.ActiveCfg = Release|Any CPU
+		{545751D5-71FC-4889-A3A0-BBD731DBA18A}.Release|x64.Build.0 = Release|Any CPU
+		{545751D5-71FC-4889-A3A0-BBD731DBA18A}.Release|x86.ActiveCfg = Release|Any CPU
+		{545751D5-71FC-4889-A3A0-BBD731DBA18A}.Release|x86.Build.0 = Release|Any CPU
+		{5D6F99C5-D292-4459-B8BD-8E4AD42E1B21}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{5D6F99C5-D292-4459-B8BD-8E4AD42E1B21}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{5D6F99C5-D292-4459-B8BD-8E4AD42E1B21}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{5D6F99C5-D292-4459-B8BD-8E4AD42E1B21}.Debug|x64.Build.0 = Debug|Any CPU
+		{5D6F99C5-D292-4459-B8BD-8E4AD42E1B21}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{5D6F99C5-D292-4459-B8BD-8E4AD42E1B21}.Debug|x86.Build.0 = Debug|Any CPU
+		{5D6F99C5-D292-4459-B8BD-8E4AD42E1B21}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{5D6F99C5-D292-4459-B8BD-8E4AD42E1B21}.Release|Any CPU.Build.0 = Release|Any CPU
+		{5D6F99C5-D292-4459-B8BD-8E4AD42E1B21}.Release|x64.ActiveCfg = Release|Any CPU
+		{5D6F99C5-D292-4459-B8BD-8E4AD42E1B21}.Release|x64.Build.0 = Release|Any CPU
+		{5D6F99C5-D292-4459-B8BD-8E4AD42E1B21}.Release|x86.ActiveCfg = Release|Any CPU
+		{5D6F99C5-D292-4459-B8BD-8E4AD42E1B21}.Release|x86.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
@@ -8054,6 +8146,16 @@ Global
 		{3EAB9890-2C01-444C-ACA0-D77B29CDE08B} = {017429CC-C5FB-48B4-9C46-034E29EE2F06}
 		{3E29454A-C4DC-44B7-AF0A-A782AD2E73BC} = {3EAB9890-2C01-444C-ACA0-D77B29CDE08B}
 		{43E3B132-2486-44A3-92C6-39E39724FAFD} = {3EAB9890-2C01-444C-ACA0-D77B29CDE08B}
+		{DFC4F588-B4B4-484B-AB93-B36721374AD3} = {017429CC-C5FB-48B4-9C46-034E29EE2F06}
+		{48FF1D87-5066-4294-B802-2D1B478C6EB6} = {DFC4F588-B4B4-484B-AB93-B36721374AD3}
+		{563A3FFA-32DA-4ADA-891C-E00897BD919E} = {48FF1D87-5066-4294-B802-2D1B478C6EB6}
+		{DC5DE087-5C93-4441-9D62-1743A50E5086} = {48FF1D87-5066-4294-B802-2D1B478C6EB6}
+		{F00CE8C1-5715-4683-A8E5-C467B712AD46} = {DFC4F588-B4B4-484B-AB93-B36721374AD3}
+		{56B45580-B089-424E-A847-A6115D591950} = {DFC4F588-B4B4-484B-AB93-B36721374AD3}
+		{4382555A-E4CD-4DFC-B59B-408FD4E93530} = {56B45580-B089-424E-A847-A6115D591950}
+		{545751D5-71FC-4889-A3A0-BBD731DBA18A} = {56B45580-B089-424E-A847-A6115D591950}
+		{E83B0BCC-A8E0-4FBD-BE51-9A533C9CB972} = {DFC4F588-B4B4-484B-AB93-B36721374AD3}
+		{5D6F99C5-D292-4459-B8BD-8E4AD42E1B21} = {E83B0BCC-A8E0-4FBD-BE51-9A533C9CB972}
 	EndGlobalSection
 	GlobalSection(ExtensibilityGlobals) = postSolution
 		SolutionGuid = {3E8720B3-DBDD-498C-B383-2CC32A054E8F}

+ 1 - 0
src/SiteExtensions/Microsoft.Web.Xdt.Extensions/src/PublicAPI.Shipped.txt

@@ -0,0 +1 @@
+#nullable enable

+ 6 - 0
src/SiteExtensions/Microsoft.Web.Xdt.Extensions/src/PublicAPI.Unshipped.txt

@@ -0,0 +1,6 @@
+#nullable enable
+Microsoft.Web.Xdt.Extensions.InsertOrAppendAttribute
+Microsoft.Web.Xdt.Extensions.InsertOrAppendAttribute.InsertOrAppendAttribute() -> void
+override Microsoft.Web.Xdt.Extensions.InsertOrAppendAttribute.Apply() -> void
+~Microsoft.Web.Xdt.Extensions.InsertOrAppendAttribute.AttributeName.get -> string
+~Microsoft.Web.Xdt.Extensions.InsertOrAppendAttribute.GetArgumentValue(string name) -> string

+ 1 - 0
src/SiteExtensions/Sdk/HostingStartup/PublicAPI.Shipped.txt

@@ -0,0 +1 @@
+#nullable enable

+ 4 - 0
src/SiteExtensions/Sdk/HostingStartup/PublicAPI.Unshipped.txt

@@ -0,0 +1,4 @@
+#nullable enable
+Program
+Program.Program() -> void
+static Program.Main() -> void

+ 7 - 0
src/Testing/src/AssemblyTestLog.cs

@@ -5,6 +5,7 @@
 using System;
 using System.Collections.Generic;
 using System.Diagnostics;
+using System.Diagnostics.CodeAnalysis;
 using System.IO;
 using System.Linq;
 using System.Reflection;
@@ -52,9 +53,11 @@ namespace Microsoft.AspNetCore.Testing
             _serviceProvider = serviceProvider;
         }
 
+        [SuppressMessage("ApiDesign", "RS0026:Do not add multiple public overloads with optional parameters", Justification = "Required to maintain compatibility")]
         public IDisposable StartTestLog(ITestOutputHelper output, string className, out ILoggerFactory loggerFactory, [CallerMemberName] string testName = null) =>
             StartTestLog(output, className, out loggerFactory, LogLevel.Debug, testName);
 
+        [SuppressMessage("ApiDesign", "RS0026:Do not add multiple public overloads with optional parameters", Justification = "Required to maintain compatibility")]
         public IDisposable StartTestLog(ITestOutputHelper output, string className, out ILoggerFactory loggerFactory, LogLevel minLogLevel, [CallerMemberName] string testName = null) =>
             StartTestLog(output, className, out loggerFactory, minLogLevel, out var _, out var _, testName);
 
@@ -84,15 +87,19 @@ namespace Microsoft.AspNetCore.Testing
             });
         }
 
+        [SuppressMessage("ApiDesign", "RS0026:Do not add multiple public overloads with optional parameters", Justification = "Required to maintain compatibility")]
         public ILoggerFactory CreateLoggerFactory(ITestOutputHelper output, string className, [CallerMemberName] string testName = null, DateTimeOffset? logStart = null)
             => CreateLoggerFactory(output, className, LogLevel.Trace, testName, logStart);
 
+        [SuppressMessage("ApiDesign", "RS0026:Do not add multiple public overloads with optional parameters", Justification = "Required to maintain compatibility")]
         public ILoggerFactory CreateLoggerFactory(ITestOutputHelper output, string className, LogLevel minLogLevel, [CallerMemberName] string testName = null, DateTimeOffset? logStart = null)
             => CreateLoggerServices(output, className, minLogLevel, out var _, out var _, testName, logStart).GetRequiredService<ILoggerFactory>();
 
+        [SuppressMessage("ApiDesign", "RS0026:Do not add multiple public overloads with optional parameters", Justification = "Required to maintain compatibility")]
         public IServiceProvider CreateLoggerServices(ITestOutputHelper output, string className, LogLevel minLogLevel, out string normalizedTestName, [CallerMemberName] string testName = null, DateTimeOffset? logStart = null)
             => CreateLoggerServices(output, className, minLogLevel, out normalizedTestName, out var _, testName, logStart);
 
+        [SuppressMessage("ApiDesign", "RS0026:Do not add multiple public overloads with optional parameters", Justification = "Required to maintain compatibility")]
         public IServiceProvider CreateLoggerServices(ITestOutputHelper output, string className, LogLevel minLogLevel, out string normalizedTestName, out string logOutputDirectory, [CallerMemberName] string testName = null, DateTimeOffset? logStart = null)
         {
             normalizedTestName = string.Empty;

+ 2 - 0
src/Testing/src/CultureReplacer.cs

@@ -2,6 +2,7 @@
 // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 
 using System;
+using System.Diagnostics.CodeAnalysis;
 using System.Globalization;
 using System.Threading;
 using Xunit;
@@ -21,6 +22,7 @@ namespace Microsoft.AspNetCore.Testing
         // We want to be able to find issues where the InvariantCulture is used, but a specific culture should be.
         //
         // UICulture => Language
+        [SuppressMessage("ApiDesign", "RS0027:Public API with optional parameter(s) should have the most parameters amongst its public overloads", Justification = "Required to maintain compatibility")]
         public CultureReplacer(string culture = _defaultCultureName, string uiCulture = _defaultUICultureName)
             : this(new CultureInfo(culture), new CultureInfo(uiCulture))
         {

+ 6 - 1
src/Testing/src/HttpClientSlim.cs

@@ -1,7 +1,8 @@
-// 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;
+using System.Diagnostics.CodeAnalysis;
 using System.Globalization;
 using System.IO;
 using System.Net;
@@ -20,9 +21,11 @@ namespace Microsoft.AspNetCore.Testing
     /// </summary>
     public static class HttpClientSlim
     {
+        [SuppressMessage("ApiDesign", "RS0026:Do not add multiple public overloads with optional parameters", Justification = "Required to maintain compatibility")]
         public static async Task<string> GetStringAsync(string requestUri, bool validateCertificate = true)
             => await GetStringAsync(new Uri(requestUri), validateCertificate).ConfigureAwait(false);
 
+        [SuppressMessage("ApiDesign", "RS0026:Do not add multiple public overloads with optional parameters", Justification = "Required to maintain compatibility")]
         public static async Task<string> GetStringAsync(Uri requestUri, bool validateCertificate = true)
         {
             return await RetryRequest(async () =>
@@ -61,9 +64,11 @@ namespace Microsoft.AspNetCore.Testing
             return authority;
         }
 
+        [SuppressMessage("ApiDesign", "RS0026:Do not add multiple public overloads with optional parameters", Justification = "Required to maintain compatibility")]
         public static async Task<string> PostAsync(string requestUri, HttpContent content, bool validateCertificate = true)
             => await PostAsync(new Uri(requestUri), content, validateCertificate).ConfigureAwait(false);
 
+        [SuppressMessage("ApiDesign", "RS0026:Do not add multiple public overloads with optional parameters", Justification = "Required to maintain compatibility")]
         public static async Task<string> PostAsync(Uri requestUri, HttpContent content, bool validateCertificate = true)
         {
             return await RetryRequest(async () =>

+ 3 - 0
src/Testing/src/LoggedTest/LoggedTestBase.cs

@@ -3,6 +3,7 @@
 // See the LICENSE file in the project root for more information.
 
 using System;
+using System.Diagnostics.CodeAnalysis;
 using System.Linq;
 using System.Reflection;
 using System.Runtime.CompilerServices;
@@ -48,9 +49,11 @@ namespace Microsoft.AspNetCore.Testing
         public void AddTestLogging(IServiceCollection services) => services.AddSingleton(LoggerFactory);
 
         // For back compat
+        [SuppressMessage("ApiDesign", "RS0026:Do not add multiple public overloads with optional parameters", Justification = "Required to maintain compatibility")]
         public IDisposable StartLog(out ILoggerFactory loggerFactory, [CallerMemberName] string testName = null) => StartLog(out loggerFactory, LogLevel.Debug, testName);
 
         // For back compat
+        [SuppressMessage("ApiDesign", "RS0026:Do not add multiple public overloads with optional parameters", Justification = "Required to maintain compatibility")]
         public IDisposable StartLog(out ILoggerFactory loggerFactory, LogLevel minLogLevel, [CallerMemberName] string testName = null)
         {
             return AssemblyTestLog.ForAssembly(GetType().GetTypeInfo().Assembly).StartTestLog(TestOutputHelper, GetType().FullName, out loggerFactory, minLogLevel, testName);

+ 1 - 0
src/Testing/src/PublicAPI.Shipped.txt

@@ -0,0 +1 @@
+#nullable enable

+ 372 - 0
src/Testing/src/PublicAPI.Unshipped.txt

@@ -0,0 +1,372 @@
+#nullable enable
+Microsoft.AspNetCore.Testing.AspNetTestAssemblyRunner
+Microsoft.AspNetCore.Testing.AspNetTestCollectionRunner
+Microsoft.AspNetCore.Testing.AspNetTestFramework
+Microsoft.AspNetCore.Testing.AspNetTestFrameworkExecutor
+Microsoft.AspNetCore.Testing.AssemblyFixtureAttribute
+Microsoft.AspNetCore.Testing.AssemblyTestLog
+Microsoft.AspNetCore.Testing.AssemblyTestLog.Dispose() -> void
+Microsoft.AspNetCore.Testing.CollectDumpAttribute
+Microsoft.AspNetCore.Testing.CollectDumpAttribute.CollectDumpAttribute() -> void
+Microsoft.AspNetCore.Testing.ConditionalFactAttribute
+Microsoft.AspNetCore.Testing.ConditionalFactAttribute.ConditionalFactAttribute() -> void
+Microsoft.AspNetCore.Testing.ConditionalTheoryAttribute
+Microsoft.AspNetCore.Testing.ConditionalTheoryAttribute.ConditionalTheoryAttribute() -> void
+Microsoft.AspNetCore.Testing.CultureReplacer
+Microsoft.AspNetCore.Testing.CultureReplacer.Dispose() -> void
+Microsoft.AspNetCore.Testing.DockerOnlyAttribute
+Microsoft.AspNetCore.Testing.DockerOnlyAttribute.DockerOnlyAttribute() -> void
+Microsoft.AspNetCore.Testing.DockerOnlyAttribute.IsMet.get -> bool
+Microsoft.AspNetCore.Testing.DumpCollector
+Microsoft.AspNetCore.Testing.EnvironmentVariableSkipConditionAttribute
+Microsoft.AspNetCore.Testing.EnvironmentVariableSkipConditionAttribute.IsMet.get -> bool
+Microsoft.AspNetCore.Testing.EnvironmentVariableSkipConditionAttribute.RunOnMatch.get -> bool
+Microsoft.AspNetCore.Testing.EnvironmentVariableSkipConditionAttribute.RunOnMatch.set -> void
+Microsoft.AspNetCore.Testing.ExceptionAssert
+Microsoft.AspNetCore.Testing.FrameworkSkipConditionAttribute
+Microsoft.AspNetCore.Testing.FrameworkSkipConditionAttribute.FrameworkSkipConditionAttribute(Microsoft.AspNetCore.Testing.RuntimeFrameworks excludedFrameworks) -> void
+Microsoft.AspNetCore.Testing.FrameworkSkipConditionAttribute.IsMet.get -> bool
+Microsoft.AspNetCore.Testing.HelixQueues
+Microsoft.AspNetCore.Testing.HttpClientSlim
+Microsoft.AspNetCore.Testing.ILoggedTest
+Microsoft.AspNetCore.Testing.ITestCondition
+Microsoft.AspNetCore.Testing.ITestCondition.IsMet.get -> bool
+Microsoft.AspNetCore.Testing.ITestMethodLifecycle
+Microsoft.AspNetCore.Testing.LoggedTest
+Microsoft.AspNetCore.Testing.LoggedTestBase
+Microsoft.AspNetCore.Testing.MaximumOSVersionAttribute
+Microsoft.AspNetCore.Testing.MaximumOSVersionAttribute.IsMet.get -> bool
+Microsoft.AspNetCore.Testing.MinimumOSVersionAttribute
+Microsoft.AspNetCore.Testing.MinimumOSVersionAttribute.IsMet.get -> bool
+Microsoft.AspNetCore.Testing.OSSkipConditionAttribute
+Microsoft.AspNetCore.Testing.OSSkipConditionAttribute.IsMet.get -> bool
+Microsoft.AspNetCore.Testing.OSSkipConditionAttribute.OSSkipConditionAttribute(Microsoft.AspNetCore.Testing.OperatingSystems operatingSystem) -> void
+Microsoft.AspNetCore.Testing.OperatingSystems
+Microsoft.AspNetCore.Testing.OperatingSystems.Linux = 1 -> Microsoft.AspNetCore.Testing.OperatingSystems
+Microsoft.AspNetCore.Testing.OperatingSystems.MacOSX = 2 -> Microsoft.AspNetCore.Testing.OperatingSystems
+Microsoft.AspNetCore.Testing.OperatingSystems.Windows = 4 -> Microsoft.AspNetCore.Testing.OperatingSystems
+Microsoft.AspNetCore.Testing.QuarantinedTestAttribute
+Microsoft.AspNetCore.Testing.QuarantinedTestTraitDiscoverer
+Microsoft.AspNetCore.Testing.QuarantinedTestTraitDiscoverer.QuarantinedTestTraitDiscoverer() -> void
+Microsoft.AspNetCore.Testing.RepeatAttribute
+Microsoft.AspNetCore.Testing.RepeatAttribute.RepeatAttribute(int runCount = 10) -> void
+Microsoft.AspNetCore.Testing.RepeatAttribute.RunCount.get -> int
+Microsoft.AspNetCore.Testing.RepeatContext
+Microsoft.AspNetCore.Testing.RepeatContext.CurrentIteration.get -> int
+Microsoft.AspNetCore.Testing.RepeatContext.CurrentIteration.set -> void
+Microsoft.AspNetCore.Testing.RepeatContext.Limit.get -> int
+Microsoft.AspNetCore.Testing.RepeatContext.RepeatContext(int limit) -> void
+Microsoft.AspNetCore.Testing.ReplaceCultureAttribute
+Microsoft.AspNetCore.Testing.ReplaceCultureAttribute.ReplaceCultureAttribute() -> void
+Microsoft.AspNetCore.Testing.RuntimeFrameworks
+Microsoft.AspNetCore.Testing.RuntimeFrameworks.CLR = 2 -> Microsoft.AspNetCore.Testing.RuntimeFrameworks
+Microsoft.AspNetCore.Testing.RuntimeFrameworks.CoreCLR = 4 -> Microsoft.AspNetCore.Testing.RuntimeFrameworks
+Microsoft.AspNetCore.Testing.RuntimeFrameworks.Mono = 1 -> Microsoft.AspNetCore.Testing.RuntimeFrameworks
+Microsoft.AspNetCore.Testing.RuntimeFrameworks.None = 0 -> Microsoft.AspNetCore.Testing.RuntimeFrameworks
+Microsoft.AspNetCore.Testing.ShortClassNameAttribute
+Microsoft.AspNetCore.Testing.ShortClassNameAttribute.ShortClassNameAttribute() -> void
+Microsoft.AspNetCore.Testing.SkipOnCIAttribute
+Microsoft.AspNetCore.Testing.SkipOnCIAttribute.IsMet.get -> bool
+Microsoft.AspNetCore.Testing.SkipOnHelixAttribute
+Microsoft.AspNetCore.Testing.SkipOnHelixAttribute.IsMet.get -> bool
+Microsoft.AspNetCore.Testing.SkippedTestCase
+Microsoft.AspNetCore.Testing.SkippedTestCase.SkippedTestCase() -> void
+Microsoft.AspNetCore.Testing.TaskExtensions
+Microsoft.AspNetCore.Testing.TestContext
+Microsoft.AspNetCore.Testing.TestFileOutputContext
+Microsoft.AspNetCore.Testing.TestFrameworkFileLoggerAttribute
+Microsoft.AspNetCore.Testing.TestMethodExtensions
+Microsoft.AspNetCore.Testing.TestOutputDirectoryAttribute
+Microsoft.AspNetCore.Testing.TestOutputDirectoryAttribute.PreserveExistingLogsInOutput.get -> bool
+Microsoft.AspNetCore.Testing.TestPathUtilities
+Microsoft.AspNetCore.Testing.TestPathUtilities.TestPathUtilities() -> void
+Microsoft.AspNetCore.Testing.TestPlatformHelper
+Microsoft.AspNetCore.Testing.Tracing.CollectingEventListener
+Microsoft.AspNetCore.Testing.Tracing.CollectingEventListener.CollectingEventListener() -> void
+Microsoft.AspNetCore.Testing.Tracing.EventAssert
+Microsoft.AspNetCore.Testing.Tracing.EventSourceTestBase
+Microsoft.AspNetCore.Testing.Tracing.EventSourceTestBase.Dispose() -> void
+Microsoft.AspNetCore.Testing.Tracing.EventSourceTestBase.EventSourceTestBase() -> void
+Microsoft.AspNetCore.Testing.WindowsVersions
+Microsoft.Extensions.Logging.Testing.BeginScopeContext
+Microsoft.Extensions.Logging.Testing.BeginScopeContext.BeginScopeContext() -> void
+Microsoft.Extensions.Logging.Testing.ITestSink
+Microsoft.Extensions.Logging.Testing.ITestSink.MessageLogged -> System.Action<Microsoft.Extensions.Logging.Testing.WriteContext>
+Microsoft.Extensions.Logging.Testing.ITestSink.ScopeStarted -> System.Action<Microsoft.Extensions.Logging.Testing.BeginScopeContext>
+Microsoft.Extensions.Logging.Testing.LogLevelAttribute
+Microsoft.Extensions.Logging.Testing.LogLevelAttribute.LogLevel.get -> Microsoft.Extensions.Logging.LogLevel
+Microsoft.Extensions.Logging.Testing.LogLevelAttribute.LogLevelAttribute(Microsoft.Extensions.Logging.LogLevel logLevel) -> void
+Microsoft.Extensions.Logging.Testing.LogValuesAssert
+Microsoft.Extensions.Logging.Testing.TestLogger
+Microsoft.Extensions.Logging.Testing.TestLogger.IsEnabled(Microsoft.Extensions.Logging.LogLevel logLevel) -> bool
+Microsoft.Extensions.Logging.Testing.TestLogger<T>
+Microsoft.Extensions.Logging.Testing.TestLogger<T>.IsEnabled(Microsoft.Extensions.Logging.LogLevel logLevel) -> bool
+Microsoft.Extensions.Logging.Testing.TestLoggerFactory
+Microsoft.Extensions.Logging.Testing.TestLoggerFactory.Dispose() -> void
+Microsoft.Extensions.Logging.Testing.TestLoggerProvider
+Microsoft.Extensions.Logging.Testing.TestLoggerProvider.Dispose() -> void
+Microsoft.Extensions.Logging.Testing.TestSink
+Microsoft.Extensions.Logging.Testing.TestSink.MessageLogged -> System.Action<Microsoft.Extensions.Logging.Testing.WriteContext>
+Microsoft.Extensions.Logging.Testing.TestSink.ScopeStarted -> System.Action<Microsoft.Extensions.Logging.Testing.BeginScopeContext>
+Microsoft.Extensions.Logging.Testing.WriteContext
+Microsoft.Extensions.Logging.Testing.WriteContext.EventId.get -> Microsoft.Extensions.Logging.EventId
+Microsoft.Extensions.Logging.Testing.WriteContext.EventId.set -> void
+Microsoft.Extensions.Logging.Testing.WriteContext.LogLevel.get -> Microsoft.Extensions.Logging.LogLevel
+Microsoft.Extensions.Logging.Testing.WriteContext.LogLevel.set -> void
+Microsoft.Extensions.Logging.Testing.WriteContext.WriteContext() -> void
+Microsoft.Extensions.Logging.Testing.XunitLogger
+Microsoft.Extensions.Logging.Testing.XunitLogger.IsEnabled(Microsoft.Extensions.Logging.LogLevel logLevel) -> bool
+Microsoft.Extensions.Logging.Testing.XunitLoggerProvider
+Microsoft.Extensions.Logging.Testing.XunitLoggerProvider.Dispose() -> void
+Microsoft.Extensions.Logging.XunitLoggerFactoryExtensions
+static Microsoft.AspNetCore.Testing.SkipOnCIAttribute.OnAzdo() -> bool
+static Microsoft.AspNetCore.Testing.SkipOnCIAttribute.OnCI() -> bool
+static Microsoft.AspNetCore.Testing.SkipOnCIAttribute.OnHelix() -> bool
+static Microsoft.AspNetCore.Testing.SkipOnHelixAttribute.OnHelix() -> bool
+static Microsoft.AspNetCore.Testing.TestPlatformHelper.IsLinux.get -> bool
+static Microsoft.AspNetCore.Testing.TestPlatformHelper.IsMac.get -> bool
+static Microsoft.AspNetCore.Testing.TestPlatformHelper.IsMono.get -> bool
+static Microsoft.AspNetCore.Testing.TestPlatformHelper.IsWindows.get -> bool
+virtual Microsoft.AspNetCore.Testing.LoggedTestBase.Dispose() -> void
+~Microsoft.AspNetCore.Testing.AspNetTestAssemblyRunner.AspNetTestAssemblyRunner(Xunit.Abstractions.ITestAssembly testAssembly, System.Collections.Generic.IEnumerable<Xunit.Sdk.IXunitTestCase> testCases, Xunit.Abstractions.IMessageSink diagnosticMessageSink, Xunit.Abstractions.IMessageSink executionMessageSink, Xunit.Abstractions.ITestFrameworkExecutionOptions executionOptions) -> void
+~Microsoft.AspNetCore.Testing.AspNetTestCollectionRunner.AspNetTestCollectionRunner(System.Collections.Generic.Dictionary<System.Type, object> assemblyFixtureMappings, Xunit.Abstractions.ITestCollection testCollection, System.Collections.Generic.IEnumerable<Xunit.Sdk.IXunitTestCase> testCases, Xunit.Abstractions.IMessageSink diagnosticMessageSink, Xunit.Sdk.IMessageBus messageBus, Xunit.Sdk.ITestCaseOrderer testCaseOrderer, Xunit.Sdk.ExceptionAggregator aggregator, System.Threading.CancellationTokenSource cancellationTokenSource) -> void
+~Microsoft.AspNetCore.Testing.AspNetTestFramework.AspNetTestFramework(Xunit.Abstractions.IMessageSink messageSink) -> void
+~Microsoft.AspNetCore.Testing.AspNetTestFrameworkExecutor.AspNetTestFrameworkExecutor(System.Reflection.AssemblyName assemblyName, Xunit.Abstractions.ISourceInformationProvider sourceInformationProvider, Xunit.Abstractions.IMessageSink diagnosticMessageSink) -> void
+~Microsoft.AspNetCore.Testing.AssemblyFixtureAttribute.AssemblyFixtureAttribute(System.Type fixtureType) -> void
+~Microsoft.AspNetCore.Testing.AssemblyFixtureAttribute.FixtureType.get -> System.Type
+~Microsoft.AspNetCore.Testing.AssemblyTestLog.CreateLoggerFactory(Xunit.Abstractions.ITestOutputHelper output, string className, Microsoft.Extensions.Logging.LogLevel minLogLevel, string testName = null, System.DateTimeOffset? logStart = null) -> Microsoft.Extensions.Logging.ILoggerFactory
+~Microsoft.AspNetCore.Testing.AssemblyTestLog.CreateLoggerFactory(Xunit.Abstractions.ITestOutputHelper output, string className, string testName = null, System.DateTimeOffset? logStart = null) -> Microsoft.Extensions.Logging.ILoggerFactory
+~Microsoft.AspNetCore.Testing.AssemblyTestLog.CreateLoggerServices(Xunit.Abstractions.ITestOutputHelper output, string className, Microsoft.Extensions.Logging.LogLevel minLogLevel, out string normalizedTestName, out string logOutputDirectory, string testName = null, System.DateTimeOffset? logStart = null) -> System.IServiceProvider
+~Microsoft.AspNetCore.Testing.AssemblyTestLog.CreateLoggerServices(Xunit.Abstractions.ITestOutputHelper output, string className, Microsoft.Extensions.Logging.LogLevel minLogLevel, out string normalizedTestName, string testName = null, System.DateTimeOffset? logStart = null) -> System.IServiceProvider
+~Microsoft.AspNetCore.Testing.AssemblyTestLog.StartTestLog(Xunit.Abstractions.ITestOutputHelper output, string className, out Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, Microsoft.Extensions.Logging.LogLevel minLogLevel, string testName = null) -> System.IDisposable
+~Microsoft.AspNetCore.Testing.AssemblyTestLog.StartTestLog(Xunit.Abstractions.ITestOutputHelper output, string className, out Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, string testName = null) -> System.IDisposable
+~Microsoft.AspNetCore.Testing.CollectDumpAttribute.OnTestEndAsync(Microsoft.AspNetCore.Testing.TestContext context, System.Exception exception, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task
+~Microsoft.AspNetCore.Testing.CollectDumpAttribute.OnTestStartAsync(Microsoft.AspNetCore.Testing.TestContext context, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task
+~Microsoft.AspNetCore.Testing.CultureReplacer.CultureReplacer(System.Globalization.CultureInfo culture, System.Globalization.CultureInfo uiCulture) -> void
+~Microsoft.AspNetCore.Testing.CultureReplacer.CultureReplacer(string culture = "en-GB", string uiCulture = "en-US") -> void
+~Microsoft.AspNetCore.Testing.DockerOnlyAttribute.SkipReason.get -> string
+~Microsoft.AspNetCore.Testing.EnvironmentVariableSkipConditionAttribute.EnvironmentVariableSkipConditionAttribute(string variableName, params string[] values) -> void
+~Microsoft.AspNetCore.Testing.EnvironmentVariableSkipConditionAttribute.SkipReason.get -> string
+~Microsoft.AspNetCore.Testing.FrameworkSkipConditionAttribute.SkipReason.get -> string
+~Microsoft.AspNetCore.Testing.FrameworkSkipConditionAttribute.SkipReason.set -> void
+~Microsoft.AspNetCore.Testing.ILoggedTest.Initialize(Microsoft.AspNetCore.Testing.TestContext context, System.Reflection.MethodInfo methodInfo, object[] testMethodArguments, Xunit.Abstractions.ITestOutputHelper testOutputHelper) -> void
+~Microsoft.AspNetCore.Testing.ILoggedTest.Logger.get -> Microsoft.Extensions.Logging.ILogger
+~Microsoft.AspNetCore.Testing.ILoggedTest.LoggerFactory.get -> Microsoft.Extensions.Logging.ILoggerFactory
+~Microsoft.AspNetCore.Testing.ILoggedTest.StartLog(out Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, Microsoft.Extensions.Logging.LogLevel minLogLevel, string testName) -> System.IDisposable
+~Microsoft.AspNetCore.Testing.ILoggedTest.TestOutputHelper.get -> Xunit.Abstractions.ITestOutputHelper
+~Microsoft.AspNetCore.Testing.ITestCondition.SkipReason.get -> string
+~Microsoft.AspNetCore.Testing.ITestMethodLifecycle.OnTestEndAsync(Microsoft.AspNetCore.Testing.TestContext context, System.Exception exception, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task
+~Microsoft.AspNetCore.Testing.ITestMethodLifecycle.OnTestStartAsync(Microsoft.AspNetCore.Testing.TestContext context, System.Threading.CancellationToken cancellationToken) -> System.Threading.Tasks.Task
+~Microsoft.AspNetCore.Testing.LoggedTest.LoggedTest(Xunit.Abstractions.ITestOutputHelper output = null) -> void
+~Microsoft.AspNetCore.Testing.LoggedTest.TestSink.get -> Microsoft.Extensions.Logging.Testing.ITestSink
+~Microsoft.AspNetCore.Testing.LoggedTest.TestSink.set -> void
+~Microsoft.AspNetCore.Testing.LoggedTestBase.AddTestLogging(Microsoft.Extensions.DependencyInjection.IServiceCollection services) -> void
+~Microsoft.AspNetCore.Testing.LoggedTestBase.Context.get -> Microsoft.AspNetCore.Testing.TestContext
+~Microsoft.AspNetCore.Testing.LoggedTestBase.LoggedTestBase(Xunit.Abstractions.ITestOutputHelper output = null) -> void
+~Microsoft.AspNetCore.Testing.LoggedTestBase.Logger.get -> Microsoft.Extensions.Logging.ILogger
+~Microsoft.AspNetCore.Testing.LoggedTestBase.Logger.set -> void
+~Microsoft.AspNetCore.Testing.LoggedTestBase.LoggerFactory.get -> Microsoft.Extensions.Logging.ILoggerFactory
+~Microsoft.AspNetCore.Testing.LoggedTestBase.LoggerFactory.set -> void
+~Microsoft.AspNetCore.Testing.LoggedTestBase.ResolvedLogOutputDirectory.get -> string
+~Microsoft.AspNetCore.Testing.LoggedTestBase.ResolvedLogOutputDirectory.set -> void
+~Microsoft.AspNetCore.Testing.LoggedTestBase.ResolvedTestMethodName.get -> string
+~Microsoft.AspNetCore.Testing.LoggedTestBase.ResolvedTestMethodName.set -> void
+~Microsoft.AspNetCore.Testing.LoggedTestBase.StartLog(out Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, Microsoft.Extensions.Logging.LogLevel minLogLevel, string testName = null) -> System.IDisposable
+~Microsoft.AspNetCore.Testing.LoggedTestBase.StartLog(out Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, string testName = null) -> System.IDisposable
+~Microsoft.AspNetCore.Testing.LoggedTestBase.TestOutputHelper.get -> Xunit.Abstractions.ITestOutputHelper
+~Microsoft.AspNetCore.Testing.LoggedTestBase.TestOutputHelper.set -> void
+~Microsoft.AspNetCore.Testing.MaximumOSVersionAttribute.MaximumOSVersionAttribute(Microsoft.AspNetCore.Testing.OperatingSystems operatingSystem, string maxVersion) -> void
+~Microsoft.AspNetCore.Testing.MaximumOSVersionAttribute.SkipReason.get -> string
+~Microsoft.AspNetCore.Testing.MaximumOSVersionAttribute.SkipReason.set -> void
+~Microsoft.AspNetCore.Testing.MinimumOSVersionAttribute.MinimumOSVersionAttribute(Microsoft.AspNetCore.Testing.OperatingSystems operatingSystem, string minVersion) -> void
+~Microsoft.AspNetCore.Testing.MinimumOSVersionAttribute.SkipReason.get -> string
+~Microsoft.AspNetCore.Testing.MinimumOSVersionAttribute.SkipReason.set -> void
+~Microsoft.AspNetCore.Testing.OSSkipConditionAttribute.OSSkipConditionAttribute(Microsoft.AspNetCore.Testing.OperatingSystems operatingSystem, params string[] versions) -> void
+~Microsoft.AspNetCore.Testing.OSSkipConditionAttribute.SkipReason.get -> string
+~Microsoft.AspNetCore.Testing.OSSkipConditionAttribute.SkipReason.set -> void
+~Microsoft.AspNetCore.Testing.QuarantinedTestAttribute.QuarantinedTestAttribute(string reason = null) -> void
+~Microsoft.AspNetCore.Testing.QuarantinedTestAttribute.Reason.get -> string
+~Microsoft.AspNetCore.Testing.QuarantinedTestTraitDiscoverer.GetTraits(Xunit.Abstractions.IAttributeInfo traitAttribute) -> System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string, string>>
+~Microsoft.AspNetCore.Testing.ReplaceCultureAttribute.Culture.get -> System.Globalization.CultureInfo
+~Microsoft.AspNetCore.Testing.ReplaceCultureAttribute.ReplaceCultureAttribute(string currentCulture, string currentUICulture) -> void
+~Microsoft.AspNetCore.Testing.ReplaceCultureAttribute.UICulture.get -> System.Globalization.CultureInfo
+~Microsoft.AspNetCore.Testing.SkipOnCIAttribute.IssueUrl.get -> string
+~Microsoft.AspNetCore.Testing.SkipOnCIAttribute.SkipOnCIAttribute(string issueUrl = "") -> void
+~Microsoft.AspNetCore.Testing.SkipOnCIAttribute.SkipReason.get -> string
+~Microsoft.AspNetCore.Testing.SkipOnHelixAttribute.IssueUrl.get -> string
+~Microsoft.AspNetCore.Testing.SkipOnHelixAttribute.Queues.get -> string
+~Microsoft.AspNetCore.Testing.SkipOnHelixAttribute.Queues.set -> void
+~Microsoft.AspNetCore.Testing.SkipOnHelixAttribute.SkipOnHelixAttribute(string issueUrl) -> void
+~Microsoft.AspNetCore.Testing.SkipOnHelixAttribute.SkipReason.get -> string
+~Microsoft.AspNetCore.Testing.SkippedTestCase.SkippedTestCase(string skipReason, Xunit.Abstractions.IMessageSink diagnosticMessageSink, Xunit.Sdk.TestMethodDisplay defaultMethodDisplay, Xunit.Sdk.TestMethodDisplayOptions defaultMethodDisplayOptions, Xunit.Abstractions.ITestMethod testMethod, object[] testMethodArguments = null) -> void
+~Microsoft.AspNetCore.Testing.TestContext.ConstructorArguments.get -> object[]
+~Microsoft.AspNetCore.Testing.TestContext.FileOutput.get -> Microsoft.AspNetCore.Testing.TestFileOutputContext
+~Microsoft.AspNetCore.Testing.TestContext.MethodArguments.get -> object[]
+~Microsoft.AspNetCore.Testing.TestContext.Output.get -> Xunit.Abstractions.ITestOutputHelper
+~Microsoft.AspNetCore.Testing.TestContext.TestClass.get -> System.Type
+~Microsoft.AspNetCore.Testing.TestContext.TestContext(System.Type testClass, object[] constructorArguments, System.Reflection.MethodInfo testMethod, object[] methodArguments, Xunit.Abstractions.ITestOutputHelper output) -> void
+~Microsoft.AspNetCore.Testing.TestContext.TestMethod.get -> System.Reflection.MethodInfo
+~Microsoft.AspNetCore.Testing.TestFileOutputContext.AssemblyOutputDirectory.get -> string
+~Microsoft.AspNetCore.Testing.TestFileOutputContext.GetUniqueFileName(string prefix, string extension) -> string
+~Microsoft.AspNetCore.Testing.TestFileOutputContext.TestClassName.get -> string
+~Microsoft.AspNetCore.Testing.TestFileOutputContext.TestClassOutputDirectory.get -> string
+~Microsoft.AspNetCore.Testing.TestFileOutputContext.TestFileOutputContext(Microsoft.AspNetCore.Testing.TestContext parent) -> void
+~Microsoft.AspNetCore.Testing.TestFileOutputContext.TestName.get -> string
+~Microsoft.AspNetCore.Testing.TestFrameworkFileLoggerAttribute.TestFrameworkFileLoggerAttribute(string preserveExistingLogsInOutput, string tfm, string baseDirectory = null) -> void
+~Microsoft.AspNetCore.Testing.TestOutputDirectoryAttribute.BaseDirectory.get -> string
+~Microsoft.AspNetCore.Testing.TestOutputDirectoryAttribute.TargetFramework.get -> string
+~Microsoft.AspNetCore.Testing.TestOutputDirectoryAttribute.TestOutputDirectoryAttribute(string preserveExistingLogsInOutput, string targetFramework, string baseDirectory = null) -> void
+~Microsoft.AspNetCore.Testing.Tracing.CollectingEventListener.CollectFrom(System.Diagnostics.Tracing.EventSource eventSource) -> void
+~Microsoft.AspNetCore.Testing.Tracing.CollectingEventListener.CollectFrom(string eventSourceName) -> void
+~Microsoft.AspNetCore.Testing.Tracing.CollectingEventListener.GetEventsWritten() -> System.Collections.Generic.IReadOnlyList<System.Diagnostics.Tracing.EventWrittenEventArgs>
+~Microsoft.AspNetCore.Testing.Tracing.EventAssert.EventAssert(int expectedId, string expectedName, System.Diagnostics.Tracing.EventLevel expectedLevel) -> void
+~Microsoft.AspNetCore.Testing.Tracing.EventAssert.Payload(string name, System.Action<object> asserter) -> Microsoft.AspNetCore.Testing.Tracing.EventAssert
+~Microsoft.AspNetCore.Testing.Tracing.EventAssert.Payload(string name, object expectedValue) -> Microsoft.AspNetCore.Testing.Tracing.EventAssert
+~Microsoft.AspNetCore.Testing.Tracing.EventSourceTestBase.CollectFrom(System.Diagnostics.Tracing.EventSource eventSource) -> void
+~Microsoft.AspNetCore.Testing.Tracing.EventSourceTestBase.CollectFrom(string eventSourceName) -> void
+~Microsoft.AspNetCore.Testing.Tracing.EventSourceTestBase.GetEvents() -> System.Collections.Generic.IReadOnlyList<System.Diagnostics.Tracing.EventWrittenEventArgs>
+~Microsoft.Extensions.Logging.Testing.BeginScopeContext.LoggerName.get -> string
+~Microsoft.Extensions.Logging.Testing.BeginScopeContext.LoggerName.set -> void
+~Microsoft.Extensions.Logging.Testing.BeginScopeContext.Scope.get -> object
+~Microsoft.Extensions.Logging.Testing.BeginScopeContext.Scope.set -> void
+~Microsoft.Extensions.Logging.Testing.ITestSink.Begin(Microsoft.Extensions.Logging.Testing.BeginScopeContext context) -> void
+~Microsoft.Extensions.Logging.Testing.ITestSink.BeginEnabled.get -> System.Func<Microsoft.Extensions.Logging.Testing.BeginScopeContext, bool>
+~Microsoft.Extensions.Logging.Testing.ITestSink.BeginEnabled.set -> void
+~Microsoft.Extensions.Logging.Testing.ITestSink.Scopes.get -> System.Collections.Concurrent.IProducerConsumerCollection<Microsoft.Extensions.Logging.Testing.BeginScopeContext>
+~Microsoft.Extensions.Logging.Testing.ITestSink.Scopes.set -> void
+~Microsoft.Extensions.Logging.Testing.ITestSink.Write(Microsoft.Extensions.Logging.Testing.WriteContext context) -> void
+~Microsoft.Extensions.Logging.Testing.ITestSink.WriteEnabled.get -> System.Func<Microsoft.Extensions.Logging.Testing.WriteContext, bool>
+~Microsoft.Extensions.Logging.Testing.ITestSink.WriteEnabled.set -> void
+~Microsoft.Extensions.Logging.Testing.ITestSink.Writes.get -> System.Collections.Concurrent.IProducerConsumerCollection<Microsoft.Extensions.Logging.Testing.WriteContext>
+~Microsoft.Extensions.Logging.Testing.ITestSink.Writes.set -> void
+~Microsoft.Extensions.Logging.Testing.TestLogger.BeginScope<TState>(TState state) -> System.IDisposable
+~Microsoft.Extensions.Logging.Testing.TestLogger.Log<TState>(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, TState state, System.Exception exception, System.Func<TState, System.Exception, string> formatter) -> void
+~Microsoft.Extensions.Logging.Testing.TestLogger.Name.get -> string
+~Microsoft.Extensions.Logging.Testing.TestLogger.Name.set -> void
+~Microsoft.Extensions.Logging.Testing.TestLogger.TestLogger(string name, Microsoft.Extensions.Logging.Testing.ITestSink sink, System.Func<Microsoft.Extensions.Logging.LogLevel, bool> filter) -> void
+~Microsoft.Extensions.Logging.Testing.TestLogger.TestLogger(string name, Microsoft.Extensions.Logging.Testing.ITestSink sink, bool enabled) -> void
+~Microsoft.Extensions.Logging.Testing.TestLogger<T>.BeginScope<TState>(TState state) -> System.IDisposable
+~Microsoft.Extensions.Logging.Testing.TestLogger<T>.Log<TState>(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, TState state, System.Exception exception, System.Func<TState, System.Exception, string> formatter) -> void
+~Microsoft.Extensions.Logging.Testing.TestLogger<T>.TestLogger(Microsoft.Extensions.Logging.Testing.TestLoggerFactory factory) -> void
+~Microsoft.Extensions.Logging.Testing.TestLoggerFactory.AddProvider(Microsoft.Extensions.Logging.ILoggerProvider provider) -> void
+~Microsoft.Extensions.Logging.Testing.TestLoggerFactory.CreateLogger(string name) -> Microsoft.Extensions.Logging.ILogger
+~Microsoft.Extensions.Logging.Testing.TestLoggerFactory.TestLoggerFactory(Microsoft.Extensions.Logging.Testing.ITestSink sink, bool enabled) -> void
+~Microsoft.Extensions.Logging.Testing.TestLoggerProvider.CreateLogger(string categoryName) -> Microsoft.Extensions.Logging.ILogger
+~Microsoft.Extensions.Logging.Testing.TestLoggerProvider.TestLoggerProvider(Microsoft.Extensions.Logging.Testing.ITestSink sink) -> void
+~Microsoft.Extensions.Logging.Testing.TestSink.Begin(Microsoft.Extensions.Logging.Testing.BeginScopeContext context) -> void
+~Microsoft.Extensions.Logging.Testing.TestSink.BeginEnabled.get -> System.Func<Microsoft.Extensions.Logging.Testing.BeginScopeContext, bool>
+~Microsoft.Extensions.Logging.Testing.TestSink.BeginEnabled.set -> void
+~Microsoft.Extensions.Logging.Testing.TestSink.Scopes.get -> System.Collections.Concurrent.IProducerConsumerCollection<Microsoft.Extensions.Logging.Testing.BeginScopeContext>
+~Microsoft.Extensions.Logging.Testing.TestSink.Scopes.set -> void
+~Microsoft.Extensions.Logging.Testing.TestSink.TestSink(System.Func<Microsoft.Extensions.Logging.Testing.WriteContext, bool> writeEnabled = null, System.Func<Microsoft.Extensions.Logging.Testing.BeginScopeContext, bool> beginEnabled = null) -> void
+~Microsoft.Extensions.Logging.Testing.TestSink.Write(Microsoft.Extensions.Logging.Testing.WriteContext context) -> void
+~Microsoft.Extensions.Logging.Testing.TestSink.WriteEnabled.get -> System.Func<Microsoft.Extensions.Logging.Testing.WriteContext, bool>
+~Microsoft.Extensions.Logging.Testing.TestSink.WriteEnabled.set -> void
+~Microsoft.Extensions.Logging.Testing.TestSink.Writes.get -> System.Collections.Concurrent.IProducerConsumerCollection<Microsoft.Extensions.Logging.Testing.WriteContext>
+~Microsoft.Extensions.Logging.Testing.TestSink.Writes.set -> void
+~Microsoft.Extensions.Logging.Testing.WriteContext.Exception.get -> System.Exception
+~Microsoft.Extensions.Logging.Testing.WriteContext.Exception.set -> void
+~Microsoft.Extensions.Logging.Testing.WriteContext.Formatter.get -> System.Func<object, System.Exception, string>
+~Microsoft.Extensions.Logging.Testing.WriteContext.Formatter.set -> void
+~Microsoft.Extensions.Logging.Testing.WriteContext.LoggerName.get -> string
+~Microsoft.Extensions.Logging.Testing.WriteContext.LoggerName.set -> void
+~Microsoft.Extensions.Logging.Testing.WriteContext.Message.get -> string
+~Microsoft.Extensions.Logging.Testing.WriteContext.Scope.get -> object
+~Microsoft.Extensions.Logging.Testing.WriteContext.Scope.set -> void
+~Microsoft.Extensions.Logging.Testing.WriteContext.State.get -> object
+~Microsoft.Extensions.Logging.Testing.WriteContext.State.set -> void
+~Microsoft.Extensions.Logging.Testing.XunitLogger.BeginScope<TState>(TState state) -> System.IDisposable
+~Microsoft.Extensions.Logging.Testing.XunitLogger.Log<TState>(Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, TState state, System.Exception exception, System.Func<TState, System.Exception, string> formatter) -> void
+~Microsoft.Extensions.Logging.Testing.XunitLogger.XunitLogger(Xunit.Abstractions.ITestOutputHelper output, string category, Microsoft.Extensions.Logging.LogLevel minLogLevel, System.DateTimeOffset? logStart) -> void
+~Microsoft.Extensions.Logging.Testing.XunitLoggerProvider.CreateLogger(string categoryName) -> Microsoft.Extensions.Logging.ILogger
+~Microsoft.Extensions.Logging.Testing.XunitLoggerProvider.XunitLoggerProvider(Xunit.Abstractions.ITestOutputHelper output) -> void
+~Microsoft.Extensions.Logging.Testing.XunitLoggerProvider.XunitLoggerProvider(Xunit.Abstractions.ITestOutputHelper output, Microsoft.Extensions.Logging.LogLevel minLevel) -> void
+~Microsoft.Extensions.Logging.Testing.XunitLoggerProvider.XunitLoggerProvider(Xunit.Abstractions.ITestOutputHelper output, Microsoft.Extensions.Logging.LogLevel minLevel, System.DateTimeOffset? logStart) -> void
+~const Microsoft.AspNetCore.Testing.HelixQueues.Centos7Amd64 = "Centos.7.Amd64.Open" -> string
+~const Microsoft.AspNetCore.Testing.HelixQueues.Debian8Amd64 = "Debian.8.Amd64.Open" -> string
+~const Microsoft.AspNetCore.Testing.HelixQueues.Debian9Amd64 = "Debian.9.Amd64.Open" -> string
+~const Microsoft.AspNetCore.Testing.HelixQueues.Fedora27Amd64 = "Fedora.27.Amd64.Open" -> string
+~const Microsoft.AspNetCore.Testing.HelixQueues.Fedora28Amd64 = "Fedora.28.Amd64.Open" -> string
+~const Microsoft.AspNetCore.Testing.HelixQueues.Redhat7Amd64 = "Redhat.7.Amd64.Open" -> string
+~const Microsoft.AspNetCore.Testing.HelixQueues.Ubuntu1604Amd64 = "Ubuntu.1604.Amd64.Open" -> string
+~const Microsoft.AspNetCore.Testing.HelixQueues.Ubuntu1810Amd64 = "Ubuntu.1810.Amd64.Open" -> string
+~const Microsoft.AspNetCore.Testing.HelixQueues.Windows10Amd64 = "Windows.10.Amd64.ClientRS4.VS2017.Open" -> string
+~const Microsoft.AspNetCore.Testing.HelixQueues.macOS1012Amd64 = "OSX.1012.Amd64.Open" -> string
+~const Microsoft.AspNetCore.Testing.Tracing.EventSourceTestBase.CollectionName = "Microsoft.AspNetCore.Testing.Tracing.EventSourceTestCollection" -> string
+~const Microsoft.AspNetCore.Testing.WindowsVersions.Win10 = "10.0" -> string
+~const Microsoft.AspNetCore.Testing.WindowsVersions.Win10_19H1 = "10.0.18362" -> string
+~const Microsoft.AspNetCore.Testing.WindowsVersions.Win10_19H2 = "10.0.18363" -> string
+~const Microsoft.AspNetCore.Testing.WindowsVersions.Win10_20H1 = "10.0.19033" -> string
+~const Microsoft.AspNetCore.Testing.WindowsVersions.Win10_RS4 = "10.0.17134" -> string
+~const Microsoft.AspNetCore.Testing.WindowsVersions.Win10_RS5 = "10.0.17763" -> string
+~const Microsoft.AspNetCore.Testing.WindowsVersions.Win2008R2 = "6.1" -> string
+~const Microsoft.AspNetCore.Testing.WindowsVersions.Win7 = "6.1" -> string
+~const Microsoft.AspNetCore.Testing.WindowsVersions.Win8 = "6.2" -> string
+~const Microsoft.AspNetCore.Testing.WindowsVersions.Win81 = "6.3" -> string
+~override Microsoft.AspNetCore.Testing.AspNetTestAssemblyRunner.AfterTestAssemblyStartingAsync() -> System.Threading.Tasks.Task
+~override Microsoft.AspNetCore.Testing.AspNetTestAssemblyRunner.BeforeTestAssemblyFinishedAsync() -> System.Threading.Tasks.Task
+~override Microsoft.AspNetCore.Testing.AspNetTestAssemblyRunner.RunTestCollectionAsync(Xunit.Sdk.IMessageBus messageBus, Xunit.Abstractions.ITestCollection testCollection, System.Collections.Generic.IEnumerable<Xunit.Sdk.IXunitTestCase> testCases, System.Threading.CancellationTokenSource cancellationTokenSource) -> System.Threading.Tasks.Task<Xunit.Sdk.RunSummary>
+~override Microsoft.AspNetCore.Testing.AspNetTestCollectionRunner.AfterTestCollectionStartingAsync() -> System.Threading.Tasks.Task
+~override Microsoft.AspNetCore.Testing.AspNetTestCollectionRunner.BeforeTestCollectionFinishedAsync() -> System.Threading.Tasks.Task
+~override Microsoft.AspNetCore.Testing.AspNetTestCollectionRunner.RunTestClassAsync(Xunit.Abstractions.ITestClass testClass, Xunit.Abstractions.IReflectionTypeInfo class, System.Collections.Generic.IEnumerable<Xunit.Sdk.IXunitTestCase> testCases) -> System.Threading.Tasks.Task<Xunit.Sdk.RunSummary>
+~override Microsoft.AspNetCore.Testing.AspNetTestFramework.CreateExecutor(System.Reflection.AssemblyName assemblyName) -> Xunit.Abstractions.ITestFrameworkExecutor
+~override Microsoft.AspNetCore.Testing.AspNetTestFrameworkExecutor.RunTestCases(System.Collections.Generic.IEnumerable<Xunit.Sdk.IXunitTestCase> testCases, Xunit.Abstractions.IMessageSink executionMessageSink, Xunit.Abstractions.ITestFrameworkExecutionOptions executionOptions) -> void
+~override Microsoft.AspNetCore.Testing.LoggedTest.Initialize(Microsoft.AspNetCore.Testing.TestContext context, System.Reflection.MethodInfo methodInfo, object[] testMethodArguments, Xunit.Abstractions.ITestOutputHelper testOutputHelper) -> void
+~override Microsoft.AspNetCore.Testing.ReplaceCultureAttribute.After(System.Reflection.MethodInfo methodUnderTest) -> void
+~override Microsoft.AspNetCore.Testing.ReplaceCultureAttribute.Before(System.Reflection.MethodInfo methodUnderTest) -> void
+~override Microsoft.AspNetCore.Testing.SkippedTestCase.Deserialize(Xunit.Abstractions.IXunitSerializationInfo data) -> void
+~override Microsoft.AspNetCore.Testing.SkippedTestCase.GetSkipReason(Xunit.Abstractions.IAttributeInfo factAttribute) -> string
+~override Microsoft.AspNetCore.Testing.SkippedTestCase.Serialize(Xunit.Abstractions.IXunitSerializationInfo data) -> void
+~override Microsoft.AspNetCore.Testing.Tracing.CollectingEventListener.OnEventSourceCreated(System.Diagnostics.Tracing.EventSource eventSource) -> void
+~override Microsoft.AspNetCore.Testing.Tracing.CollectingEventListener.OnEventWritten(System.Diagnostics.Tracing.EventWrittenEventArgs eventData) -> void
+~static Microsoft.AspNetCore.Testing.AssemblyTestLog.Create(System.Reflection.Assembly assembly, string baseDirectory) -> Microsoft.AspNetCore.Testing.AssemblyTestLog
+~static Microsoft.AspNetCore.Testing.AssemblyTestLog.Create(string assemblyName, string baseDirectory) -> Microsoft.AspNetCore.Testing.AssemblyTestLog
+~static Microsoft.AspNetCore.Testing.AssemblyTestLog.ForAssembly(System.Reflection.Assembly assembly) -> Microsoft.AspNetCore.Testing.AssemblyTestLog
+~static Microsoft.AspNetCore.Testing.CultureReplacer.DefaultCulture.get -> System.Globalization.CultureInfo
+~static Microsoft.AspNetCore.Testing.CultureReplacer.DefaultCultureName.get -> string
+~static Microsoft.AspNetCore.Testing.CultureReplacer.DefaultUICultureName.get -> string
+~static Microsoft.AspNetCore.Testing.DumpCollector.Collect(System.Diagnostics.Process process, string fileName) -> void
+~static Microsoft.AspNetCore.Testing.ExceptionAssert.Throws<TException>(System.Action testCode) -> TException
+~static Microsoft.AspNetCore.Testing.ExceptionAssert.Throws<TException>(System.Action testCode, string exceptionMessage) -> TException
+~static Microsoft.AspNetCore.Testing.ExceptionAssert.Throws<TException>(System.Func<object> testCode, string exceptionMessage) -> TException
+~static Microsoft.AspNetCore.Testing.ExceptionAssert.ThrowsArgument(System.Action testCode, string paramName, string exceptionMessage) -> System.ArgumentException
+~static Microsoft.AspNetCore.Testing.ExceptionAssert.ThrowsArgumentAsync(System.Func<System.Threading.Tasks.Task> testCode, string paramName, string exceptionMessage) -> System.Threading.Tasks.Task<System.ArgumentException>
+~static Microsoft.AspNetCore.Testing.ExceptionAssert.ThrowsArgumentNull(System.Action testCode, string paramName) -> System.ArgumentNullException
+~static Microsoft.AspNetCore.Testing.ExceptionAssert.ThrowsArgumentNullOrEmpty(System.Action testCode, string paramName) -> System.ArgumentException
+~static Microsoft.AspNetCore.Testing.ExceptionAssert.ThrowsArgumentNullOrEmptyAsync(System.Func<System.Threading.Tasks.Task> testCode, string paramName) -> System.Threading.Tasks.Task<System.ArgumentException>
+~static Microsoft.AspNetCore.Testing.ExceptionAssert.ThrowsArgumentNullOrEmptyString(System.Action testCode, string paramName) -> System.ArgumentException
+~static Microsoft.AspNetCore.Testing.ExceptionAssert.ThrowsArgumentNullOrEmptyStringAsync(System.Func<System.Threading.Tasks.Task> testCode, string paramName) -> System.Threading.Tasks.Task<System.ArgumentException>
+~static Microsoft.AspNetCore.Testing.ExceptionAssert.ThrowsArgumentOutOfRange(System.Action testCode, string paramName, string exceptionMessage, object actualValue = null) -> System.ArgumentOutOfRangeException
+~static Microsoft.AspNetCore.Testing.ExceptionAssert.ThrowsAsync<TException>(System.Func<System.Threading.Tasks.Task> testCode, string exceptionMessage) -> System.Threading.Tasks.Task<TException>
+~static Microsoft.AspNetCore.Testing.HttpClientSlim.GetSocket(System.Uri requestUri) -> System.Threading.Tasks.Task<System.Net.Sockets.Socket>
+~static Microsoft.AspNetCore.Testing.HttpClientSlim.GetStringAsync(System.Uri requestUri, bool validateCertificate = true) -> System.Threading.Tasks.Task<string>
+~static Microsoft.AspNetCore.Testing.HttpClientSlim.GetStringAsync(string requestUri, bool validateCertificate = true) -> System.Threading.Tasks.Task<string>
+~static Microsoft.AspNetCore.Testing.HttpClientSlim.PostAsync(System.Uri requestUri, System.Net.Http.HttpContent content, bool validateCertificate = true) -> System.Threading.Tasks.Task<string>
+~static Microsoft.AspNetCore.Testing.HttpClientSlim.PostAsync(string requestUri, System.Net.Http.HttpContent content, bool validateCertificate = true) -> System.Threading.Tasks.Task<string>
+~static Microsoft.AspNetCore.Testing.RepeatContext.Current.get -> Microsoft.AspNetCore.Testing.RepeatContext
+~static Microsoft.AspNetCore.Testing.SkipOnCIAttribute.GetIfOnAzdo() -> string
+~static Microsoft.AspNetCore.Testing.SkipOnCIAttribute.GetTargetHelixQueue() -> string
+~static Microsoft.AspNetCore.Testing.SkipOnHelixAttribute.GetTargetHelixQueue() -> string
+~static Microsoft.AspNetCore.Testing.TaskExtensions.TimeoutAfter(this System.Threading.Tasks.Task task, System.TimeSpan timeout, string filePath = null, int lineNumber = 0) -> System.Threading.Tasks.Task
+~static Microsoft.AspNetCore.Testing.TaskExtensions.TimeoutAfter<T>(this System.Threading.Tasks.Task<T> task, System.TimeSpan timeout, string filePath = null, int lineNumber = 0) -> System.Threading.Tasks.Task<T>
+~static Microsoft.AspNetCore.Testing.TestFileOutputContext.GetAssemblyBaseDirectory(System.Reflection.Assembly assembly, string baseDirectory = null) -> string
+~static Microsoft.AspNetCore.Testing.TestFileOutputContext.GetOutputDirectory(System.Reflection.Assembly assembly) -> string
+~static Microsoft.AspNetCore.Testing.TestFileOutputContext.GetPreserveExistingLogsInOutput(System.Reflection.Assembly assembly) -> bool
+~static Microsoft.AspNetCore.Testing.TestFileOutputContext.GetTestClassName(System.Type type) -> string
+~static Microsoft.AspNetCore.Testing.TestFileOutputContext.GetTestMethodName(System.Reflection.MethodInfo method, object[] arguments) -> string
+~static Microsoft.AspNetCore.Testing.TestFileOutputContext.RemoveIllegalFileChars(string s) -> string
+~static Microsoft.AspNetCore.Testing.TestMethodExtensions.EvaluateSkipConditions(this Xunit.Abstractions.ITestMethod testMethod) -> string
+~static Microsoft.AspNetCore.Testing.TestPathUtilities.GetSolutionRootDirectory(string solution) -> string
+~static Microsoft.AspNetCore.Testing.Tracing.EventAssert.Collection(System.Collections.Generic.IEnumerable<System.Diagnostics.Tracing.EventWrittenEventArgs> events, params Microsoft.AspNetCore.Testing.Tracing.EventAssert[] asserts) -> void
+~static Microsoft.AspNetCore.Testing.Tracing.EventAssert.Event(int id, string name, System.Diagnostics.Tracing.EventLevel level) -> Microsoft.AspNetCore.Testing.Tracing.EventAssert
+~static Microsoft.Extensions.Logging.Testing.LogValuesAssert.Contains(System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string, object>> expectedValues, System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string, object>> actualValues) -> void
+~static Microsoft.Extensions.Logging.Testing.LogValuesAssert.Contains(string key, object value, System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string, object>> actualValues) -> void
+~static Microsoft.Extensions.Logging.Testing.TestSink.EnableWithTypeName<T>(Microsoft.Extensions.Logging.Testing.BeginScopeContext context) -> bool
+~static Microsoft.Extensions.Logging.Testing.TestSink.EnableWithTypeName<T>(Microsoft.Extensions.Logging.Testing.WriteContext context) -> bool
+~static Microsoft.Extensions.Logging.XunitLoggerFactoryExtensions.AddXunit(this Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, Xunit.Abstractions.ITestOutputHelper output) -> Microsoft.Extensions.Logging.ILoggerFactory
+~static Microsoft.Extensions.Logging.XunitLoggerFactoryExtensions.AddXunit(this Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, Xunit.Abstractions.ITestOutputHelper output, Microsoft.Extensions.Logging.LogLevel minLevel) -> Microsoft.Extensions.Logging.ILoggerFactory
+~static Microsoft.Extensions.Logging.XunitLoggerFactoryExtensions.AddXunit(this Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, Xunit.Abstractions.ITestOutputHelper output, Microsoft.Extensions.Logging.LogLevel minLevel, System.DateTimeOffset? logStart) -> Microsoft.Extensions.Logging.ILoggerFactory
+~static Microsoft.Extensions.Logging.XunitLoggerFactoryExtensions.AddXunit(this Microsoft.Extensions.Logging.ILoggingBuilder builder, Xunit.Abstractions.ITestOutputHelper output) -> Microsoft.Extensions.Logging.ILoggingBuilder
+~static Microsoft.Extensions.Logging.XunitLoggerFactoryExtensions.AddXunit(this Microsoft.Extensions.Logging.ILoggingBuilder builder, Xunit.Abstractions.ITestOutputHelper output, Microsoft.Extensions.Logging.LogLevel minLevel) -> Microsoft.Extensions.Logging.ILoggingBuilder
+~static Microsoft.Extensions.Logging.XunitLoggerFactoryExtensions.AddXunit(this Microsoft.Extensions.Logging.ILoggingBuilder builder, Xunit.Abstractions.ITestOutputHelper output, Microsoft.Extensions.Logging.LogLevel minLevel, System.DateTimeOffset? logStart) -> Microsoft.Extensions.Logging.ILoggingBuilder
+~virtual Microsoft.AspNetCore.Testing.LoggedTestBase.Initialize(Microsoft.AspNetCore.Testing.TestContext context, System.Reflection.MethodInfo methodInfo, object[] testMethodArguments, Xunit.Abstractions.ITestOutputHelper testOutputHelper) -> void

+ 3 - 0
src/Testing/src/TaskExtensions.cs

@@ -3,6 +3,7 @@
 
 using System;
 using System.Diagnostics;
+using System.Diagnostics.CodeAnalysis;
 using System.Runtime.CompilerServices;
 using System.Threading;
 using System.Threading.Tasks;
@@ -11,6 +12,7 @@ namespace Microsoft.AspNetCore.Testing
 {
     public static class TaskExtensions
     {
+        [SuppressMessage("ApiDesign", "RS0026:Do not add multiple public overloads with optional parameters", Justification = "Required to maintain compatibility")]
         public static async Task<T> TimeoutAfter<T>(this Task<T> task, TimeSpan timeout,
             [CallerFilePath] string filePath = null,
             [CallerLineNumber] int lineNumber = default)
@@ -34,6 +36,7 @@ namespace Microsoft.AspNetCore.Testing
             }
         }
 
+        [SuppressMessage("ApiDesign", "RS0026:Do not add multiple public overloads with optional parameters", Justification = "Required to maintain compatibility")]
         public static async Task TimeoutAfter(this Task task, TimeSpan timeout,
             [CallerFilePath] string filePath = null,
             [CallerLineNumber] int lineNumber = default)

+ 1 - 0
src/WebEncoders/src/PublicAPI.Shipped.txt

@@ -0,0 +1 @@
+#nullable enable

+ 35 - 0
src/WebEncoders/src/PublicAPI.Unshipped.txt

@@ -0,0 +1,35 @@
+#nullable enable
+Microsoft.Extensions.DependencyInjection.EncoderServiceCollectionExtensions
+Microsoft.Extensions.WebEncoders.Testing.HtmlTestEncoder
+Microsoft.Extensions.WebEncoders.Testing.HtmlTestEncoder.HtmlTestEncoder() -> void
+Microsoft.Extensions.WebEncoders.Testing.JavaScriptTestEncoder
+Microsoft.Extensions.WebEncoders.Testing.JavaScriptTestEncoder.JavaScriptTestEncoder() -> void
+Microsoft.Extensions.WebEncoders.Testing.UrlTestEncoder
+Microsoft.Extensions.WebEncoders.Testing.UrlTestEncoder.UrlTestEncoder() -> void
+Microsoft.Extensions.WebEncoders.WebEncoderOptions
+Microsoft.Extensions.WebEncoders.WebEncoderOptions.TextEncoderSettings.get -> System.Text.Encodings.Web.TextEncoderSettings?
+Microsoft.Extensions.WebEncoders.WebEncoderOptions.TextEncoderSettings.set -> void
+Microsoft.Extensions.WebEncoders.WebEncoderOptions.WebEncoderOptions() -> void
+override Microsoft.Extensions.WebEncoders.Testing.HtmlTestEncoder.Encode(System.IO.TextWriter! output, char[]! value, int startIndex, int characterCount) -> void
+override Microsoft.Extensions.WebEncoders.Testing.HtmlTestEncoder.Encode(System.IO.TextWriter! output, string! value, int startIndex, int characterCount) -> void
+override Microsoft.Extensions.WebEncoders.Testing.HtmlTestEncoder.Encode(string! value) -> string!
+override Microsoft.Extensions.WebEncoders.Testing.HtmlTestEncoder.FindFirstCharacterToEncode(char* text, int textLength) -> int
+override Microsoft.Extensions.WebEncoders.Testing.HtmlTestEncoder.MaxOutputCharactersPerInputCharacter.get -> int
+override Microsoft.Extensions.WebEncoders.Testing.HtmlTestEncoder.TryEncodeUnicodeScalar(int unicodeScalar, char* buffer, int bufferLength, out int numberOfCharactersWritten) -> bool
+override Microsoft.Extensions.WebEncoders.Testing.HtmlTestEncoder.WillEncode(int unicodeScalar) -> bool
+override Microsoft.Extensions.WebEncoders.Testing.JavaScriptTestEncoder.Encode(System.IO.TextWriter! output, char[]! value, int startIndex, int characterCount) -> void
+override Microsoft.Extensions.WebEncoders.Testing.JavaScriptTestEncoder.Encode(System.IO.TextWriter! output, string! value, int startIndex, int characterCount) -> void
+override Microsoft.Extensions.WebEncoders.Testing.JavaScriptTestEncoder.Encode(string! value) -> string!
+override Microsoft.Extensions.WebEncoders.Testing.JavaScriptTestEncoder.FindFirstCharacterToEncode(char* text, int textLength) -> int
+override Microsoft.Extensions.WebEncoders.Testing.JavaScriptTestEncoder.MaxOutputCharactersPerInputCharacter.get -> int
+override Microsoft.Extensions.WebEncoders.Testing.JavaScriptTestEncoder.TryEncodeUnicodeScalar(int unicodeScalar, char* buffer, int bufferLength, out int numberOfCharactersWritten) -> bool
+override Microsoft.Extensions.WebEncoders.Testing.JavaScriptTestEncoder.WillEncode(int unicodeScalar) -> bool
+override Microsoft.Extensions.WebEncoders.Testing.UrlTestEncoder.Encode(System.IO.TextWriter! output, char[]! value, int startIndex, int characterCount) -> void
+override Microsoft.Extensions.WebEncoders.Testing.UrlTestEncoder.Encode(System.IO.TextWriter! output, string! value, int startIndex, int characterCount) -> void
+override Microsoft.Extensions.WebEncoders.Testing.UrlTestEncoder.Encode(string! value) -> string!
+override Microsoft.Extensions.WebEncoders.Testing.UrlTestEncoder.FindFirstCharacterToEncode(char* text, int textLength) -> int
+override Microsoft.Extensions.WebEncoders.Testing.UrlTestEncoder.MaxOutputCharactersPerInputCharacter.get -> int
+override Microsoft.Extensions.WebEncoders.Testing.UrlTestEncoder.TryEncodeUnicodeScalar(int unicodeScalar, char* buffer, int bufferLength, out int numberOfCharactersWritten) -> bool
+override Microsoft.Extensions.WebEncoders.Testing.UrlTestEncoder.WillEncode(int unicodeScalar) -> bool
+static Microsoft.Extensions.DependencyInjection.EncoderServiceCollectionExtensions.AddWebEncoders(this Microsoft.Extensions.DependencyInjection.IServiceCollection! services) -> Microsoft.Extensions.DependencyInjection.IServiceCollection!
+static Microsoft.Extensions.DependencyInjection.EncoderServiceCollectionExtensions.AddWebEncoders(this Microsoft.Extensions.DependencyInjection.IServiceCollection! services, System.Action<Microsoft.Extensions.WebEncoders.WebEncoderOptions!>! setupAction) -> Microsoft.Extensions.DependencyInjection.IServiceCollection!