From 65c1fd3dfe31b5e28b2394b6496bae5568296723 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Jare=C5=A1?= Date: Fri, 4 Sep 2020 11:46:14 +0200 Subject: [PATCH] Do not force .NET4.5 in case legacy test settings are provided (#2545) * Do not force .NET4.5 in case legacy test settings are provided * Net core app * Fix runconfig * Default platform --- .../MSTestSettingsUtilities.cs | 12 +------ .../RunSettingsArgumentProcessor.cs | 2 +- .../MSTestSettingsUtilitiesTests.cs | 33 ++++++++++--------- .../RunSettingsArgumentProcessorTests.cs | 20 ++++++++++- 4 files changed, 39 insertions(+), 28 deletions(-) diff --git a/src/Microsoft.TestPlatform.Utilities/MSTestSettingsUtilities.cs b/src/Microsoft.TestPlatform.Utilities/MSTestSettingsUtilities.cs index 08ccbe1c82..bd3a22be5c 100644 --- a/src/Microsoft.TestPlatform.Utilities/MSTestSettingsUtilities.cs +++ b/src/Microsoft.TestPlatform.Utilities/MSTestSettingsUtilities.cs @@ -25,12 +25,10 @@ public static class MSTestSettingsUtilities /// Settings file which need to be imported. The file extension of the settings file will be specified by property. /// /// Input RunSettings document to which settings file need to be imported. - /// The architecture. - /// The framework Version. /// Updated RunSetting Xml document with imported settings. [SuppressMessage("Microsoft.Security.Xml", "CA3053:UseXmlSecureResolver", Justification = "XmlDocument.XmlResolver is not available in core. Suppress until fxcop issue is fixed.")] - public static XmlDocument Import(string settingsFile, XmlDocument defaultRunSettings, Architecture architecture, FrameworkVersion frameworkVersion) + public static XmlDocument Import(string settingsFile, XmlDocument defaultRunSettings) { ValidateArg.NotNull(settingsFile, "settingsFile"); ValidateArg.NotNull(defaultRunSettings, "defaultRunSettings"); @@ -57,14 +55,6 @@ public static XmlDocument Import(string settingsFile, XmlDocument defaultRunSett var doc = new XmlDocument(); var runConfigurationNode = doc.CreateElement(Constants.RunConfigurationSettingsName); - var targetPlatformNode = doc.CreateElement("TargetPlatform"); - targetPlatformNode.InnerXml = architecture.ToString(); - runConfigurationNode.AppendChild(targetPlatformNode); - - var targetFrameworkVersionNode = doc.CreateElement("TargetFrameworkVersion"); - targetFrameworkVersionNode.InnerXml = frameworkVersion.ToString(); - runConfigurationNode.AppendChild(targetFrameworkVersionNode); - defaultRunSettings.DocumentElement.PrependChild(defaultRunSettings.ImportNode(runConfigurationNode, true)); } diff --git a/src/vstest.console/Processors/RunSettingsArgumentProcessor.cs b/src/vstest.console/Processors/RunSettingsArgumentProcessor.cs index 4b7d903567..ce59e7fc13 100644 --- a/src/vstest.console/Processors/RunSettingsArgumentProcessor.cs +++ b/src/vstest.console/Processors/RunSettingsArgumentProcessor.cs @@ -199,7 +199,7 @@ private XmlDocument GetRunSettingsDocument(string runSettingsFile) else { runSettingsDocument = XmlRunSettingsUtilities.CreateDefaultRunSettings(); - runSettingsDocument = MSTestSettingsUtilities.Import(runSettingsFile, runSettingsDocument, Architecture.X86, FrameworkVersion.Framework45); + runSettingsDocument = MSTestSettingsUtilities.Import(runSettingsFile, runSettingsDocument); } return runSettingsDocument; diff --git a/test/Microsoft.TestPlatform.Utilities.UnitTests/MSTestSettingsUtilitiesTests.cs b/test/Microsoft.TestPlatform.Utilities.UnitTests/MSTestSettingsUtilitiesTests.cs index 4e654b2a85..567454ac92 100644 --- a/test/Microsoft.TestPlatform.Utilities.UnitTests/MSTestSettingsUtilitiesTests.cs +++ b/test/Microsoft.TestPlatform.Utilities.UnitTests/MSTestSettingsUtilitiesTests.cs @@ -8,7 +8,6 @@ namespace Microsoft.TestPlatform.Utilities.Tests using Microsoft.VisualStudio.TestPlatform.Utilities; using Microsoft.VisualStudio.TestTools.UnitTesting; - using VisualStudio.TestPlatform.ObjectModel; using MSTest.TestFramework.AssertExtensions; [TestClass] @@ -49,9 +48,7 @@ public void ImportShouldThrowIfNotLegacySettingsFile() () => MSTestSettingsUtilities.Import( "C:\\temp\\r.runsettings", - xmlDocument, - Architecture.X86, - FrameworkVersion.Framework45); + xmlDocument); Assert.That.Throws(action).WithMessage("Unexpected settings file specified."); } @@ -66,9 +63,7 @@ public void ImportShouldThrowIfDefaultRunSettingsIsIncorrect() () => MSTestSettingsUtilities.Import( "C:\\temp\\r.testsettings", - xmlDocument, - Architecture.X86, - FrameworkVersion.Framework45); + xmlDocument); Assert.That.Throws(action).WithMessage("Could not find 'RunSettings' node."); } @@ -80,14 +75,18 @@ public void ImportShouldEmbedTestSettingsInformation() xmlDocument.LoadXml(defaultRunSettingsXml); var finalxPath = MSTestSettingsUtilities.Import( "C:\\temp\\r.testsettings", - xmlDocument, - Architecture.X86, - FrameworkVersion.Framework45); + xmlDocument); var finalSettingsXml = finalxPath.CreateNavigator().OuterXml; var expectedSettingsXml = - "\r\n \r\n C:\\temp\\r.testsettings\r\n true\r\n \r\n \r\n"; + "\r\n" + + " \r\n" + + " C:\\temp\\r.testsettings\r\n" + + " true\r\n" + + " \r\n" + + " \r\n" + + ""; Assert.AreEqual(expectedSettingsXml, finalSettingsXml); } @@ -100,14 +99,18 @@ public void ImportShouldEmbedTestSettingsAndDefaultRunConfigurationInformation() xmlDocument.LoadXml(defaultRunSettingsXml); var finalxPath = MSTestSettingsUtilities.Import( "C:\\temp\\r.testsettings", - xmlDocument, - Architecture.X86, - FrameworkVersion.Framework45); + xmlDocument); var finalSettingsXml = finalxPath.CreateNavigator().OuterXml; var expectedSettingsXml = - "\r\n \r\n X86\r\n Framework45\r\n \r\n \r\n C:\\temp\\r.testsettings\r\n true\r\n \r\n"; + "\r\n" + + " \r\n" + + " \r\n" + + " C:\\temp\\r.testsettings\r\n" + + " true\r\n" + + " \r\n" + + ""; Assert.AreEqual(expectedSettingsXml, finalSettingsXml); } diff --git a/test/vstest.console.UnitTests/Processors/RunSettingsArgumentProcessorTests.cs b/test/vstest.console.UnitTests/Processors/RunSettingsArgumentProcessorTests.cs index 838f76fc6e..ccfaded2e8 100644 --- a/test/vstest.console.UnitTests/Processors/RunSettingsArgumentProcessorTests.cs +++ b/test/vstest.console.UnitTests/Processors/RunSettingsArgumentProcessorTests.cs @@ -235,9 +235,27 @@ public void InitializeShouldSetActiveRunSettingsForTestSettingsFiles() // Act. executor.Initialize(fileName); + // Assert. Assert.IsNotNull(this.settingsProvider.ActiveRunSettings); - StringAssert.Contains(this.settingsProvider.ActiveRunSettings.SettingsXml, $"\r\n\r\n \r\n {Constants.DefaultPlatform}\r\n {Framework.FromString(FrameworkVersion.Framework45.ToString()).Name}\r\n {Constants.DefaultResultsDirectory}\r\n \r\n \r\n C:\\temp\\r.testsettings\r\n true\r\n \r\n \r\n \r\n \r\n"); + + var expected = + $"\r\n" + + $"\r\n" + + $" \r\n" + + $" {Constants.DefaultResultsDirectory}\r\n" + + $" {Constants.DefaultPlatform}\r\n" + + $" {Framework.DefaultFramework.Name}\r\n" + + $" \r\n" + + $" \r\n" + + $" C:\\temp\\r.testsettings\r\n" + + $" true\r\n" + + $" \r\n" + + $" \r\n" + + $" \r\n" + + $" \r\n" + + $""; + StringAssert.Contains(this.settingsProvider.ActiveRunSettings.SettingsXml, expected); }