private void DoResolveTest(string executable, string filter, int expectedLocations, int expectedErrorMessages, bool disposeResolver = true) { var locations = new List <SourceFileLocation>(); var fakeLogger = new FakeLogger(); IDiaResolver resolver = DefaultDiaResolverFactory.Instance.Create(executable, "", fakeLogger); locations.AddRange(resolver.GetFunctions(filter)); if (disposeResolver) { resolver.Dispose(); } locations.Count.Should().Be(expectedLocations); fakeLogger.MessagesOfType(Severity.Warning, Severity.Error).Count.Should().Be(expectedErrorMessages); }
private void DoResolveTest(string executable, string filter, int expectedLocations, int expectedErrorMessages, bool disposeResolver = true) { var locations = new List <SourceFileLocation>(); var fakeLogger = new FakeLogger(() => OutputMode.Info); string pdb = PdbLocator.FindPdbFile(executable, "", fakeLogger); IDiaResolver resolver = DefaultDiaResolverFactory.Instance.Create(executable, pdb, fakeLogger); locations.AddRange(resolver.GetFunctions(filter)); if (disposeResolver) { resolver.Dispose(); } locations.Should().HaveCountGreaterOrEqualTo(expectedLocations); fakeLogger.GetMessages(Severity.Warning, Severity.Error).Should().HaveCountGreaterOrEqualTo(expectedErrorMessages); }