Exemplo n.º 1
0
        /// <summary>
        /// Handler to react to project load/unload events.
        /// </summary>
        private void OnSolutionProjectChanged(object sender, SolutionEventsListenerEventArgs e)
        {
            if (e != null)
            {
                string projectPath = VsSolutionHelper.GetProjectPath(e.Project);

                var files = FindPotentialTestFiles(e.Project);
                if (e.ChangedReason == SolutionChangedReason.Load)
                {
                    ChutzpahTracer.TraceInformation("Project Loaded: '{0}'", projectPath);
                    UpdateChutzpahEnvironmentForProject(projectPath);
                    UpdateTestContainersAndFileWatchers(files, true);
                }
                else if (e.ChangedReason == SolutionChangedReason.Unload)
                {
                    ChutzpahTracer.TraceInformation("Project Unloaded: '{0}'", projectPath);
                    RemoveChutzpahEnvironmentForProject(projectPath);
                    UpdateTestContainersAndFileWatchers(files, false);
                }
            }

            // Do not fire OnTestContainersChanged here.
            // This will cause us to fire this event too early before the UTE is ready to process containers and will result in an exception.
            // The UTE will query all the TestContainerDiscoverers once the solution is loaded.
        }
Exemplo n.º 2
0
 private IEnumerable <string> FindPs1Files(IVsProject project)
 {
     _logger.Log(MessageLevel.Diagnostic,
                 "PowerShellTestContainerDiscoverer:OnTestContainersChanged - FindPs1Files");
     return(from item in VsSolutionHelper.GetProjectItems(project)
            where IsTestFile(item)
            select item);
 }
        private IEnumerable <TestFileCandidate> FindPotentialTestFiles(IVsProject project)
        {
            string projectPath = VsSolutionHelper.GetProjectPath(project);

            try
            {
                ChutzpahTracer.TraceInformation("Begin selecting potential test files from project '{0}'", projectPath);
                return((from item in VsSolutionHelper.GetProjectItems(project)
                        let hasTestExtension = HasTestFileExtension(item)
                                               let isChutzpahSettingsFile = fileProbe.IsChutzpahSettingsFile(item)
                                                                            where !fileProbe.IsTemporaryChutzpahFile(item) && (hasTestExtension || isChutzpahSettingsFile)
                                                                            select new TestFileCandidate
                {
                    Path = item
                }).ToList());
            }
            finally
            {
                ChutzpahTracer.TraceInformation("End selecting potential test files from project '{0}'", projectPath);
            }
        }
 private IEnumerable <string> FindPs1Files(IVsProject project)
 {
     return(from item in VsSolutionHelper.GetProjectItems(project)
            where IsTestFile(item)
            select item);
 }
 private IEnumerable <string> GetTestFiles(IVsProject project)
 {
     return(VsSolutionHelper.GetProjectItems(project).Where(o => IsTestFile(o)));
 }