diff --git a/.editorconfig b/.editorconfig index b4b1b01dc6..99e4225d24 100644 --- a/.editorconfig +++ b/.editorconfig @@ -343,7 +343,7 @@ dotnet_diagnostic.IDE0270.severity = warning dotnet_diagnostic.IDE0280.severity = warning # IDE0370: Remove unnecessary suppression -dotnet_diagnostic.IDE0370.severity = warning +dotnet_diagnostic.IDE0370.severity = none # IDE1005: Use conditional delegate call dotnet_diagnostic.IDE1005.severity = warning diff --git a/NuGet.config b/NuGet.config index 4063f3efed..96df359ba1 100644 --- a/NuGet.config +++ b/NuGet.config @@ -17,6 +17,7 @@ + @@ -47,5 +48,8 @@ + + + diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 37ecf7c532..a30fe2b30b 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,21 +1,21 @@ - + https://github.com/dotnet/arcade - 47a8a69721dfea57b82121ac1458d2f5bba6abd2 + 594f3bcba9361908a75c769c1d2d5668facc0dea - + https://github.com/dotnet/arcade - 47a8a69721dfea57b82121ac1458d2f5bba6abd2 + 594f3bcba9361908a75c769c1d2d5668facc0dea - + https://github.com/dotnet/arcade - 47a8a69721dfea57b82121ac1458d2f5bba6abd2 + 594f3bcba9361908a75c769c1d2d5668facc0dea - + https://dev.azure.com/devdiv/DevDiv/_git/vs-code-coverage - d6fad4ec212e65323a99f3367bc90ee840fac267 + 74ce4948abff2b900d035bf7fd3a09f4b76f4e62 https://github.com/microsoft/testfx diff --git a/eng/Versions.props b/eng/Versions.props index 8117d1ea8f..bc353a382e 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -7,8 +7,8 @@ preview - 11.0.0-beta.25617.1 - 18.3.0-preview.25615.2 + 11.0.0-beta.26062.1 + 18.4.0-preview.26062.2 4.1.0-preview.26063.3 2.1.0-preview.26063.3 diff --git a/eng/common/core-templates/steps/install-microbuild-impl.yml b/eng/common/core-templates/steps/install-microbuild-impl.yml index b9e0143ee9..da22beb3f6 100644 --- a/eng/common/core-templates/steps/install-microbuild-impl.yml +++ b/eng/common/core-templates/steps/install-microbuild-impl.yml @@ -18,7 +18,7 @@ parameters: type: boolean steps: -- ${{ if eq(parameters.enablePreviewMicrobuild, 'true') }}: +- ${{ if eq(parameters.enablePreviewMicrobuild, true) }}: - task: MicroBuildSigningPluginPreview@4 displayName: Install Preview MicroBuild plugin inputs: ${{ parameters.microbuildTaskInputs }} diff --git a/eng/common/core-templates/steps/source-index-stage1-publish.yml b/eng/common/core-templates/steps/source-index-stage1-publish.yml index ac019e2d03..3ad83b8c30 100644 --- a/eng/common/core-templates/steps/source-index-stage1-publish.yml +++ b/eng/common/core-templates/steps/source-index-stage1-publish.yml @@ -14,8 +14,8 @@ steps: workingDirectory: $(Agent.TempDirectory) - script: | - $(Agent.TempDirectory)/dotnet/dotnet tool install BinLogToSln --version ${{parameters.sourceIndexProcessBinlogPackageVersion}} --source ${{parameters.SourceIndexPackageSource}} --tool-path $(Agent.TempDirectory)/.source-index/tools - $(Agent.TempDirectory)/dotnet/dotnet tool install UploadIndexStage1 --version ${{parameters.sourceIndexUploadPackageVersion}} --source ${{parameters.SourceIndexPackageSource}} --tool-path $(Agent.TempDirectory)/.source-index/tools + $(Agent.TempDirectory)/dotnet/dotnet tool install BinLogToSln --version ${{parameters.sourceIndexProcessBinlogPackageVersion}} --source ${{parameters.sourceIndexPackageSource}} --tool-path $(Agent.TempDirectory)/.source-index/tools + $(Agent.TempDirectory)/dotnet/dotnet tool install UploadIndexStage1 --version ${{parameters.sourceIndexUploadPackageVersion}} --source ${{parameters.sourceIndexPackageSource}} --tool-path $(Agent.TempDirectory)/.source-index/tools displayName: "Source Index: Download netsourceindex Tools" # Set working directory to temp directory so 'dotnet' doesn't try to use global.json and use the repo's sdk. workingDirectory: $(Agent.TempDirectory) diff --git a/eng/common/native/install-dependencies.sh b/eng/common/native/install-dependencies.sh index 64b87d0bcc..11f81cbd40 100644 --- a/eng/common/native/install-dependencies.sh +++ b/eng/common/native/install-dependencies.sh @@ -27,7 +27,7 @@ case "$os" in libssl-dev libkrb5-dev pigz cpio localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 - elif [ "$ID" = "fedora" ] || [ "$ID" = "rhel" ] || [ "$ID" = "azurelinux" ] || [ "$ID" = "centos"]; then + elif [ "$ID" = "fedora" ] || [ "$ID" = "rhel" ] || [ "$ID" = "azurelinux" ] || [ "$ID" = "centos" ]; then pkg_mgr="$(command -v tdnf 2>/dev/null || command -v dnf)" $pkg_mgr install -y cmake llvm lld lldb clang python curl libicu-devel openssl-devel krb5-devel lttng-ust-devel pigz cpio elif [ "$ID" = "amzn" ]; then diff --git a/global.json b/global.json index 2135b5a10e..c63e0c41d6 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "tools": { - "dotnet": "10.0.102", + "dotnet": "11.0.100-alpha.1.26062.101", "runtimes": { "dotnet": [ "8.0.18", @@ -24,7 +24,7 @@ } }, "sdk": { - "version": "10.0.102", + "version": "11.0.100-alpha.1.26062.101", "paths": [ ".dotnet", "$host$" @@ -37,7 +37,7 @@ "runner": "Microsoft.Testing.Platform" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.25617.1", + "Microsoft.DotNet.Arcade.Sdk": "11.0.0-beta.26062.1", "MSBuild.Sdk.Extras": "3.0.44" } } diff --git a/src/Adapter/MSTest.Engine/Engine/TestArgumentsManager.cs b/src/Adapter/MSTest.Engine/Engine/TestArgumentsManager.cs index 604983472b..01ce2baed0 100644 --- a/src/Adapter/MSTest.Engine/Engine/TestArgumentsManager.cs +++ b/src/Adapter/MSTest.Engine/Engine/TestArgumentsManager.cs @@ -110,7 +110,7 @@ static void ExpandNodeWithArguments(TestNode testNode, object arguments, ref int if (arguments is not ITestArgumentsEntry testArgumentsEntry) { shouldWrapInParenthesis = !isIndexArgumentPropertiesProvider; - testArgumentsEntry = argumentPropertiesProvider(new(arguments, testNode))!; + testArgumentsEntry = argumentPropertiesProvider(new(arguments, testNode)); } string argumentFragmentUid = GetArgumentFragmentUid(testArgumentsEntry, shouldWrapInParenthesis); diff --git a/src/Adapter/MSTestAdapter.PlatformServices/Utilities/AssemblyUtility.cs b/src/Adapter/MSTestAdapter.PlatformServices/Utilities/AssemblyUtility.cs index 18ddbf8cd5..ccd9f1c586 100644 --- a/src/Adapter/MSTestAdapter.PlatformServices/Utilities/AssemblyUtility.cs +++ b/src/Adapter/MSTestAdapter.PlatformServices/Utilities/AssemblyUtility.cs @@ -143,7 +143,7 @@ internal virtual List GetSatelliteAssemblies(string assemblyPath) { // extension contains leading dot. string satellite = Path.ChangeExtension(assemblyFileName, "resources" + extension); - string satellitePath = Path.Combine(assemblyDir, Path.Combine(dir, satellite)); + string satellitePath = Path.Combine(assemblyDir, dir, satellite); // We don't use Assembly.LoadFrom/Assembly.GetSatelliteAssemblies because this is rather slow // (1620ms for 266 cultures when directories do not exist). diff --git a/src/Analyzers/MSTest.Analyzers.CodeFixes/UseExecuteAsyncOverrideFixer.cs b/src/Analyzers/MSTest.Analyzers.CodeFixes/UseExecuteAsyncOverrideFixer.cs index 846ec98fb3..3fc9624280 100644 --- a/src/Analyzers/MSTest.Analyzers.CodeFixes/UseExecuteAsyncOverrideFixer.cs +++ b/src/Analyzers/MSTest.Analyzers.CodeFixes/UseExecuteAsyncOverrideFixer.cs @@ -127,7 +127,7 @@ private static BlockSyntax TransformMethodBody(BlockSyntax body) { // Transform all return statements to return Task.FromResult(...) var transformer = new ReturnStatementTransformer(); - return (BlockSyntax)transformer.Visit(body)!; + return (BlockSyntax)transformer.Visit(body); } private static ArrowExpressionClauseSyntax TransformExpressionBody(ArrowExpressionClauseSyntax expressionBody) diff --git a/src/Analyzers/MSTest.Analyzers/RoslynAnalyzerHelpers/DiagnosticExtensions.cs b/src/Analyzers/MSTest.Analyzers/RoslynAnalyzerHelpers/DiagnosticExtensions.cs index dbed1d2ae6..c62e890828 100644 --- a/src/Analyzers/MSTest.Analyzers/RoslynAnalyzerHelpers/DiagnosticExtensions.cs +++ b/src/Analyzers/MSTest.Analyzers/RoslynAnalyzerHelpers/DiagnosticExtensions.cs @@ -214,7 +214,7 @@ public static void ReportNoLocationDiagnostic( else { RoslynDebug.Assert(s_syntaxTreeDiagnosticOptionsProperty != null); - var options = (ImmutableDictionary)s_syntaxTreeDiagnosticOptionsProperty.GetValue(tree)!; + var options = (ImmutableDictionary)s_syntaxTreeDiagnosticOptionsProperty.GetValue(tree); if (options.TryGetValue(rule.Id, out ReportDiagnostic value)) { configuredValue = value; diff --git a/src/Platform/Microsoft.Testing.Extensions.AzureFoundry/OpenAIChatClientProvider.cs b/src/Platform/Microsoft.Testing.Extensions.AzureFoundry/OpenAIChatClientProvider.cs index b1984c7328..eb69ae21cd 100644 --- a/src/Platform/Microsoft.Testing.Extensions.AzureFoundry/OpenAIChatClientProvider.cs +++ b/src/Platform/Microsoft.Testing.Extensions.AzureFoundry/OpenAIChatClientProvider.cs @@ -62,8 +62,8 @@ public Task CreateChatClientAsync(CancellationToken cancellationTok } var client = new AzureOpenAIClient( - new Uri(endpoint!), - new ApiKeyCredential(apiKey!)); + new Uri(endpoint), + new ApiKeyCredential(apiKey)); return Task.FromResult(client.GetChatClient(deploymentName).AsIChatClient()); } diff --git a/src/Platform/Microsoft.Testing.Extensions.HotReload/HotReloadHandler.cs b/src/Platform/Microsoft.Testing.Extensions.HotReload/HotReloadHandler.cs index 97723c4681..596ba62bcc 100644 --- a/src/Platform/Microsoft.Testing.Extensions.HotReload/HotReloadHandler.cs +++ b/src/Platform/Microsoft.Testing.Extensions.HotReload/HotReloadHandler.cs @@ -86,7 +86,7 @@ public async Task ShouldRunAsync(Task? waitExecutionCompletion, Cancellati if (waitExecutionCompletion is not null) { await waitExecutionCompletion.ConfigureAwait(false); - await _outputDevice!.DisplayAsync(_outputDeviceDataProducer, new TextOutputDeviceData(ExtensionResources.HotReloadSessionCompleted), cancellationToken).ConfigureAwait(false); + await _outputDevice.DisplayAsync(_outputDeviceDataProducer, new TextOutputDeviceData(ExtensionResources.HotReloadSessionCompleted), cancellationToken).ConfigureAwait(false); } try @@ -100,7 +100,7 @@ public async Task ShouldRunAsync(Task? waitExecutionCompletion, Cancellati if (!IsClearNotSupported()) { - _console!.Clear(); + _console.Clear(); } await _outputDevice.DisplayAsync(_outputDeviceDataProducer, new TextOutputDeviceData(ExtensionResources.HotReloadSessionStarted), cancellationToken).ConfigureAwait(false); diff --git a/src/Platform/Microsoft.Testing.Extensions.OpenTelemetry/OpenTelemetryPlatformService.cs b/src/Platform/Microsoft.Testing.Extensions.OpenTelemetry/OpenTelemetryPlatformService.cs index 6d84e8ceb8..11fe1b04ca 100644 --- a/src/Platform/Microsoft.Testing.Extensions.OpenTelemetry/OpenTelemetryPlatformService.cs +++ b/src/Platform/Microsoft.Testing.Extensions.OpenTelemetry/OpenTelemetryPlatformService.cs @@ -24,7 +24,7 @@ internal sealed class OpenTelemetryPlatformService : IPlatformOpenTelemetryServi public ICounter CreateCounter(string name, string? unit = null, string? description = null, IEnumerable>? tags = null) where T : struct - => new CounterWrapper(_meter.CreateCounter(name, unit, description, tags!)); + => new CounterWrapper(_meter.CreateCounter(name, unit, description, tags)); public IHistogram CreateHistogram(string name, string? unit = null, string? description = null, IEnumerable>? tags = null) where T : struct diff --git a/src/Platform/Microsoft.Testing.Extensions.VSTestBridge/ObjectModel/FastFilter.cs b/src/Platform/Microsoft.Testing.Extensions.VSTestBridge/ObjectModel/FastFilter.cs index 23b573df00..f7abeb7241 100644 --- a/src/Platform/Microsoft.Testing.Extensions.VSTestBridge/ObjectModel/FastFilter.cs +++ b/src/Platform/Microsoft.Testing.Extensions.VSTestBridge/ObjectModel/FastFilter.cs @@ -83,7 +83,7 @@ internal bool Evaluate(Func propertyValueProvider) string? result = null; if (PropertyValueRegexReplacement == null) { - Match match = PropertyValueRegex!.Match(value); + Match match = PropertyValueRegex.Match(value); if (match.Success) { result = match.Value; @@ -91,7 +91,7 @@ internal bool Evaluate(Func propertyValueProvider) } else { - result = PropertyValueRegex!.Replace(value, PropertyValueRegexReplacement); + result = PropertyValueRegex.Replace(value, PropertyValueRegexReplacement); } return result; diff --git a/src/Platform/Microsoft.Testing.Platform.MSBuild/Tasks/InvokeTestingPlatformTask.cs b/src/Platform/Microsoft.Testing.Platform.MSBuild/Tasks/InvokeTestingPlatformTask.cs index 5e0a563d39..57d47272d4 100644 --- a/src/Platform/Microsoft.Testing.Platform.MSBuild/Tasks/InvokeTestingPlatformTask.cs +++ b/src/Platform/Microsoft.Testing.Platform.MSBuild/Tasks/InvokeTestingPlatformTask.cs @@ -292,9 +292,9 @@ protected override string GenerateCommandLineCommands() // If we are not "dotnet.exe" and not "mono", then we are given an executable from user and we are running on Windows. builder.AppendSwitchIfNotNull($"--{MSBuildConstants.MSBuildNodeOptionKey} ", _pipeNameDescription.Name); - if (!string.IsNullOrEmpty(TestingPlatformCommandLineArguments?.ItemSpec)) + if (!RoslynString.IsNullOrEmpty(TestingPlatformCommandLineArguments?.ItemSpec)) { - builder.AppendTextUnquoted($" {TestingPlatformCommandLineArguments!.ItemSpec} "); + builder.AppendTextUnquoted($" {TestingPlatformCommandLineArguments.ItemSpec} "); } if (VSTestCLIRunSettings?.Length > 0) diff --git a/src/Platform/Microsoft.Testing.Platform/Messages/PropertyBag.cs b/src/Platform/Microsoft.Testing.Platform/Messages/PropertyBag.cs index 9526ea0d4b..7a11f8dbbe 100644 --- a/src/Platform/Microsoft.Testing.Platform/Messages/PropertyBag.cs +++ b/src/Platform/Microsoft.Testing.Platform/Messages/PropertyBag.cs @@ -203,7 +203,7 @@ public bool Any() return default; } - TProperty property = enumerator.Current!; + TProperty property = enumerator.Current; return enumerator.MoveNext() ? throw new InvalidOperationException($"Found multiple properties of type '{typeof(TProperty)}'.") : property; diff --git a/src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/TestProgressState.cs b/src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/TestProgressState.cs index 489654cc0e..c792c8beee 100644 --- a/src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/TestProgressState.cs +++ b/src/Platform/Microsoft.Testing.Platform/OutputDevice/Terminal/TestProgressState.cs @@ -14,7 +14,7 @@ public TestProgressState(long id, string assembly, string? targetFramework, stri TargetFramework = targetFramework; Architecture = architecture; Stopwatch = stopwatch; - AssemblyName = Path.GetFileName(assembly)!; + AssemblyName = Path.GetFileName(assembly); IsDiscovery = isDiscovery; } diff --git a/src/Platform/Microsoft.Testing.Platform/ServerMode/JsonRpc/PassiveNode.cs b/src/Platform/Microsoft.Testing.Platform/ServerMode/JsonRpc/PassiveNode.cs index 931755233f..ea6237ce3f 100644 --- a/src/Platform/Microsoft.Testing.Platform/ServerMode/JsonRpc/PassiveNode.cs +++ b/src/Platform/Microsoft.Testing.Platform/ServerMode/JsonRpc/PassiveNode.cs @@ -56,7 +56,7 @@ public async Task ConnectAsync() // Log the message if (_logger.IsEnabled(LogLevel.Trace)) { - await _logger.LogTraceAsync(message!.ToString()).ConfigureAwait(false); + await _logger.LogTraceAsync(message.ToString()).ConfigureAwait(false); } var requestMessage = (RequestMessage)message; diff --git a/src/TestFramework/TestFramework/Assertions/Assert.IsExactInstanceOfType.cs b/src/TestFramework/TestFramework/Assertions/Assert.IsExactInstanceOfType.cs index 3704b5072d..144f17cdbe 100644 --- a/src/TestFramework/TestFramework/Assertions/Assert.IsExactInstanceOfType.cs +++ b/src/TestFramework/TestFramework/Assertions/Assert.IsExactInstanceOfType.cs @@ -311,7 +311,7 @@ public static void IsExactInstanceOfType([NotNull] object? value, [NotNull] Type public static T IsExactInstanceOfType([NotNull] object? value, string? message = "", [CallerArgumentExpression(nameof(value))] string valueExpression = "") { IsExactInstanceOfType(value, typeof(T), message, valueExpression); - return (T)value!; + return (T)value; } /// diff --git a/src/TestFramework/TestFramework/Assertions/Assert.That.cs b/src/TestFramework/TestFramework/Assertions/Assert.That.cs index 99d1e3a882..e13c803967 100644 --- a/src/TestFramework/TestFramework/Assertions/Assert.That.cs +++ b/src/TestFramework/TestFramework/Assertions/Assert.That.cs @@ -56,7 +56,9 @@ public static void That(Expression> condition, string? message = null } } +#pragma warning disable IDE0051 // Remove unused private members - false positive private static string ExtractDetails(Expression expr) +#pragma warning restore IDE0051 // Remove unused private members { var details = new Dictionary(); ExtractVariablesFromExpression(expr, details); @@ -691,7 +693,7 @@ private static string CleanExcessiveParentheses(string input) // Keep at most 2 consecutive parentheses int keepCount = Math.Min(count, 2); - result.Append(new string(currentChar, keepCount)); + result.Append(currentChar, keepCount); i += count; } else diff --git a/src/TestFramework/TestFramework/Attributes/DataSource/DynamicDataOperations.cs b/src/TestFramework/TestFramework/Attributes/DataSource/DynamicDataOperations.cs index b3990377c7..4ce72a026f 100644 --- a/src/TestFramework/TestFramework/Attributes/DataSource/DynamicDataOperations.cs +++ b/src/TestFramework/TestFramework/Attributes/DataSource/DynamicDataOperations.cs @@ -155,7 +155,7 @@ private static bool TryGetData(object dataSource, [NotNullWhen(true)] out IEnume List objects = []; foreach (object? entry in enumerable) { - objects.Add([entry!]); + objects.Add([entry]); } data = objects; diff --git a/src/TestFramework/TestFramework/Logger.cs b/src/TestFramework/TestFramework/Logger.cs index 05cb517d63..8d2937baa5 100644 --- a/src/TestFramework/TestFramework/Logger.cs +++ b/src/TestFramework/TestFramework/Logger.cs @@ -46,7 +46,7 @@ public static void LogMessage(string format, params object?[] args) { try { - invoker.GetMethodInfo()!.Invoke(invoker.Target, parameters); + invoker.GetMethodInfo().Invoke(invoker.Target, parameters); } catch (Exception) { diff --git a/test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/HangDumpTests.cs b/test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/HangDumpTests.cs index 9cccbce075..c7c7b86344 100644 --- a/test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/HangDumpTests.cs +++ b/test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/HangDumpTests.cs @@ -42,8 +42,7 @@ public async Task HangDump_WithDotnetTest_CreateDump() failIfReturnValueIsNotZero: false, cancellationToken: TestContext.CancellationToken); - // This should be TestHostProcessExitedNonGracefully instead of GenericFailure. This will likely be fixed by https://github.com/dotnet/sdk/pull/51857 - testResult.AssertExitCodeIs(ExitCodes.GenericFailure); + testResult.AssertExitCodeIs(ExitCodes.TestHostProcessExitedNonGracefully); string[] dumpFiles = Directory.GetFiles(resultDirectory, "HangDump*.dmp", SearchOption.AllDirectories); Assert.ContainsSingle(dumpFiles, $"Expected single dump file. Found: {Environment.NewLine}{string.Join(Environment.NewLine, dumpFiles)}{Environment.NewLine}{testResult}"); } diff --git a/test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/TrxTests.cs b/test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/TrxTests.cs index cb35c85bfe..9715658b9f 100644 --- a/test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/TrxTests.cs +++ b/test/IntegrationTests/Microsoft.Testing.Platform.Acceptance.IntegrationTests/TrxTests.cs @@ -69,8 +69,7 @@ public async Task Trx_WhenTestHostCrash_RunningUnderDotnetTest_ErrorIsDisplayedI failIfReturnValueIsNotZero: false, cancellationToken: TestContext.CancellationToken); - // This should be TestHostProcessExitedNonGracefully instead of GenericFailure. This will likely be fixed by https://github.com/dotnet/sdk/pull/51857 - result.AssertExitCodeIs(ExitCodes.GenericFailure); + result.AssertExitCodeIs(ExitCodes.TestHostProcessExitedNonGracefully); string trxFile = Directory.GetFiles(testResultsPath, $"{fileName}.trx", SearchOption.AllDirectories).Single(); string trxContent = File.ReadAllText(trxFile); diff --git a/test/IntegrationTests/PlatformServices.Desktop.IntegrationTests/ReflectionUtilityTests.cs b/test/IntegrationTests/PlatformServices.Desktop.IntegrationTests/ReflectionUtilityTests.cs index 6d65e28527..e8202aedbc 100644 --- a/test/IntegrationTests/PlatformServices.Desktop.IntegrationTests/ReflectionUtilityTests.cs +++ b/test/IntegrationTests/PlatformServices.Desktop.IntegrationTests/ReflectionUtilityTests.cs @@ -37,7 +37,7 @@ public ReflectionUtilityTests() public void GetCustomAttributesShouldReturnAllAttributes() { - MethodInfo methodInfo = _testAsset.GetType("TestProjectForDiscovery.AttributeTestBaseClass").GetMethod("DummyVTestMethod1")!; + MethodInfo methodInfo = _testAsset.GetType("TestProjectForDiscovery.AttributeTestBaseClass").GetMethod("DummyVTestMethod1"); IReadOnlyList attributes = ReflectionUtility.GetCustomAttributes(methodInfo); @@ -50,7 +50,7 @@ public void GetCustomAttributesShouldReturnAllAttributes() public void GetCustomAttributesShouldReturnAllAttributesWithBaseInheritance() { - MethodInfo methodInfo = _testAsset.GetType("TestProjectForDiscovery.AttributeTestClass").GetMethod("DummyVTestMethod1")!; + MethodInfo methodInfo = _testAsset.GetType("TestProjectForDiscovery.AttributeTestClass").GetMethod("DummyVTestMethod1"); IReadOnlyList attributes = ReflectionUtility.GetCustomAttributes(methodInfo); @@ -90,7 +90,7 @@ public void GetCustomAttributesOnTypeShouldReturnAllAttributesWithBaseInheritanc public void GetSpecificCustomAttributesShouldReturnAllAttributes() { - MethodInfo methodInfo = _testAsset.GetType("TestProjectForDiscovery.AttributeTestBaseClass").GetMethod("DummyVTestMethod1")!; + MethodInfo methodInfo = _testAsset.GetType("TestProjectForDiscovery.AttributeTestBaseClass").GetMethod("DummyVTestMethod1"); IReadOnlyList attributes = ReflectionUtility.GetCustomAttributesCore(methodInfo, typeof(TestCategoryAttribute)); @@ -104,7 +104,7 @@ public void GetSpecificCustomAttributesShouldReturnAllAttributes() public void GetSpecificCustomAttributesShouldReturnAllAttributesWithBaseInheritance() { MethodInfo methodInfo = - _testAsset.GetType("TestProjectForDiscovery.AttributeTestClass").GetMethod("DummyVTestMethod1")!; + _testAsset.GetType("TestProjectForDiscovery.AttributeTestClass").GetMethod("DummyVTestMethod1"); IReadOnlyList attributes = ReflectionUtility.GetCustomAttributesCore(methodInfo, typeof(TestCategoryAttribute)); @@ -117,7 +117,7 @@ public void GetSpecificCustomAttributesShouldReturnAllAttributesWithBaseInherita public void GetCustomAttributesShouldReturnAllAttributesIncludingUserDefinedAttributes() { - MethodInfo methodInfo = _testAsset.GetType("TestProjectForDiscovery.AttributeTestClassWithCustomAttributes").GetMethod("DummyVTestMethod1")!; + MethodInfo methodInfo = _testAsset.GetType("TestProjectForDiscovery.AttributeTestClassWithCustomAttributes").GetMethod("DummyVTestMethod1"); IReadOnlyList attributes = ReflectionUtility.GetCustomAttributesCore(methodInfo, null); @@ -130,7 +130,7 @@ public void GetCustomAttributesShouldReturnAllAttributesIncludingUserDefinedAttr public void GetSpecificCustomAttributesShouldReturnAllAttributesIncludingUserDefinedAttributes() { - MethodInfo methodInfo = _testAsset.GetType("TestProjectForDiscovery.AttributeTestClassWithCustomAttributes").GetMethod("DummyVTestMethod1")!; + MethodInfo methodInfo = _testAsset.GetType("TestProjectForDiscovery.AttributeTestClassWithCustomAttributes").GetMethod("DummyVTestMethod1"); IReadOnlyList attributes = ReflectionUtility.GetCustomAttributesCore(methodInfo, typeof(TestPropertyAttribute)); @@ -143,7 +143,7 @@ public void GetSpecificCustomAttributesShouldReturnAllAttributesIncludingUserDef public void GetSpecificCustomAttributesShouldReturnArrayAttributesAsWell() { - MethodInfo methodInfo = _testAsset.GetType("TestProjectForDiscovery.AttributeTestClassWithCustomAttributes").GetMethod("DummyTestMethod2")!; + MethodInfo methodInfo = _testAsset.GetType("TestProjectForDiscovery.AttributeTestClassWithCustomAttributes").GetMethod("DummyTestMethod2"); IReadOnlyList attributes = ReflectionUtility.GetCustomAttributesCore(methodInfo, typeof(CategoryArrayAttribute)); diff --git a/test/UnitTests/MSTestAdapter.PlatformServices.UnitTests/Utilities/DeploymentUtilityTests.cs b/test/UnitTests/MSTestAdapter.PlatformServices.UnitTests/Utilities/DeploymentUtilityTests.cs index a41d480c3e..e5b4e16018 100644 --- a/test/UnitTests/MSTestAdapter.PlatformServices.UnitTests/Utilities/DeploymentUtilityTests.cs +++ b/test/UnitTests/MSTestAdapter.PlatformServices.UnitTests/Utilities/DeploymentUtilityTests.cs @@ -420,7 +420,7 @@ public void CreateDeploymentDirectoriesShouldCreateDeploymentDirectoryFromRunCon _mockFileUtility.Verify(fu => fu.CreateDirectoryIfNotExists(RootDeploymentDirectory), Times.Once); _mockFileUtility.Verify(fu => fu.CreateDirectoryIfNotExists(Path.Combine(RootDeploymentDirectory, TestRunDirectories.DeploymentInDirectorySuffix)), Times.Once); _mockFileUtility.Verify(fu => fu.CreateDirectoryIfNotExists(RootDeploymentDirectory), Times.Once); - _mockFileUtility.Verify(fu => fu.CreateDirectoryIfNotExists(Path.Combine(Path.Combine(RootDeploymentDirectory, TestRunDirectories.DeploymentInDirectorySuffix), Environment.MachineName)), Times.Once); + _mockFileUtility.Verify(fu => fu.CreateDirectoryIfNotExists(Path.Combine(RootDeploymentDirectory, TestRunDirectories.DeploymentInDirectorySuffix, Environment.MachineName)), Times.Once); } public void CreateDeploymentDirectoriesShouldCreateDefaultDeploymentDirectoryIfTestRunDirectoryIsNull() @@ -437,7 +437,7 @@ public void CreateDeploymentDirectoriesShouldCreateDefaultDeploymentDirectoryIfT _mockFileUtility.Verify(fu => fu.CreateDirectoryIfNotExists(RootDeploymentDirectory), Times.Once); _mockFileUtility.Verify(fu => fu.CreateDirectoryIfNotExists(Path.Combine(RootDeploymentDirectory, TestRunDirectories.DeploymentInDirectorySuffix)), Times.Once); _mockFileUtility.Verify(fu => fu.CreateDirectoryIfNotExists(RootDeploymentDirectory), Times.Once); - _mockFileUtility.Verify(fu => fu.CreateDirectoryIfNotExists(Path.Combine(Path.Combine(RootDeploymentDirectory, TestRunDirectories.DeploymentInDirectorySuffix), Environment.MachineName)), Times.Once); + _mockFileUtility.Verify(fu => fu.CreateDirectoryIfNotExists(Path.Combine(RootDeploymentDirectory, TestRunDirectories.DeploymentInDirectorySuffix, Environment.MachineName)), Times.Once); } public void CreateDeploymentDirectoriesShouldCreateDefaultDeploymentDirectoryIfRunContextIsNull() @@ -453,7 +453,7 @@ public void CreateDeploymentDirectoriesShouldCreateDefaultDeploymentDirectoryIfR _mockFileUtility.Verify(fu => fu.CreateDirectoryIfNotExists(RootDeploymentDirectory), Times.Once); _mockFileUtility.Verify(fu => fu.CreateDirectoryIfNotExists(Path.Combine(RootDeploymentDirectory, TestRunDirectories.DeploymentInDirectorySuffix)), Times.Once); _mockFileUtility.Verify(fu => fu.CreateDirectoryIfNotExists(RootDeploymentDirectory), Times.Once); - _mockFileUtility.Verify(fu => fu.CreateDirectoryIfNotExists(Path.Combine(Path.Combine(RootDeploymentDirectory, TestRunDirectories.DeploymentInDirectorySuffix), Environment.MachineName)), Times.Once); + _mockFileUtility.Verify(fu => fu.CreateDirectoryIfNotExists(Path.Combine(RootDeploymentDirectory, TestRunDirectories.DeploymentInDirectorySuffix, Environment.MachineName)), Times.Once); } #endregion diff --git a/test/Utilities/Microsoft.Testing.TestInfrastructure/TestAsset.cs b/test/Utilities/Microsoft.Testing.TestInfrastructure/TestAsset.cs index 4f9f28a31f..61b0849333 100644 --- a/test/Utilities/Microsoft.Testing.TestInfrastructure/TestAsset.cs +++ b/test/Utilities/Microsoft.Testing.TestInfrastructure/TestAsset.cs @@ -133,6 +133,7 @@ public static string GetNuGetConfig(bool addPublicFeeds = false, bool addHashFil + @@ -154,6 +155,9 @@ public static string GetNuGetConfig(bool addPublicFeeds = false, bool addHashFil + + +