Skip to content

Commit 86cc90a

Browse files
authored
support go 1.23 (#10)
1 parent 6290a7c commit 86cc90a

File tree

8 files changed

+55
-74
lines changed

8 files changed

+55
-74
lines changed

.travis.gofmt.sh

Lines changed: 0 additions & 7 deletions
This file was deleted.

.travis.yml

Lines changed: 0 additions & 13 deletions
This file was deleted.

bench/go.mod

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,20 @@
11
module github.com/Wing924/ltsv/bench
22

3-
go 1.12
3+
go 1.23.1
44

55
require (
66
github.com/Songmu/go-ltsv v0.0.0-20181014062614-c30af2b7b171
77
github.com/Wing924/ltsv v0.3.1
8-
github.com/kr/pretty v0.1.0 // indirect
98
github.com/najeira/ltsv v0.0.0-20150303073528-40eb84a5b5d2
10-
github.com/stretchr/objx v0.2.0 // indirect
11-
github.com/stretchr/testify v1.3.0
9+
github.com/stretchr/testify v1.9.0
1210
github.com/ymotongpoo/goltsv v0.0.0-20130216005312-84f1da826252
13-
golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522 // indirect
1411
)
12+
13+
require (
14+
github.com/davecgh/go-spew v1.1.1 // indirect
15+
github.com/kr/pretty v0.1.0 // indirect
16+
github.com/pmezard/go-difflib v1.0.0 // indirect
17+
gopkg.in/yaml.v3 v3.0.1 // indirect
18+
)
19+
20+
replace github.com/Wing924/ltsv => ../

bench/go.sum

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,5 @@
11
github.com/Songmu/go-ltsv v0.0.0-20181014062614-c30af2b7b171 h1:nwdeQV2pNjaTv3os4N4/bKDqv0PxW/9DoEAdtW6sY9o=
22
github.com/Songmu/go-ltsv v0.0.0-20181014062614-c30af2b7b171/go.mod h1:LBP+tS9C2iiUoR7AGPaZYY+kjXgB5eZxZKbSEBL9UFw=
3-
github.com/Wing924/ltsv v0.3.0 h1:MZ3hwx9we3SBDPDyyhrC9s7/y4on5BedGbEQA3Epcz0=
4-
github.com/Wing924/ltsv v0.3.0/go.mod h1:zl47wq7H23LocdDHg7yJAH/Qdc4MWHXu1Evx9Ahilmo=
5-
github.com/Wing924/ltsv v0.3.1 h1:hbjzQ6YuS/sOm7nQJG7ddT9ua1yYmcH25Q8lsuiQE0A=
6-
github.com/Wing924/ltsv v0.3.1/go.mod h1:zl47wq7H23LocdDHg7yJAH/Qdc4MWHXu1Evx9Ahilmo=
7-
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
83
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
94
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
105
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
@@ -16,14 +11,11 @@ github.com/najeira/ltsv v0.0.0-20150303073528-40eb84a5b5d2 h1:woADZdsnRYjTG+9Rb4
1611
github.com/najeira/ltsv v0.0.0-20150303073528-40eb84a5b5d2/go.mod h1:VY0nAG+hmZziT1y1MBJFouy+Xkk4VYcONGlZv0uYtjg=
1712
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
1813
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
19-
github.com/stretchr/objx v0.1.0 h1:4G4v2dO3VZwixGIRoQ5Lfboy6nUhCyYzaqnIAPPhYs4=
20-
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
21-
github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
22-
github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
23-
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
14+
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
15+
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
2416
github.com/ymotongpoo/goltsv v0.0.0-20130216005312-84f1da826252 h1:zXhSTcwTFZgFo1z8IksjN05O9pHxVSQV3gtUfwlRIzw=
2517
github.com/ymotongpoo/goltsv v0.0.0-20130216005312-84f1da826252/go.mod h1:c1XsgVhgPubV0wqCuPeGZnptBjba8XpA+5mPaYTka0w=
26-
golang.org/x/xerrors v0.0.0-20190510150013-5403a72a6aaf h1:46YZosxRq9YDy5kLloc61WBGDQ5byv6wcwMyDQNzOE8=
27-
golang.org/x/xerrors v0.0.0-20190510150013-5403a72a6aaf/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
28-
golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522 h1:bhOzK9QyoD0ogCnFro1m2mz41+Ib0oOhfJnBp5MR4K4=
29-
golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
18+
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
19+
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
20+
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
21+
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

go.mod

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
module github.com/Wing924/ltsv
22

3-
go 1.12
3+
go 1.23.1
4+
5+
require github.com/stretchr/testify v1.9.0
46

57
require (
6-
github.com/stretchr/testify v1.3.0
7-
golang.org/x/xerrors v0.0.0-20190510150013-5403a72a6aaf
8+
github.com/davecgh/go-spew v1.1.1 // indirect
9+
github.com/pmezard/go-difflib v1.0.0 // indirect
10+
gopkg.in/yaml.v3 v3.0.1 // indirect
811
)

go.sum

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
1+
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
2+
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
23
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
34
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
4-
github.com/stretchr/objx v0.1.0 h1:4G4v2dO3VZwixGIRoQ5Lfboy6nUhCyYzaqnIAPPhYs4=
5-
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
6-
github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
7-
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
8-
golang.org/x/xerrors v0.0.0-20190510150013-5403a72a6aaf h1:46YZosxRq9YDy5kLloc61WBGDQ5byv6wcwMyDQNzOE8=
9-
golang.org/x/xerrors v0.0.0-20190510150013-5403a72a6aaf/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
5+
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
6+
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
7+
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
8+
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
9+
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
10+
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

parser.go

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ package ltsv
22

33
import (
44
"bytes"
5-
6-
"golang.org/x/xerrors"
5+
"errors"
6+
"fmt"
77
)
88

99
type (
@@ -38,15 +38,15 @@ var DefaultParser = Parser{
3838

3939
var (
4040
// ErrMissingLabel is an error to describe label is missing (ex. 'my_value')
41-
ErrMissingLabel = xerrors.New("missing label")
41+
ErrMissingLabel = errors.New("missing label")
4242
// ErrEmptyLabel is an error to describe label is empty (ex. ':my_value')
43-
ErrEmptyLabel = xerrors.New("empty label")
43+
ErrEmptyLabel = errors.New("empty label")
4444
// ErrInvalidLabel is an error to describe label contains invalid char (ex. 'my\tlabel:my_value')
45-
ErrInvalidLabel = xerrors.New("invalid label")
45+
ErrInvalidLabel = errors.New("invalid label")
4646
// ErrInvalidValue is an error to describe value contains invalid char (ex. 'my_label:my_value\n')
47-
ErrInvalidValue = xerrors.New("invalid value")
47+
ErrInvalidValue = errors.New("invalid value")
4848
// Break is an error for break loop
49-
Break = xerrors.New("break")
49+
Break = errors.New("break")
5050
)
5151

5252
// ParseField parse LTSV-encoded field and return the label and value.
@@ -58,18 +58,18 @@ func (p Parser) ParseField(field []byte) (label []byte, value []byte, err error)
5858
value = field[idx+1:]
5959
if p.StrictMode {
6060
if err = validateLabel(label); err != nil {
61-
return nil, nil, xerrors.Errorf("bad field label syntax %q: %w", string(field), err)
61+
return nil, nil, fmt.Errorf("bad field label syntax %q: %w", string(field), err)
6262
}
6363
if err = validateValue(value); err != nil {
64-
return nil, nil, xerrors.Errorf("bad field value syntax %q: %w", string(field), err)
64+
return nil, nil, fmt.Errorf("bad field value syntax %q: %w", string(field), err)
6565
}
6666
}
6767
} else {
6868
switch idx {
6969
case -1:
70-
err = xerrors.Errorf("bad field syntax %q: %w", string(field), ErrMissingLabel)
70+
err = fmt.Errorf("bad field syntax %q: %w", string(field), ErrMissingLabel)
7171
case 0:
72-
err = xerrors.Errorf("bad field syntax %q: %w", string(field), ErrEmptyLabel)
72+
err = fmt.Errorf("bad field syntax %q: %w", string(field), ErrEmptyLabel)
7373
}
7474
}
7575
return
@@ -94,14 +94,14 @@ func (p Parser) ParseLine(line []byte, callback func(label []byte, value []byte)
9494
}
9595
label, value, err := p.ParseField(field)
9696
if err != nil {
97-
return xerrors.Errorf("bad line syntax %q: %w", string(oriLine), err)
97+
return fmt.Errorf("bad line syntax %q: %w", string(oriLine), err)
9898
}
9999

100100
if err = callback(label, value); err != nil {
101-
if err == Break {
101+
if errors.Is(err, Break) {
102102
break
103103
}
104-
return xerrors.Errorf("ParseLine callback error: %w", err)
104+
return fmt.Errorf("ParseLine callback error: %w", err)
105105
}
106106
}
107107
return nil
@@ -118,7 +118,7 @@ func (p Parser) ParseLineAsMap(line []byte, record map[string]string) (map[strin
118118
return nil
119119
})
120120
if err != nil {
121-
return nil, xerrors.Errorf(": %w", err)
121+
return nil, fmt.Errorf(": %w", err)
122122
}
123123
return record, nil
124124
}
@@ -132,15 +132,15 @@ func (p Parser) ParseLineAsSlice(line []byte, record []Field) ([]Field, error) {
132132
return nil
133133
})
134134
if err != nil {
135-
return nil, xerrors.Errorf(": %w", err)
135+
return nil, fmt.Errorf(": %w", err)
136136
}
137137
return record, nil
138138
}
139139

