mirror of
https://github.com/securego/gosec.git
synced 2024-12-24 11:35:52 +00:00
Refactor AppendError to check for build.NoGoError (#1273)
This commit is contained in:
parent
9a2d74ffe0
commit
36c81ed69b
2 changed files with 8 additions and 2 deletions
|
@ -16,6 +16,7 @@
|
|||
package gosec
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"go/ast"
|
||||
"go/build"
|
||||
|
@ -543,7 +544,8 @@ func (gosec *Analyzer) ParseErrors(pkg *packages.Package) error {
|
|||
// AppendError appends an error to the file errors
|
||||
func (gosec *Analyzer) AppendError(file string, err error) {
|
||||
// Do not report the error for empty packages (e.g. files excluded from build with a tag)
|
||||
if strings.Contains(err.Error(), "no buildable Go source files in") {
|
||||
var noGoErr *build.NoGoError
|
||||
if errors.As(err, &noGoErr) {
|
||||
return
|
||||
}
|
||||
errors := make([]Error, 0)
|
||||
|
|
|
@ -16,6 +16,7 @@ package gosec_test
|
|||
|
||||
import (
|
||||
"errors"
|
||||
"go/build"
|
||||
"log"
|
||||
"regexp"
|
||||
"strings"
|
||||
|
@ -1311,7 +1312,10 @@ var _ = Describe("Analyzer", func() {
|
|||
|
||||
Context("when appending errors", func() {
|
||||
It("should skip error for non-buildable packages", func() {
|
||||
analyzer.AppendError("test", errors.New(`loading file from package "pkg/test": no buildable Go source files in pkg/test`))
|
||||
err := &build.NoGoError{
|
||||
Dir: "pkg/test",
|
||||
}
|
||||
analyzer.AppendError("test", err)
|
||||
_, _, errors := analyzer.Report()
|
||||
Expect(errors).To(BeEmpty())
|
||||
})
|
||||
|
|
Loading…
Reference in a new issue