From d9a13fa007530158062712196076d1c4859cc3aa Mon Sep 17 00:00:00 2001 From: nohwnd Date: Thu, 27 Aug 2020 17:54:52 +0200 Subject: [PATCH 1/4] Do not force .NET4.5 in case legacy test settings are provided --- .../MSTestSettingsUtilities.cs | 12 +----------- .../Processors/RunSettingsArgumentProcessor.cs | 2 +- .../MSTestSettingsUtilitiesTests.cs | 18 +++++------------- 3 files changed, 7 insertions(+), 25 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..8f40b504d8 100644 --- a/test/Microsoft.TestPlatform.Utilities.UnitTests/MSTestSettingsUtilitiesTests.cs +++ b/test/Microsoft.TestPlatform.Utilities.UnitTests/MSTestSettingsUtilitiesTests.cs @@ -49,9 +49,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 +64,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,9 +76,7 @@ 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; @@ -100,14 +94,12 @@ 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 C:\\temp\\r.testsettings\r\n true\r\n \r\n"; Assert.AreEqual(expectedSettingsXml, finalSettingsXml); } From 002b75bde12c3fdc0c691abe9b6a497bc98005cd Mon Sep 17 00:00:00 2001 From: nohwnd Date: Fri, 4 Sep 2020 09:14:08 +0200 Subject: [PATCH 2/4] Net core app --- .../Processors/RunSettingsArgumentProcessorTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/vstest.console.UnitTests/Processors/RunSettingsArgumentProcessorTests.cs b/test/vstest.console.UnitTests/Processors/RunSettingsArgumentProcessorTests.cs index 838f76fc6e..698ea12db0 100644 --- a/test/vstest.console.UnitTests/Processors/RunSettingsArgumentProcessorTests.cs +++ b/test/vstest.console.UnitTests/Processors/RunSettingsArgumentProcessorTests.cs @@ -237,7 +237,7 @@ public void InitializeShouldSetActiveRunSettingsForTestSettingsFiles() // 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"); + StringAssert.Contains(this.settingsProvider.ActiveRunSettings.SettingsXml, $"\r\n\r\n \r\n .NETCoreApp,Version=v1.0\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"); } From 91988a286c3a3c007f858f213bd71347cddae6a3 Mon Sep 17 00:00:00 2001 From: nohwnd Date: Fri, 4 Sep 2020 10:12:45 +0200 Subject: [PATCH 3/4] Fix runconfig --- .../MSTestSettingsUtilitiesTests.cs | 17 +++++++++++++--- .../RunSettingsArgumentProcessorTests.cs | 20 ++++++++++++++++++- 2 files changed, 33 insertions(+), 4 deletions(-) diff --git a/test/Microsoft.TestPlatform.Utilities.UnitTests/MSTestSettingsUtilitiesTests.cs b/test/Microsoft.TestPlatform.Utilities.UnitTests/MSTestSettingsUtilitiesTests.cs index 8f40b504d8..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] @@ -81,7 +80,13 @@ public void ImportShouldEmbedTestSettingsInformation() 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); } @@ -99,7 +104,13 @@ public void ImportShouldEmbedTestSettingsAndDefaultRunConfigurationInformation() 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" + + ""; Assert.AreEqual(expectedSettingsXml, finalSettingsXml); } diff --git a/test/vstest.console.UnitTests/Processors/RunSettingsArgumentProcessorTests.cs b/test/vstest.console.UnitTests/Processors/RunSettingsArgumentProcessorTests.cs index 698ea12db0..01c0fdd0be 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 .NETCoreApp,Version=v1.0\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" + + $" X86\r\n" + + $" .NETCoreApp,Version=v1.0\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); } From 6f9cc9787729d28f2092de19b429503cd7265163 Mon Sep 17 00:00:00 2001 From: nohwnd Date: Fri, 4 Sep 2020 10:44:13 +0200 Subject: [PATCH 4/4] Default platform --- .../Processors/RunSettingsArgumentProcessorTests.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/vstest.console.UnitTests/Processors/RunSettingsArgumentProcessorTests.cs b/test/vstest.console.UnitTests/Processors/RunSettingsArgumentProcessorTests.cs index 01c0fdd0be..ccfaded2e8 100644 --- a/test/vstest.console.UnitTests/Processors/RunSettingsArgumentProcessorTests.cs +++ b/test/vstest.console.UnitTests/Processors/RunSettingsArgumentProcessorTests.cs @@ -244,8 +244,8 @@ public void InitializeShouldSetActiveRunSettingsForTestSettingsFiles() $"\r\n" + $" \r\n" + $" {Constants.DefaultResultsDirectory}\r\n" + - $" X86\r\n" + - $" .NETCoreApp,Version=v1.0\r\n" + + $" {Constants.DefaultPlatform}\r\n" + + $" {Framework.DefaultFramework.Name}\r\n" + $" \r\n" + $" \r\n" + $" C:\\temp\\r.testsettings\r\n" +