public void DiscoverTests(IEnumerable <string> executables, ITestFrameworkReporter reporter)
        {
            IList <string> googleTestExecutables = GetAllGoogleTestExecutables(executables);

            if (_settings.UseNewTestExecutionFramework)
            {
                foreach (string executable in googleTestExecutables)
                {
                    _settings.ExecuteWithSettingsForExecutable(executable, () =>
                    {
                        int nrOfTestCases = 0;
                        Action <TestCase> reportTestCases = tc =>
                        {
                            reporter.ReportTestsFound(tc.Yield());
                            _logger.DebugInfo("Added testcase " + tc.DisplayName);
                            nrOfTestCases++;
                        };
                        var factory = new TestCaseFactory(executable, _logger, _settings, _diaResolverFactory);
                        factory.CreateTestCases(reportTestCases);
                        _logger.LogInfo("Found " + nrOfTestCases + " tests in executable " + executable);
                    }, _logger);
                }
            }
            else
            {
                foreach (string executable in googleTestExecutables)
                {
                    _settings.ExecuteWithSettingsForExecutable(executable, () =>
                    {
                        IList <TestCase> testCases = GetTestsFromExecutable(executable);
                        reporter.ReportTestsFound(testCases);
                    }, _logger);
                }
            }
        }
示例#2
0
        public IList <TestCase> GetTestsFromExecutable(string executable)
        {
            var factory = new TestCaseFactory(executable, _logger, _settings, _diaResolverFactory, _processExecutorFactory);
            IList <TestCase> testCases = factory.CreateTestCases();

            foreach (TestCase testCase in testCases)
            {
                _logger.DebugInfo(String.Format(Resources.AddedTestCase, testCase.DisplayName));
            }
            _logger.LogInfo(String.Format(Resources.NumberOfTestsMessage, testCases.Count, executable));

            return(testCases);
        }
        public IList <TestCase> GetTestsFromExecutable(string executable)
        {
            var factory = new TestCaseFactory(executable, _logger, _settings, _diaResolverFactory, _processExecutorFactory);
            IList <TestCase> testCases = factory.CreateTestCases();

            foreach (TestCase testCase in testCases)
            {
                _logger.DebugInfo("Added testcase " + testCase.DisplayName);
            }
            _logger.LogInfo("Found " + testCases.Count + " tests in executable " + executable);

            return(testCases);
        }
示例#4
0
        public IList <TestCase> GetTestsFromExecutable(string executable)
        {
            var factory = new TestCaseFactory(executable, _testEnvironment, _diaResolverFactory);
            IList <TestCase> testCases = factory.CreateTestCases();

            _testEnvironment.LogInfo("Found " + testCases.Count + " tests in executable " + executable);
            foreach (TestCase testCase in testCases)
            {
                _testEnvironment.DebugInfo("Added testcase " + testCase.DisplayName);
            }

            return(testCases);
        }
示例#5
0
 private static void DiscoverTests(string executable, ITestFrameworkReporter reporter, SettingsWrapper settings, ILogger logger, IDiaResolverFactory diaResolverFactory)
 {
     settings.ExecuteWithSettingsForExecutable(executable, () =>
     {
         int nrOfTestCases = 0;
         Action <TestCase> reportTestCases = tc =>
         {
             reporter.ReportTestsFound(tc.Yield());
             logger.DebugInfo("Added testcase " + tc.DisplayName);
             nrOfTestCases++;
         };
         var factory = new TestCaseFactory(executable, logger, settings, diaResolverFactory);
         factory.CreateTestCases(reportTestCases);
         logger.LogInfo("Found " + nrOfTestCases + " tests in executable " + executable);
     }, logger);
 }
        private static void DiscoverTests(string executable, ITestFrameworkReporter reporter, SettingsWrapper settings, ILogger logger, IDiaResolverFactory diaResolverFactory, IProcessExecutorFactory processExecutorFactory)
        {
            settings.ExecuteWithSettingsForExecutable(executable, logger, () =>
            {
                if (!VerifyExecutableTrust(executable, settings, logger) || !IsGoogleTestExecutable(executable, settings.TestDiscoveryRegex, logger))
                {
                    return;
                }

                int nrOfTestCases = 0;
                void ReportTestCases(TestCase testCase)
                {
                    reporter.ReportTestsFound(testCase.Yield());
                    logger.DebugInfo("Added testcase " + testCase.DisplayName);
                    nrOfTestCases++;
                }

                var factory = new TestCaseFactory(executable, logger, settings, diaResolverFactory, processExecutorFactory);
                factory.CreateTestCases(ReportTestCases);
                logger.LogInfo("Found " + nrOfTestCases + " tests in executable " + executable);
            });
        }
示例#7
0
        private static void DiscoverTests(string executable, ITestFrameworkReporter reporter, SettingsWrapper settings, ILogger logger, IDiaResolverFactory diaResolverFactory)
        {
            settings.ExecuteWithSettingsForExecutable(executable, () =>
            {
                if (!VerifyExecutableTrust(executable, logger) ||
                    !IsGoogleTestExecutable(executable, settings.TestDiscoveryRegex, logger))
                {
                    return;
                }

                int nrOfTestCases = 0;
                Action <TestCase> reportTestCases = tc =>
                {
                    reporter.ReportTestsFound(tc.Yield());
                    logger.DebugInfo(String.Format(Resources.AddedTestCase, tc.DisplayName));
                    nrOfTestCases++;
                };
                var factory = new TestCaseFactory(executable, logger, settings, diaResolverFactory);
                factory.CreateTestCases(reportTestCases);
                logger.LogInfo(String.Format(Resources.NumberOfTestsMessage, nrOfTestCases, executable));
            }, logger);
        }