140140
func validateLabel(label []byte) error {
141141
for _, c := range label {
142142
if !isValidKey(c) {
143-
return xerrors.Errorf("invalid char %q used in label %q: %w", c, string(label), ErrInvalidLabel)
143+
return fmt.Errorf("invalid char %q used in label %q: %w", c, string(label), ErrInvalidLabel)
144144
}
145145
}
146146
return nil
@@ -149,7 +149,7 @@ func validateLabel(label []byte) error {
149149
func validateValue(value []byte) error {
150150
for _, c := range value {
151151
if !isValidValue(c) {
152-
return xerrors.Errorf("invalid char %q used in value %q: %w", c, string(value), ErrInvalidValue)
152+
return fmt.Errorf("invalid char %q used in value %q: %w", c, string(value), ErrInvalidValue)
153153
}
154154
}
155155
return nil

parser_test.go

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
package ltsv
22

33
import (
4+
"errors"
45
"fmt"
56
"testing"
67

7-
"golang.org/x/xerrors"
8-
98
"github.com/stretchr/testify/assert"
109
"github.com/stretchr/testify/require"
1110
)
@@ -40,13 +39,13 @@ func TestParseLine_break(t *testing.T) {
4039
func TestParseLine_error(t *testing.T) {
4140
line := []byte("foo:123\tbar:456")
4241
counter := 0
43-
customErr := xerrors.New("custom error")
42+
customErr := errors.New("custom error")
4443
err := ParseLine(line, func(label []byte, value []byte) error {
4544
counter++
4645
return customErr
4746
})
4847
assert.Error(t, err)
49-
assert.True(t, xerrors.Is(err, customErr))
48+
assert.True(t, errors.Is(err, customErr))
5049
assert.Equal(t, 1, counter)
5150
}
5251

@@ -72,7 +71,7 @@ func TestParseLineAsMap(t *testing.T) {
7271
m, err := ParseLineAsMap([]byte(test.line), nil)
7372
if test.err != nil {
7473
assert.Error(t, err)
75-
assert.True(t, xerrors.Is(err, test.err))
74+
assert.ErrorIs(t, err, test.err)
7675
return
7776
}
7877
require.NoError(t, err)
@@ -112,7 +111,7 @@ func TestParseLineAsSlice(t *testing.T) {
112111
m, err := ParseLineAsSlice([]byte(test.line), nil)
113112
if test.err != nil {
114113
assert.Error(t, err)
115-
assert.True(t, xerrors.Is(err, test.err))
114+
assert.ErrorIs(t, err, test.err)
116115
return
117116
}
118117
require.NoError(t, err)
@@ -151,7 +150,7 @@ func TestParseField(t *testing.T) {
151150
label, value, err := ParseField([]byte(test.line))
152151
if test.err != nil {
153152
assert.Error(t, err)
154-
assert.Truef(t, xerrors.Is(err, test.err), "%+v", err)
153+
assert.ErrorIs(t, err, test.err)
155154
return
156155
}
157156
require.NoError(t, err)

0 commit comments

Comments
 (0)