Skip to content

Commit

Permalink
Merge pull request #177 from vbatts/lint
Browse files Browse the repository at this point in the history
linting and adding check for staticcheck
  • Loading branch information
vbatts authored Apr 9, 2022
2 parents 4760b77 + 0337cb9 commit b9356e6
Show file tree
Hide file tree
Showing 10 changed files with 23 additions and 45 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,6 @@
.lint
.test
.vet
.staticcheck
.gocyclo
gomtree
11 changes: 10 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ default: build validation
validation: .test .lint .vet .cli.test

.PHONY: validation.tags
validation.tags: .test.tags .vet.tags .cli.test
validation.tags: .test.tags .vet.tags .cli.test .staticcheck

.PHONY: gocyclo
gocyclo: .gocyclo
Expand All @@ -24,6 +24,14 @@ CLEAN_FILES += .gocyclo
.gocyclo:
gocyclo -avg -over 15 -ignore 'vendor/*' . && touch $@

.PHONY: staticcheck
staticcheck: .staticcheck

CLEAN_FILES += .staticcheck

.staticcheck:
staticcheck . && touch $@

.PHONY: test
test: .test

Expand Down Expand Up @@ -79,6 +87,7 @@ $(BUILD): $(SOURCE_FILES)
install.tools:
@go install -u github.com/fatih/color@latest ; \
go install -u github.com/fzipp/gocyclo/cmd/gocyclo@latest ; \
go install -u honnef.co/go/tools/cmd/staticcheck@latest ; \
if [ "$(findstring $(GO_VER),$(shell go version))" != "" ] ; then \
go get -u golang.org/x/lint/golint ;\
fi
Expand Down
2 changes: 2 additions & 0 deletions keywordfunc.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ import (
"os"

"github.com/vbatts/go-mtree/pkg/govis"

//lint:ignore SA1019 yes ripemd160 is deprecated, but this is for mtree compatibility
"golang.org/x/crypto/ripemd160"
)

Expand Down
5 changes: 3 additions & 2 deletions keywordfuncs_linux.go
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
//go:build linux
// +build linux

