Exemplo n.º 1
0
        private IXPathNavigable GetRunSettingsDocument(string runSettingsFile)
        {
            IXPathNavigable runSettingsDocument;

            if (!MSTestSettingsUtilities.IsLegacyTestSettingsFile(runSettingsFile))
            {
                using (XmlReader reader = this.GetReaderForFile(runSettingsFile))
                {
                    var settingsDocument = new XmlDocument();
                    settingsDocument.Load(reader);
                    ClientUtilities.FixRelativePathsInRunSettings(settingsDocument, runSettingsFile);
#if NET451
                    runSettingsDocument = settingsDocument;
#else
                    runSettingsDocument = settingsDocument.ToXPathNavigable();
#endif
                }
            }
            else
            {
                runSettingsDocument = XmlRunSettingsUtilities.CreateDefaultRunSettings();
                runSettingsDocument = MSTestSettingsUtilities.Import(runSettingsFile, runSettingsDocument, Architecture.X86, FrameworkVersion.Framework45);
            }

            return(runSettingsDocument);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Initializes with the argument that was provided with the command.
        /// </summary>
        /// <param name="argument">Argument that was provided with the command.</param>
        public void Initialize(string argument)
        {
            if (string.IsNullOrWhiteSpace(argument))
            {
                throw new CommandLineException(CommandLineResources.FrameworkVersionRequired);
            }

            var validFramework = Framework.FromString(argument);

            this.commandLineOptions.TargetFrameworkVersion = validFramework ?? throw new CommandLineException(
                                                                       string.Format(CultureInfo.CurrentCulture, CommandLineResources.InvalidFrameworkVersion, argument));

            if (this.commandLineOptions.TargetFrameworkVersion != Framework.DefaultFramework &&
                !string.IsNullOrWhiteSpace(this.commandLineOptions.SettingsFile) &&
                MSTestSettingsUtilities.IsLegacyTestSettingsFile(this.commandLineOptions.SettingsFile))
            {
                // Legacy testsettings file support only default target framework.
                IOutput output = ConsoleOutput.Instance;
                output.Warning(
                    false,
                    CommandLineResources.TestSettingsFrameworkMismatch,
                    this.commandLineOptions.TargetFrameworkVersion.ToString(),
                    Framework.DefaultFramework.ToString());
            }
            else
            {
                this.runSettingsManager.UpdateRunSettingsNode(FrameworkArgumentExecutor.RunSettingsPath,
                                                              validFramework.ToString());
            }

            if (EqtTrace.IsInfoEnabled)
            {
                EqtTrace.Info("Using .Net Framework version:{0}", commandLineOptions.TargetFrameworkVersion);
            }
        }
        public void ImportShouldThrowIfDefaultRunSettingsIsIncorrect()
        {
            var defaultRunSettingsXml = "<DataRunSettings></DataRunSettings>";
            var xmlDocument           = new XmlDocument();

            xmlDocument.LoadXml(defaultRunSettingsXml);

            Action action =
                () =>
                MSTestSettingsUtilities.Import(
                    "C:\\temp\\r.testsettings",
                    xmlDocument);

            Assert.That.Throws <XmlException>(action).WithMessage("Could not find 'RunSettings' node.");
        }
        public void ImportShouldThrowIfNotLegacySettingsFile()
        {
            var defaultRunSettingsXml = "<RunSettings></RunSettings>";
            var xmlDocument           = new XmlDocument();

            xmlDocument.LoadXml(defaultRunSettingsXml);

            Action action =
                () =>
                MSTestSettingsUtilities.Import(
                    "C:\\temp\\r.runsettings",
                    xmlDocument);

            Assert.That.Throws <XmlException>(action).WithMessage("Unexpected settings file specified.");
        }
        public void ImportShouldThrowIfDefaultRunSettingsIsIncorrect()
        {
            var defaultRunSettingsXml = "<DataRunSettings></DataRunSettings>";
            var xmlDocument           = new XmlDocument();

            xmlDocument.LoadXml(defaultRunSettingsXml);

            Action action =
                () =>
                MSTestSettingsUtilities.Import(
                    "C:\\temp\\r.testsettings",
                    GetXPathNavigable(xmlDocument),
                    Architecture.X86,
                    FrameworkVersion.Framework45);

            Assert.That.Throws <XmlException>(action).WithMessage("Could not find 'RunSettings' node.");
        }
        public void ImportShouldThrowIfNotLegacySettingsFile()
        {
            var defaultRunSettingsXml = "<RunSettings></RunSettings>";
            var xmlDocument           = new XmlDocument();

            xmlDocument.LoadXml(defaultRunSettingsXml);

            Action action =
                () =>
                MSTestSettingsUtilities.Import(
                    "C:\\temp\\r.runsettings",
                    GetXPathNavigable(xmlDocument),
                    Architecture.X86,
                    FrameworkVersion.Framework45);

            Assert.That.Throws <XmlException>(action).WithMessage("Unexpected settings file specified.");
        }
        public void ImportShouldEmbedTestSettingsInformation()
        {
            var defaultRunSettingsXml = "<RunSettings><RunConfiguration></RunConfiguration></RunSettings>";
            var xmlDocument           = new XmlDocument();

            xmlDocument.LoadXml(defaultRunSettingsXml);
            var finalxPath = MSTestSettingsUtilities.Import(
                "C:\\temp\\r.testsettings",
                xmlDocument,
                Architecture.X86,
                FrameworkVersion.Framework45);

            var finalSettingsXml = finalxPath.CreateNavigator().OuterXml;

            var expectedSettingsXml =
                "<RunSettings>\r\n  <MSTest>\r\n    <SettingsFile>C:\\temp\\r.testsettings</SettingsFile>\r\n    <ForcedLegacyMode>true</ForcedLegacyMode>\r\n  </MSTest>\r\n  <RunConfiguration></RunConfiguration>\r\n</RunSettings>";

            Assert.AreEqual(expectedSettingsXml, finalSettingsXml);
        }
Exemplo n.º 8
0
        private XmlDocument GetRunSettingsDocument(string runSettingsFile)
        {
            XmlDocument runSettingsDocument;

            if (!MSTestSettingsUtilities.IsLegacyTestSettingsFile(runSettingsFile))
            {
                using (XmlReader reader = this.GetReaderForFile(runSettingsFile))
                {
                    var settingsDocument = new XmlDocument();
                    settingsDocument.Load(reader);
                    ClientUtilities.FixRelativePathsInRunSettings(settingsDocument, runSettingsFile);
                    runSettingsDocument = settingsDocument;
                }
            }
            else
            {
                runSettingsDocument = XmlRunSettingsUtilities.CreateDefaultRunSettings();
                runSettingsDocument = MSTestSettingsUtilities.Import(runSettingsFile, runSettingsDocument);
            }

            return(runSettingsDocument);
        }
Exemplo n.º 9
0
        private IXPathNavigable GetRunSettingsDocument(string runSettingsFile)
        {
            IXPathNavigable runSettingsDocument;

            if (!MSTestSettingsUtilities.IsLegacyTestSettingsFile(runSettingsFile))
            {
                using (XmlReader reader = this.GetReaderForFile(runSettingsFile))
                {
                    var settingsDocument = new XmlDocument();
                    settingsDocument.Load(reader);
                    ClientUtilities.FixRelativePathsInRunSettings(settingsDocument, runSettingsFile);
#if NET46
                    runSettingsDocument = settingsDocument;
#else
                    runSettingsDocument = settingsDocument.ToXPathNavigable();
#endif
                }
            }
            else
            {
                runSettingsDocument = XmlRunSettingsUtilities.CreateDefaultRunSettings();
                runSettingsDocument = MSTestSettingsUtilities.Import(runSettingsFile, runSettingsDocument, Architecture.X86, FrameworkVersion.Framework45);
            }

            if (this.commandLineOptions.EnableCodeCoverage == true)
            {
                try
                {
                    CodeCoverageDataAdapterUtilities.UpdateWithCodeCoverageSettingsIfNotConfigured(runSettingsDocument);
                }
                catch (XPathException e)
                {
                    throw new SettingsException(CommandLineResources.MalformedRunSettingsFile, e);
                }
            }

            return(runSettingsDocument);
        }
        public void ImportShouldEmbedTestSettingsAndDefaultRunConfigurationInformation()
        {
            var defaultRunSettingsXml = "<RunSettings></RunSettings>";
            var xmlDocument           = new XmlDocument();

            xmlDocument.LoadXml(defaultRunSettingsXml);
            var finalxPath = MSTestSettingsUtilities.Import(
                "C:\\temp\\r.testsettings",
                xmlDocument);

            var finalSettingsXml = finalxPath.CreateNavigator().OuterXml;

            var expectedSettingsXml =
                "<RunSettings>\r\n" +
                "  <RunConfiguration />\r\n" +
                "  <MSTest>\r\n" +
                "    <SettingsFile>C:\\temp\\r.testsettings</SettingsFile>\r\n" +
                "    <ForcedLegacyMode>true</ForcedLegacyMode>\r\n" +
                "  </MSTest>\r\n" +
                "</RunSettings>";

            Assert.AreEqual(expectedSettingsXml, finalSettingsXml);
        }
 public void IsLegacyTestSettingsFileShouldReturnTrueIfVSMDIExtension()
 {
     Assert.IsTrue(MSTestSettingsUtilities.IsLegacyTestSettingsFile("C:\\temp\\t.vsmdi"));
 }
 public void IsLegacyTestSettingsFileShouldReturnTrueIfTestRunConfigExtension()
 {
     Assert.IsTrue(MSTestSettingsUtilities.IsLegacyTestSettingsFile("C:\\temp\\t.testrunConfig"));
 }