Skip to content

Commit 55d35f4

Browse files
authored
Merge pull request #18 from iFaceless/fix-test-error
🐛 fix: test error
2 parents 5337638 + 7b98dda commit 55d35f4

File tree

7 files changed

+74
-29
lines changed

7 files changed

+74
-29
lines changed

.travis.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,14 @@ go:
88
- 1.12.x
99
- 1.13.x
1010
before_install:
11+
- 'export GO111MODULE=on'
1112
- 'go get -v golang.org/x/lint/golint'
1213
- 'go get -v github.com/kisielk/errcheck'
13-
- 'go get -u github.com/golangci/golangci-lint/cmd/golangci-lint'
1414
- 'go get -v golang.org/x/tools/cmd/cover'
1515
- 'go get -v github.com/mattn/goveralls'
16-
- 'export GO111MODULE=on'
16+
- curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.27.0
17+
18+
1719
script:
1820
- 'go mod tidy'
1921
- '`go env GOPATH`/bin/golangci-lint run'

cache_test.go

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package portal
22

33
import (
44
"fmt"
5+
"sync/atomic"
56
"testing"
67
"time"
78

@@ -116,7 +117,7 @@ func TestDumpNestedWithCache(t *testing.T) {
116117
assert.Equal(t, 1, nameCounter)
117118
}
118119

119-
var metaCounter int
120+
var metaCounter int32
120121

121122
type Food struct {
122123
ID int
@@ -128,7 +129,7 @@ type meta struct {
128129
}
129130

130131
func (f *Food) Meta() meta {
131-
metaCounter += 1
132+
atomic.AddInt32(&metaCounter, 1)
132133
return meta{Weight: 10, Size: 20}
133134
}
134135

@@ -154,33 +155,38 @@ type FoodSchemaThree struct {
154155
func TestDumpWithCacheDisabled(t *testing.T) {
155156
SetCache(DefaultCache)
156157
defer SetCache(nil)
157-
metaCounter = 0
158+
atomic.StoreInt32(&metaCounter, 0)
158159

159160
f := Food{
160161
ID: 1,
161162
}
162163

163164
var ff FoodSchema
164-
Dump(&ff, &f)
165-
assert.Equal(t, 2, metaCounter)
166-
metaCounter = 0
165+
err := Dump(&ff, &f)
166+
assert.Nil(t, err)
167+
assert.Equal(t, int32(2), atomic.LoadInt32(&metaCounter))
168+
atomic.StoreInt32(&metaCounter, 0)
167169

168170
var ff2 FoodSchemaTwo
169-
Dump(&ff2, &f)
170-
assert.Equal(t, 2, metaCounter)
171-
metaCounter = 0
171+
err = Dump(&ff2, &f)
172+
assert.Nil(t, err)
173+
assert.Equal(t, int32(2), atomic.LoadInt32(&metaCounter))
174+
atomic.StoreInt32(&metaCounter, 0)
172175

173176
var ff3 FoodSchemaThree
174-
Dump(&ff3, &f)
175-
assert.Equal(t, 1, metaCounter)
176-
metaCounter = 0
177+
err = Dump(&ff3, &f)
178+
assert.Nil(t, err)
179+
assert.Equal(t, int32(1), atomic.LoadInt32(&metaCounter))
180+
atomic.StoreInt32(&metaCounter, 0)
177181

178-
Dump(&ff3, &f, DisableCache())
179-
assert.Equal(t, 2, metaCounter)
180-
metaCounter = 0
182+
err = Dump(&ff3, &f, DisableCache())
183+
assert.Nil(t, err)
184+
assert.Equal(t, int32(2), atomic.LoadInt32(&metaCounter))
185+
atomic.StoreInt32(&metaCounter, 0)
181186

182187
SetCache(nil)
183-
Dump(&ff3, &f)
184-
assert.Equal(t, 2, metaCounter)
185-
metaCounter = 0
188+
err = Dump(&ff3, &f)
189+
assert.Nil(t, err)
190+
assert.Equal(t, int32(2), atomic.LoadInt32(&metaCounter))
191+
atomic.StoreInt32(&metaCounter, 0)
186192
}

chell.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,7 @@ func (c *Chell) dumpMany(ctx context.Context, dst, src interface{}, onlyFields,
298298
if field != "" {
299299
panic(fmt.Sprintf("input src must be a slice, current processing field is `%s`", field))
300300
} else {
301-
panic(fmt.Sprintf("input src must be a slice"))
301+
panic("input src must be a slice")
302302
}
303303
}
304304

go.mod

Lines changed: 41 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,47 @@ module github.com/ifaceless/portal
33
go 1.13
44

55
require (
6+
github.com/Djarvur/go-err113 v0.1.0 // indirect
7+
github.com/bombsimon/wsl/v3 v3.1.0 // indirect
8+
github.com/fatih/color v1.9.0 // indirect
69
github.com/fatih/structs v1.1.0
7-
github.com/kr/pretty v0.1.0 // indirect
10+
github.com/fsnotify/fsnotify v1.4.9 // indirect
11+
github.com/go-critic/go-critic v0.5.0 // indirect
12+
github.com/gogo/protobuf v1.3.1 // indirect
13+
github.com/golangci/gocyclo v0.0.0-20180528144436-0a533e8fa43d // indirect
14+
github.com/golangci/golangci-lint v1.26.0 // indirect
15+
github.com/golangci/misspell v0.3.5 // indirect
16+
github.com/golangci/revgrep v0.0.0-20180812185044-276a5c0a1039 // indirect
17+
github.com/gostaticanalysis/analysisutil v0.1.0 // indirect
18+
github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af // indirect
19+
github.com/kisielk/errcheck v1.3.0 // indirect
20+
github.com/mattn/go-colorable v0.1.7 // indirect
21+
github.com/mitchellh/mapstructure v1.3.2 // indirect
822
github.com/panjf2000/ants/v2 v2.1.1
9-
github.com/pkg/errors v0.8.1
10-
github.com/sirupsen/logrus v1.4.2
11-
github.com/spf13/cast v1.3.0
12-
github.com/stretchr/testify v1.4.0
13-
golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a
14-
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect
23+
github.com/pelletier/go-toml v1.8.0 // indirect
24+
github.com/pkg/errors v0.9.1
25+
github.com/quasilyte/regex/syntax v0.0.0-20200419152657-af9db7f4a3ab // indirect
26+
github.com/securego/gosec/v2 v2.3.0 // indirect
27+
github.com/sirupsen/logrus v1.6.0
28+
github.com/sourcegraph/go-diff v0.5.3 // indirect
29+
github.com/spf13/afero v1.3.1 // indirect
30+
github.com/spf13/cast v1.3.1
31+
github.com/spf13/cobra v1.0.0 // indirect
32+
github.com/spf13/jwalterweatherman v1.1.0 // indirect
33+
github.com/spf13/viper v1.7.0 // indirect
34+
github.com/stretchr/testify v1.6.1
35+
github.com/tdakkota/asciicheck v0.0.0-20200416200610-e657995f937b // indirect
36+
github.com/tetafro/godot v0.3.7 // indirect
37+
github.com/timakin/bodyclose v0.0.0-20200424151742-cb6215831a94 // indirect
38+
golang.org/x/lint v0.0.0-20200302205851-738671d3881b // indirect
39+
golang.org/x/mod v0.3.0 // indirect
40+
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e
41+
golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae // indirect
42+
golang.org/x/text v0.3.3 // indirect
43+
golang.org/x/tools v0.0.0-20200701000337-a32c0cb1d5b2 // indirect
44+
gopkg.in/ini.v1 v1.57.0 // indirect
45+
gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776 // indirect
46+
honnef.co/go/tools v0.0.1-2020.1.4 // indirect
47+
mvdan.cc/unparam v0.0.0-20200501210554-b37ab49443f7 // indirect
48+
sourcegraph.com/sqs/pbtypes v1.0.0 // indirect
1549
)

types.go renamed to type.go

File renamed without changes.

utils.go renamed to util.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,10 @@ func invokeWithCache(ctx context.Context, any reflect.Value, method reflect.Valu
163163
}
164164
ret, err := invoke(ctx, any, method, methodName, args...)
165165
if err == nil {
166-
cg.cache.Set(ctx, *cacheKey, ret)
166+
err = cg.cache.Set(ctx, *cacheKey, ret)
167+
if err != nil {
168+
return nil, errors.WithStack(err)
169+
}
167170
return ret, nil
168171
}
169172
return ret, errors.WithStack(err)
File renamed without changes.

0 commit comments

Comments
 (0)