public void UpdateRunSettingsShouldReturnBackACompleteRunSettings() { var settings = @"<RunSettings></RunSettings>"; var xmlDocument = this.GetXmlDocument(settings); InferRunSettingsHelper.UpdateRunSettingsWithUserProvidedSwitches(xmlDocument, Architecture.X64, Framework.DefaultFramework, "temp"); var xml = xmlDocument.OuterXml; var expectedRunSettings = string.Format("<RunSettings><RunConfiguration><ResultsDirectory>temp</ResultsDirectory><TargetPlatform>X64</TargetPlatform><TargetFrameworkVersion>{0}</TargetFrameworkVersion></RunConfiguration></RunSettings>", Framework.DefaultFramework.Name); Assert.AreEqual(expectedRunSettings, xml); }
public void UpdateRunSettingsShouldThrowIfFrameworkNodeIsInvalid() { var settings = @"<RunSettings><RunConfiguration><TargetFrameworkVersion>foo</TargetFrameworkVersion></RunConfiguration></RunSettings>"; var navigator = this.GetNavigator(settings); Action action = () => InferRunSettingsHelper.UpdateRunSettingsWithUserProvidedSwitches(navigator, Architecture.X86, Framework.DefaultFramework, "temp"); ExceptionUtilities.ThrowsException <XmlException>( action, "An error occurred while loading the settings. Error: {0}.", string.Format("Invalid setting '{0}'. Invalid value '{1}' specified for '{2}'", "RunConfiguration", "foo", "TargetFrameworkVersion")); }
public void UpdateRunSettingsShouldThrowIfRunSettingsNodeDoesNotExist() { var settings = @"<RandomSettings></RandomSettings>"; var navigator = this.GetNavigator(settings); Action action = () => InferRunSettingsHelper.UpdateRunSettingsWithUserProvidedSwitches(navigator, Architecture.X86, Framework.DefaultFramework, "temp"); ExceptionUtilities.ThrowsException <XmlException>( action, "An error occurred while loading the settings. Error: {0}.", "Could not find 'RunSettings' node."); }
public void UpdateRunSettingsShouldThrowIfArchitectureSetIsIncompatibleWithCurrentSystemArchitecture() { var settings = @"<RunSettings></RunSettings>"; var navigator = this.GetNavigator(settings); Action action = () => InferRunSettingsHelper.UpdateRunSettingsWithUserProvidedSwitches(navigator, Architecture.ARM, Framework.DefaultFramework, "temp"); Assert.That.Throws <SettingsException>(action) .WithMessage(string.Format( "Incompatible Target platform settings '{0}' with system architecture '{1}'.", "ARM", XmlRunSettingsUtilities.OSArchitecture.ToString())); }
public void UpdateRunSettingsWithAnEmptyRunSettingsShouldAddValuesSpecifiedInRunConfiguration() { var settings = @"<RunSettings></RunSettings>"; var navigator = this.GetNavigator(settings); InferRunSettingsHelper.UpdateRunSettingsWithUserProvidedSwitches(navigator, Architecture.X64, Framework.DefaultFramework, "temp"); var xml = navigator.OuterXml; StringAssert.Contains(xml, "<TargetPlatform>X64</TargetPlatform>"); StringAssert.Contains(xml, $"<TargetFrameworkVersion>{Framework.DefaultFramework.Name}</TargetFrameworkVersion>"); StringAssert.Contains(xml, "<ResultsDirectory>temp</ResultsDirectory>"); }
public void UpdateRunSettingsShouldNotUpdatePlatformOrFrameworkOrResultsDirectoryIfRunSettingsAlreadyHasIt() { var settings = @"<RunSettings><RunConfiguration><TargetPlatform>X86</TargetPlatform><TargetFrameworkVersion>Framework40</TargetFrameworkVersion><ResultsDirectory>someplace</ResultsDirectory></RunConfiguration></RunSettings>"; var navigator = this.GetNavigator(settings); InferRunSettingsHelper.UpdateRunSettingsWithUserProvidedSwitches(navigator, Architecture.X64, Framework.DefaultFramework, "temp"); var xml = navigator.OuterXml; StringAssert.Contains(xml, "<TargetPlatform>X86</TargetPlatform>"); StringAssert.Contains(xml, "<TargetFrameworkVersion>Framework40</TargetFrameworkVersion>"); StringAssert.Contains(xml, "<ResultsDirectory>someplace</ResultsDirectory>"); }
public void UpdateRunSettingsShouldThrowIfFrameworkNodeIsInvalid() { var settings = @"<RunSettings><RunConfiguration><TargetFrameworkVersion>foo</TargetFrameworkVersion></RunConfiguration></RunSettings>"; var xmlDocument = this.GetXmlDocument(settings); Action action = () => InferRunSettingsHelper.UpdateRunSettingsWithUserProvidedSwitches(xmlDocument, Architecture.X86, Framework.DefaultFramework, "temp"); Assert.That.Throws <XmlException>(action) .WithMessage(string.Format("An error occurred while loading the settings. Error: {0}.", string.Format("Invalid setting '{0}'. Invalid value '{1}' specified for '{2}'", "RunConfiguration", "foo", "TargetFrameworkVersion"))); }
private static string AddDefaultRunSettings(string runSettings) { var architecture = Constants.DefaultPlatform; var framework = Framework.DefaultFramework; var defaultResultsDirectory = Path.Combine(Directory.GetCurrentDirectory(), Constants.ResultsDirectoryName); using (var stream = new StringReader(runSettings)) using (var reader = XmlReader.Create(stream, XmlRunSettingsUtilities.ReaderSettings)) { var document = new XmlDocument(); document.Load(reader); InferRunSettingsHelper.UpdateRunSettingsWithUserProvidedSwitches(document, architecture, framework, defaultResultsDirectory); return(document.OuterXml); } }