Skip to content
This repository was archived by the owner on Dec 8, 2022. It is now read-only.

Commit 1a3b190

Browse files
committed
chore: apply linter for better quality code (#55)
* apply linter * update makefile * update travis yml
1 parent a0e4eec commit 1a3b190

12 files changed

+355
-34
lines changed

.gitignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,5 @@ cover.html
1717
.glide/
1818
faker
1919
vendor/
20-
20+
coverage.txt
21+
bin/

.travis.yml

+6-1
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,16 @@ language: go
22
go:
33
- "1.11"
44

5+
env:
6+
- env GO111MODULE=on
7+
58
before_install:
69
- go get -t -v ./...
710

811
script:
9-
- go test -race -coverprofile=coverage.txt -covermode=atomic
12+
- make lint-prepare
13+
- make lint
14+
- make test
1015

1116
after_success:
1217
- bash <(curl -s https://codecov.io/bash)

Makefile

+21-8
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,30 @@
11
BINARY=faker
2-
TESTS=go test $$(go list ./... | grep -v /vendor/) -cover
32

4-
build:
5-
${TESTS}
6-
go build -o ${BINARY}
3+
build: test
4+
@go build ./...
75

8-
install:
9-
${TESTS}
10-
go build -o ${BINARY}
6+
test:
7+
@go test -v ./... -cover -race -coverprofile=coverage.txt -covermode=atomic
118

129
unittest:
13-
go test -short $$(go list ./... | grep -v /vendor/)
10+
@go test -v -short ./...
1411

12+
# Linter
13+
lint-prepare:
14+
@echo "Installing golangci-lint"
15+
# @go get -u github.com/golangci/golangci-lint/cmd/golangci-lint
16+
curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh| sh -s v1.13.2
1517

18+
lint:
19+
./bin/golangci-lint run \
20+
--exclude="cyclomatic complexity" \
21+
--exclude-use-default=false \
22+
--enable=golint \
23+
--enable=gocyclo \
24+
--enable=goconst \
25+
--enable=unconvert \
26+
./...
1627
clean:
1728
if [ -f ${BINARY} ] ; then rm ${BINARY} ; fi
29+
30+
.PHONY: lint lint-prepare clean build unittest

address.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ func (i Address) Latitude(v reflect.Value) (interface{}, error) {
4141
kind := v.Kind()
4242
val := i.latitute()
4343
if kind == reflect.Float32 {
44-
return float32(val), nil
44+
return val, nil
4545
}
4646
return float64(val), nil
4747
}
@@ -55,7 +55,7 @@ func (i Address) Longitude(v reflect.Value) (interface{}, error) {
5555
kind := v.Kind()
5656
val := i.longitude()
5757
if kind == reflect.Float32 {
58-
return float32(val), nil
58+
return val, nil
5959
}
6060
return float64(val), nil
6161
}

datetime_test.go

+4-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,10 @@ func TestUnixTimeValueValid(t *testing.T) {
2020
}{
2121
some: 1212,
2222
}
23-
d.UnixTime(reflect.ValueOf(&ref.some).Elem())
23+
_, err := d.UnixTime(reflect.ValueOf(&ref.some).Elem())
24+
if err != nil {
25+
t.Error("function Date need return valid value")
26+
}
2427

2528
if time.Now().Unix() <= ref.some {
2629
t.Error("UnixTime should return time <= now")

faker.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@ func getValue(t reflect.Type) (reflect.Value, error) {
318318
}
319319
return v, nil
320320
case reflect.Int:
321-
return reflect.ValueOf(int(rand.Intn(100))), nil
321+
return reflect.ValueOf(rand.Intn(100)), nil
322322
case reflect.Int8:
323323
return reflect.ValueOf(int8(rand.Intn(100))), nil
324324
case reflect.Int16:

faker_test.go

+9-3
Original file line numberDiff line numberDiff line change
@@ -416,6 +416,10 @@ type SampleStruct struct {
416416
Age int
417417
}
418418

419+
func (s SampleStruct) GetName() string {
420+
return s.name
421+
}
422+
419423
func TestUnexportedFieldStruct(t *testing.T) {
420424
// This test is to ensure that the faker won't panic if trying to fake data on struct that has unexported field
421425
a := new(SampleStruct)
@@ -559,12 +563,14 @@ func TestTagWithPointer(t *testing.T) {
559563
School *School `faker:"school"`
560564
}
561565
// With custom provider
562-
AddProvider("school", func(v reflect.Value) (interface{}, error) {
566+
err := AddProvider("school", func(v reflect.Value) (interface{}, error) {
563567
return &School{Location: "Jakarta"}, nil
564568
})
565-
569+
if err != nil {
570+
t.Error("Expected Not Error, But Got: ", err)
571+
}
566572
var sample TestStruct
567-
err := FakeData(&sample)
573+
err = FakeData(&sample)
568574
if err != nil {
569575
t.Error("Expected Not Error, But Got: ", err)
570576
}

go.mod

+48
Original file line numberDiff line numberDiff line change
@@ -1 +1,49 @@
11
module github.com/bxcodec/faker/v3
2+
3+
require (
4+
github.com/OpenPeeDeeP/depguard v0.0.0-20181229194401-1f388ab2d810 // indirect
5+
github.com/StackExchange/wmi v0.0.0-20181212234831-e0a55b97c705 // indirect
6+
github.com/coreos/etcd v3.3.11+incompatible // indirect
7+
github.com/fatih/color v1.7.0 // indirect
8+
github.com/go-critic/go-critic v0.3.4 // indirect
9+
github.com/go-ole/go-ole v1.2.2 // indirect
10+
github.com/go-toolsmith/astcast v1.0.0 // indirect
11+
github.com/go-toolsmith/astcopy v1.0.0 // indirect
12+
github.com/go-toolsmith/astfmt v1.0.0 // indirect
13+
github.com/go-toolsmith/astp v1.0.0 // indirect
14+
github.com/go-toolsmith/pkgload v1.0.0 // indirect
15+
github.com/go-toolsmith/typep v1.0.0 // indirect
16+
github.com/gogo/protobuf v1.2.0 // indirect
17+
github.com/golang/mock v1.2.0 // indirect
18+
github.com/golangci/errcheck v0.0.0-20181223084120-ef45e06d44b6 // indirect
19+
github.com/golangci/go-tools v0.0.0-20180902103155-93eecd106a0b // indirect
20+
github.com/golangci/gocyclo v0.0.0-20180528144436-0a533e8fa43d // indirect
21+
github.com/golangci/gofmt v0.0.0-20181222123516-0b8337e80d98 // indirect
22+
github.com/golangci/golangci-lint v1.13.2 // indirect
23+
github.com/golangci/lint-1 v0.0.0-20181222135242-d2cdd8c08219 // indirect
24+
github.com/golangci/revgrep v0.0.0-20180812185044-276a5c0a1039 // indirect
25+
github.com/golangci/tools v0.0.0-20190108095906-d95fd85c147a // indirect
26+
github.com/kr/pty v1.1.3 // indirect
27+
github.com/mattn/go-isatty v0.0.4 // indirect
28+
github.com/mitchellh/go-homedir v1.1.0 // indirect
29+
github.com/nbutton23/zxcvbn-go v0.0.0-20180912185939-ae427f1e4c1d // indirect
30+
github.com/onsi/ginkgo v1.7.0 // indirect
31+
github.com/onsi/gomega v1.4.3 // indirect
32+
github.com/pkg/errors v0.8.1 // indirect
33+
github.com/shirou/gopsutil v2.18.12+incompatible // indirect
34+
github.com/shurcooL/go v0.0.0-20190121191506-3fef8c783dec // indirect
35+
github.com/sirupsen/logrus v1.3.0 // indirect
36+
github.com/spf13/afero v1.2.1 // indirect
37+
github.com/spf13/cobra v0.0.3 // indirect
38+
github.com/spf13/viper v1.3.1 // indirect
39+
github.com/stretchr/testify v1.3.0 // indirect
40+
github.com/ugorji/go/codec v0.0.0-20190128213124-ee1426cffec0 // indirect
41+
golang.org/x/crypto v0.0.0-20190131182504-b8fe1690c613 // indirect
42+
golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3 // indirect
43+
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4 // indirect
44+
golang.org/x/sys v0.0.0-20190130150945-aca44879d564 // indirect
45+
golang.org/x/tools v0.0.0-20190131163942-067a2f313b69 // indirect
46+
mvdan.cc/unparam v0.0.0-20190131163057-1679b9996abd // indirect
47+
sourcegraph.com/sourcegraph/go-diff v0.5.0 // indirect
48+
sourcegraph.com/sqs/pbtypes v1.0.0 // indirect
49+
)

0 commit comments

Comments
 (0)