package mtree
Expand Down Expand Up @@ -69,11 +70,11 @@ var (
}
xattrKeywordFunc = func(path string, info os.FileInfo, r io.Reader) ([]KeyVal, error) {
if hdr, ok := info.Sys().(*tar.Header); ok {
if len(hdr.Xattrs) == 0 {
if len(hdr.PAXRecords) == 0 {
return nil, nil
}
klist := []KeyVal{}
for k, v := range hdr.Xattrs {
for k, v := range hdr.PAXRecords {
encKey, err := govis.Vis(k, DefaultVisFlags)
if err != nil {
return nil, nil
Expand Down
4 changes: 1 addition & 3 deletions keywords.go
Original file line number Diff line number Diff line change
Expand Up @@ -174,9 +174,7 @@ func keyValDifference(this, that []KeyVal) []KeyVal {
}
func keyValCopy(set []KeyVal) []KeyVal {
ret := make([]KeyVal, len(set))
for i := range set {
ret[i] = set[i]
}
copy(ret, set)
return ret
}

Expand Down
3 changes: 1 addition & 2 deletions keywords_linux_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
package mtree

import (
"fmt"
"io/ioutil"
"os"
"path/filepath"
Expand Down Expand Up @@ -42,7 +41,7 @@ func TestXattr(t *testing.T) {
}

if err := xattr.Set(dir, "user.test", []byte("directory")); err != nil {
t.Skip(fmt.Sprintf("skipping: %q does not support xattrs", dir))
t.Skipf("skipping: %q does not support xattrs", dir)
}
if err := xattr.Set(filepath.Join(dir, "file"), "user.test", []byte("regular file")); err != nil {
t.Fatal(err)
Expand Down
26 changes: 0 additions & 26 deletions tar.go
Original file line number Diff line number Diff line change
Expand Up @@ -373,7 +373,6 @@ func flatten(root *Entry, creator *dhCreator, keywords []Keyword) {
}
creator.DH.Entries = append(creator.DH.Entries, dotEntry)
}
return
}

// resolveHardlinks goes through an Entry tree, and finds the Entry's associated
Expand Down Expand Up @@ -409,31 +408,6 @@ func resolveHardlinks(root *Entry, hardlinks map[string][]string, countlinks boo
}
}

// filter takes in a pointer to an Entry, and returns a slice of Entry's that
// satisfy the predicate p
func filter(root *Entry, p func(*Entry) bool) []Entry {
if root != nil {
var validEntrys []Entry
if len(root.Children) > 0 || root.Prev != nil {
for _, c := range root.Children {
// filter the sub-directory
if c.Prev != nil {
validEntrys = append(validEntrys, filter(c, p)...)
}
if p(c) {
if c.Prev == nil {
validEntrys = append([]Entry{*c}, validEntrys...)
} else {
validEntrys = append(validEntrys, *c)
}
}
}
return validEntrys
}
}
return nil
}

func (ts *tarStream) setErr(err error) {
ts.err = err
}
Expand Down
6 changes: 0 additions & 6 deletions tar_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -336,12 +336,6 @@ type fakeFile struct {
Xattrs map[string]string
}

// minimal tar archive that mimics what is in ./testdata/test.tar
var minimalFiles = []fakeFile{
{"x/", "", 0755, '5', 0, 0, nil},
{"x/files", "howdy\n", 0644, '0', 0, 0, nil},
}

func makeTarStream(ff []fakeFile) ([]byte, error) {
buf := new(bytes.Buffer)

Expand Down
3 changes: 1 addition & 2 deletions update_linux_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package mtree

import (
"encoding/json"
"fmt"
"io/ioutil"
"os"
"path/filepath"
Expand Down Expand Up @@ -32,7 +31,7 @@ func TestXattrUpdate(t *testing.T) {
}

if err := xattr.Set(dir, "user.test", []byte("directory")); err != nil {
t.Skip(fmt.Sprintf("skipping: %q does not support xattrs", dir))
t.Skipf("skipping: %q does not support xattrs", dir)
}
if err := xattr.Set(tmpfn, "user.test", []byte("regular file")); err != nil {
t.Fatal(err)
Expand Down
6 changes: 3 additions & 3 deletions walk.go
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ func Walk(root string, excludes []ExcludeFunc, keywords []Keyword, fsEval FsEval
}
keyFunc, ok := KeywordFuncs[keyword.Prefix()]
if !ok {
return fmt.Errorf("Unknown keyword %q for file %q", keyword.Prefix(), path)
return fmt.Errorf("unknown keyword %q for file %q", keyword.Prefix(), path)
}
kvs, err := creator.fs.KeywordFunc(keyFunc)(path, info, r)
if err != nil {
Expand Down Expand Up @@ -138,7 +138,7 @@ func Walk(root string, excludes []ExcludeFunc, keywords []Keyword, fsEval FsEval
}
keyFunc, ok := KeywordFuncs[keyword.Prefix()]
if !ok {
return fmt.Errorf("Unknown keyword %q for file %q", keyword.Prefix(), path)
return fmt.Errorf("unknown keyword %q for file %q", keyword.Prefix(), path)
}
kvs, err := creator.fs.KeywordFunc(keyFunc)(path, info, r)
if err != nil {
Expand Down Expand Up @@ -198,7 +198,7 @@ func Walk(root string, excludes []ExcludeFunc, keywords []Keyword, fsEval FsEval
}
keyFunc, ok := KeywordFuncs[keyword.Prefix()]
if !ok {
return fmt.Errorf("Unknown keyword %q for file %q", keyword.Prefix(), path)
return fmt.Errorf("unknown keyword %q for file %q", keyword.Prefix(), path)
}
kvs, err := creator.fs.KeywordFunc(keyFunc)(path, info, r)
if err != nil {
Expand Down

0 comments on commit b9356e6

Please sign in to comment.