public TestFilter ConvertTfsFilterToNUnitFilter(IVsTestFilter vsFilter, IList <TestCase> loadedTestCases) { var filteredTestCases = vsFilter.CheckFilter(loadedTestCases); var testCases = filteredTestCases as TestCase[] ?? filteredTestCases.ToArray(); // TestLog.Info(string.Format("TFS Filter detected: LoadedTestCases {0}, Filtered Test Cases {1}", loadedTestCases.Count, testCases.Count())); return(testCases.Any() ? FilterByList(testCases) : NoTestsFound); }
public TestFilter ConvertTfsFilterToNUnitFilter(IVsTestFilter vsFilter, IDiscoveryConverter discovery) { var filteredTestCases = vsFilter.CheckFilter(discovery.LoadedTestCases).ToList(); var explicitCases = discovery.CheckTestCasesExplicit(filteredTestCases).ToList(); bool isExplicit = filteredTestCases.Count == explicitCases.Count; var tcs = isExplicit ? filteredTestCases : filteredTestCases.Except(explicitCases); var testCases = tcs as TestCase[] ?? tcs.ToArray(); // TestLog.Info(string.Format("TFS Filter detected: LoadedTestCases {0}, Filtered Test Cases {1}", loadedTestCases.Count, testCases.Count())); return(testCases.Any() ? FilterByList(testCases) : NoTestsFound); }
public TestFilter ConvertVsTestFilterToNUnitFilter(IVsTestFilter vsFilter) { if (string.IsNullOrEmpty(vsFilter?.TfsTestCaseFilterExpression?.TestCaseFilterValue)) { return(null); } var parser = new TestFilterParser(); var filter = parser.Parse(vsFilter.TfsTestCaseFilterExpression.TestCaseFilterValue); var tf = new TestFilter(filter); return(tf); }
public TestFilter ConvertVsTestFilterToNUnitFilter(IVsTestFilter vsFilter, IDiscoveryConverter discovery) { if (settings.DiscoveryMethod == DiscoveryMethod.Legacy) { return(ConvertTfsFilterToNUnitFilter(vsFilter, discovery.LoadedTestCases)); } if (!settings.UseNUnitFilter) { return(ConvertTfsFilterToNUnitFilter(vsFilter, discovery)); } var result = ConvertVsTestFilterToNUnitFilter(vsFilter); if (result == null) { return(ConvertTfsFilterToNUnitFilter(vsFilter, discovery)); } return(result); }
public TestFilter CheckVsTestFilter(TestFilter filter, IDiscoveryConverter discovery, IVsTestFilter vsTestFilter) { // If we have a VSTest TestFilter, convert it to an nunit filter if (vsTestFilter == null || vsTestFilter.IsEmpty) { return(filter); } TestLog.Debug( $"TfsFilter used, length: {vsTestFilter.TfsTestCaseFilterExpression?.TestCaseFilterValue.Length}"); // NOTE This overwrites filter used in call var filterBuilder = CreateTestFilterBuilder(); if (Settings.DiscoveryMethod == DiscoveryMethod.Current) { filter = Settings.UseNUnitFilter ? filterBuilder.ConvertVsTestFilterToNUnitFilter(vsTestFilter) : filterBuilder.ConvertTfsFilterToNUnitFilter(vsTestFilter, discovery); } else { filter = filterBuilder .ConvertTfsFilterToNUnitFilter(vsTestFilter, discovery.LoadedTestCases); } Dump?.AddString($"\n\nTFSFilter: {vsTestFilter.TfsTestCaseFilterExpression.TestCaseFilterValue}\n"); Dump?.DumpVSInputFilter(filter, "(At Execution (TfsFilter)"); return(filter); }