From 952cc0b22e71b63a42336ee97f59ba9f01e01d7d Mon Sep 17 00:00:00 2001 From: Denis Isaev Date: Sat, 10 Nov 2018 14:32:26 +0300 Subject: [PATCH] fix hangup of golangci-lint on large projects with compilation errors --- pkg/lint/load.go | 6 +----- pkg/packages/util.go | 4 ++++ 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pkg/lint/load.go b/pkg/lint/load.go index d9e13175..43710224 100644 --- a/pkg/lint/load.go +++ b/pkg/lint/load.go @@ -249,15 +249,11 @@ func (cl ContextLoader) tryParseTestPackage(pkg *packages.Package) (name, testNa func (cl ContextLoader) filterPackages(pkgs []*packages.Package) []*packages.Package { packagesWithTests := map[string]bool{} for _, pkg := range pkgs { - name, testName, isTest := cl.tryParseTestPackage(pkg) + name, _, isTest := cl.tryParseTestPackage(pkg) if !isTest { continue } packagesWithTests[name] = true - - if name != testName { - cl.log.Infof("pkg ID=%s: %s != %s: %#v", pkg.ID, name, testName, pkg) - } } cl.debugf("package with tests: %#v", packagesWithTests) diff --git a/pkg/packages/util.go b/pkg/packages/util.go index a4010cc5..86b6977e 100644 --- a/pkg/packages/util.go +++ b/pkg/packages/util.go @@ -35,6 +35,10 @@ func ExtractErrors(pkg *packages.Package) []packages.Error { } func extractErrorsImpl(pkg *packages.Package) []packages.Error { + if !pkg.IllTyped { // otherwise it may take hours to traverse all deps many times + return nil + } + if len(pkg.Errors) != 0 { return pkg.Errors }