Skip to content

Commit ae87644

Browse files
committed
bump noinlineerr v1.0.3; add fix tests
1 parent 5a5f39f commit ae87644

File tree

6 files changed

+170
-7
lines changed

6 files changed

+170
-7
lines changed

go.mod

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ require (
77
4d63.com/gochecknoglobals v0.2.2
88
github.com/4meepo/tagalign v1.4.2
99
github.com/Abirdcfly/dupword v0.1.5
10+
github.com/AlwxSin/noinlineerr v1.0.3
1011
github.com/Antonboom/errname v1.1.0
1112
github.com/Antonboom/nilnil v1.1.0
1213
github.com/Antonboom/testifylint v1.6.1

go.sum

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/golinters/noinlineerr/noinlineerr_integration_test.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,11 @@ import (
99
func TestFromTestdata(t *testing.T) {
1010
integration.RunTestdata(t)
1111
}
12+
13+
func TestFix(t *testing.T) {
14+
integration.RunFix(t)
15+
}
16+
17+
func TestFixPathPrefix(t *testing.T) {
18+
integration.RunFixPathPrefix(t)
19+
}
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
//golangcitest:args -Enoinlineerr
2+
//golangcitest:expected_exitcode 0
3+
package testdata
4+
5+
type MyAliasErr error
6+
7+
type MyCustomError struct{}
8+
9+
func (mc *MyCustomError) Error() string {
10+
return "error"
11+
}
12+
13+
func doSomething() error {
14+
return nil
15+
}
16+
17+
func doSmthManyArgs(a, b, c, d int) error {
18+
return nil
19+
}
20+
21+
func doSmthMultipleReturn() (bool, error) {
22+
return false, nil
23+
}
24+
25+
func doMyAliasErr() MyAliasErr {
26+
return nil
27+
}
28+
29+
func doMyCustomErr() *MyCustomError {
30+
return &MyCustomError{}
31+
}
32+
33+
func invalid() error {
34+
err := doSomething()
35+
if err != nil {
36+
return err
37+
}
38+
39+
err = doSmthManyArgs(0,
40+
0,
41+
0,
42+
0,
43+
)
44+
if err != nil {
45+
return err
46+
}
47+
48+
err = doMyAliasErr()
49+
if err != nil {
50+
return err
51+
}
52+
53+
err = doMyCustomErr()
54+
if err != nil {
55+
return err
56+
}
57+
58+
return nil
59+
}
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
//golangcitest:args -Enoinlineerr
2+
//golangcitest:expected_exitcode 0
3+
package testdata
4+
5+
type MyAliasErr error
6+
7+
type MyCustomError struct{}
8+
9+
func (mc *MyCustomError) Error() string {
10+
return "error"
11+
}
12+
13+
func doSomething() error {
14+
return nil
15+
}
16+
17+
func doSmthManyArgs(a, b, c, d int) error {
18+
return nil
19+
}
20+
21+
func doSmthMultipleReturn() (bool, error) {
22+
return false, nil
23+
}
24+
25+
func doMyAliasErr() MyAliasErr {
26+
return nil
27+
}
28+
29+
func doMyCustomErr() *MyCustomError {
30+
return &MyCustomError{}
31+
}
32+
33+
func invalid() error {
34+
err := doSomething()
35+
if err != nil {
36+
return err
37+
}
38+
39+
err = doSmthManyArgs(0,
40+
0,
41+
0,
42+
0,
43+
)
44+
if err != nil {
45+
return err
46+
}
47+
48+
err = doMyAliasErr()
49+
if err != nil {
50+
return err
51+
}
52+
53+
err = doMyCustomErr()
54+
if err != nil {
55+
return err
56+
}
57+
58+
return nil
59+
}

pkg/golinters/noinlineerr/testdata/noinlineerr.go

Lines changed: 41 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,18 @@
11
//golangcitest:args -Enoinlineerr
22
package testdata
33

4-
import "fmt"
4+
import (
5+
"fmt"
6+
"strconv"
7+
)
8+
9+
type MyAliasErr error
10+
11+
type MyCustomError struct {}
12+
13+
func (mc *MyCustomError) Error() string {
14+
return "error"
15+
}
516

617
func doSomething() error {
718
return nil
@@ -15,6 +26,14 @@ func doSmthMultipleReturn() (bool, error) {
1526
return false, nil
1627
}
1728

29+
func doMyAliasErr() MyAliasErr {
30+
return nil
31+
}
32+
33+
func doMyCustomErr() *MyCustomError {
34+
return &MyCustomError{}
35+
}
36+
1837
func valid() error {
1938
err := doSomething() // ok
2039
if err != nil {
@@ -26,28 +45,43 @@ func valid() error {
2645
return err
2746
}
2847

29-
ok, err := doSmthMultipleReturn() // ok
48+
_, err = doSmthMultipleReturn() // ok
3049
if err != nil {
31-
return fmt.Errorf("%b; %w", ok, err)
50+
return err
3251
}
52+
53+
if ok, _ := strconv.ParseBool("1"); ok {
54+
fmt.Println("ok")
55+
}
56+
3357
return nil
3458
}
3559

3660
func invalid() error {
37-
if err := doSomething(); err != nil { // want "avoid inline error handling using `if err := ...; err != nil; use plain assignment `err := ..."
61+
if err := doSomething(); err != nil { // want "avoid inline error handling using `if err := ...; err != nil`; use plain assignment `err := ...`"
3862
return err
3963
}
4064

41-
if err := doSmthManyArgs(0, // want "avoid inline error handling using `if err := ...; err != nil; use plain assignment `err := ..."
65+
if err := doSmthManyArgs(0, // want "avoid inline error handling using `if err := ...; err != nil`; use plain assignment `err := ...`"
4266
0,
4367
0,
4468
0,
4569
); err != nil {
4670
return err
4771
}
4872

49-
if ok, err := doSmthMultipleReturn(); err != nil { // want "avoid inline error handling using `if err := ...; err != nil; use plain assignment `err := ..."
50-
return fmt.Errorf("%b; %w", ok, err)
73+
if _, err := doSmthMultipleReturn(); err != nil { // want "avoid inline error handling using `if err := ...; err != nil`; use plain assignment `err := ...`"
74+
_ = false
75+
return err
76+
}
77+
78+
if err := doMyAliasErr(); err != nil { // want "avoid inline error handling using `if err := ...; err != nil`; use plain assignment `err := ...`"
79+
return err
5180
}
81+
82+
if err := doMyCustomErr(); err != nil { // want "avoid inline error handling using `if err := ...; err != nil`; use plain assignment `err := ...`"
83+
return err
84+
}
85+
5286
return nil
5387
}

0 commit comments

Comments
 (0)