internal Dictionary <string, TestCaseLocation> ResolveAllTestCases(string executable, HashSet <string> testMethodSignatures, string symbolFilterString, string pathExtension) { var testCaseLocationsFound = FindTestCaseLocationsInBinary(executable, testMethodSignatures, symbolFilterString, pathExtension); if (testCaseLocationsFound.Count == 0) { List <string> imports = PeParser.ParseImports(executable, _logger); string moduleDirectory = Path.GetDirectoryName(executable); foreach (string import in imports) { // ReSharper disable once AssignNullToNotNullAttribute string importedBinary = Path.Combine(moduleDirectory, import); if (File.Exists(importedBinary)) { foreach (var testCaseLocation in FindTestCaseLocationsInBinary(importedBinary, testMethodSignatures, symbolFilterString, pathExtension)) { testCaseLocationsFound.Add(testCaseLocation.Key, testCaseLocation.Value); } } } } return(testCaseLocationsFound); }
private void LoadSymbolsFromImports() { List <string> imports = PeParser.ParseImports(_executable, _logger); string moduleDirectory = Path.GetDirectoryName(_executable); foreach (string import in imports) { // ReSharper disable once AssignNullToNotNullAttribute string importedBinary = Path.Combine(moduleDirectory, import); if (File.Exists(importedBinary)) { AddSymbolsFromBinary(importedBinary); } } }
internal List <TestCaseLocation> ResolveAllTestCases(string executable, List <string> testMethodSignatures, string symbolFilterString, string pathExtension) { List <TestCaseLocation> testCaseLocationsFound = FindTestCaseLocationsInBinary(executable, testMethodSignatures, symbolFilterString, pathExtension).ToList(); if (testCaseLocationsFound.Count == 0) { List <string> imports = PeParser.ParseImports(executable, _testEnvironment); string moduleDirectory = Path.GetDirectoryName(executable); foreach (string import in imports) { // ReSharper disable once AssignNullToNotNullAttribute string importedBinary = Path.Combine(moduleDirectory, import); if (File.Exists(importedBinary)) { testCaseLocationsFound.AddRange(FindTestCaseLocationsInBinary(importedBinary, testMethodSignatures, symbolFilterString, pathExtension)); } } } return(testCaseLocationsFound); }