Ejemplo n.º 1
0
        /// <summary>
        /// Expands a TestPackage based on a known project format, populating it
        /// with the project contents and any settings the project provides.
        /// Note that the package file path must be checked to ensure that it is
        /// a known project format before calling this method.
        /// </summary>
        /// <param name="package">The TestPackage to be expanded</param>
        public void ExpandProjectPackage(TestPackage package)
        {
            Guard.ArgumentNotNull(package, "package");
            Guard.ArgumentValid(package.TestFiles.Count == 0, "Package is already expanded", "package");

            string   path    = package.FullName;
            IProject project = LoadFrom(path);

            Guard.ArgumentValid(project != null, "Unable to load project " + path, "package");

            string      configName  = package.GetSetting(PackageSettings.ActiveConfig, (string)null); // Need RunnerSetting
            TestPackage tempPackage = project.GetTestPackage(configName);

            // The original package held overrides, so don't change them, but
            // do apply any settings specified within the project itself.
            foreach (string key in tempPackage.Settings.Keys)
            {
                if (!package.Settings.ContainsKey(key)) // Don't override settings from command line
                {
                    package.Settings[key] = tempPackage.Settings[key];
                }
            }

            foreach (string assembly in tempPackage.TestFiles)
            {
                package.Add(assembly);
            }
        }
Ejemplo n.º 2
0
        public TestPackage MakeTestPackage(IProject project, string configName)
        {
            TestPackage package = new TestPackage(project.ProjectPath);

            if (project.Configs.Count == 0)
                return package;

            foreach (string assembly in project.ActiveConfig.Assemblies)
                package.Add(assembly);

            return package;
        }
Ejemplo n.º 3
0
        public TestPackage MakeTestPackage(IProject project, string configName)
        {
            TestPackage package = new TestPackage(project.ProjectPath);

            if (project.Configs.Count == 0)
            {
                return(package);
            }

            foreach (string assembly in project.ActiveConfig.Assemblies)
            {
                package.Add(assembly);
            }

            return(package);
        }
Ejemplo n.º 4
0
        public TestPackage GetTestPackage(string configName)
        {
            var package = new TestPackage(ProjectPath);

            foreach (var name in _configs.Keys)
            {
                if (configName == null || configName == name)
                {
                    var config = _configs[name];
                    foreach (string assembly in config.Assemblies)
                    {
                        package.Add(assembly);
                    }
                    break;
                }
            }

            return(package);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Expands a TestPackages based on a known project format,
        /// creating a subpackage for each assembly. The FilePath
        /// of hte package must be checked to ensure that it is
        /// a known project format before calling this method.
        /// </summary>
        /// <param name="package">The TestPackage to be expanded</param>
        public void ExpandProjectPackage(TestPackage package)
        {
            IProject project = LoadProject(package.FullName);

            string         configName = package.GetSetting(RunnerSettings.ActiveConfig, string.Empty); // Need RunnerSetting
            IProjectConfig config     = configName != string.Empty
                ? project.Configs[configName]
                : project.ActiveConfig;

            foreach (string key in config.Settings.Keys)
            {
                package.Settings[key] = config.Settings[key];
            }

            foreach (string assembly in config.Assemblies)
            {
                package.Add(assembly);
            }
        }
Ejemplo n.º 6
0
        public TestPackage GetTestPackage(string configName)
        {
            var package = new TestPackage(ProjectPath);

            if (configName == null)
            {
                configName = ActiveConfigName;
            }

            if (configName != null)
            {
                XmlNode configNode = GetConfigNode(configName);

                if (configNode != null)
                {
                    string basePath = GetBasePathForConfig(configNode);

                    foreach (XmlNode node in configNode.SelectNodes("assembly"))
                    {
                        string assembly = node.GetAttribute("path");
                        if (basePath != null)
                        {
                            assembly = Path.Combine(basePath, assembly);
                        }
                        package.Add(assembly);
                    }

                    var settings = GetSettingsForConfig(configNode);
                    foreach (var key in settings.Keys)
                    {
                        package.Settings.Add(key, settings[key]);
                    }
                }
            }

            return(package);
        }
Ejemplo n.º 7
0
        public TestPackage GetTestPackage(string configName)
        {
            TestPackage package = new TestPackage(ProjectPath);

            string appbase = null;

            foreach (var name in _configs.Keys)
            {
                if (configName == null || configName == name)
                {
                    var config = _configs[name];
                    package.Add(config.AssemblyPath);
                    appbase = config.OutputDirectory;
                    break;
                }
            }

            if (appbase != null)
            {
                package.Settings["BasePath"] = appbase;
            }

            return(package);
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Expands a TestPackages based on a known project format,
        /// creating a subpackage for each assembly. The FilePath
        /// of hte package must be checked to ensure that it is
        /// a known project format before calling this method.
        /// </summary>
        /// <param name="package">The TestPackage to be expanded</param>
        public void ExpandProjectPackage(TestPackage package)
        {
            IProject project = LoadProject(package.FullName);

            string configName = package.GetSetting(RunnerSettings.ActiveConfig, string.Empty); // Need RunnerSetting
            IProjectConfig config = configName != string.Empty
                ? project.Configs[configName]
                : project.ActiveConfig;

            foreach (string key in config.Settings.Keys)
                package.Settings[key] = config.Settings[key];

            foreach (string assembly in config.Assemblies)
                package.Add(assembly);
        }