chore: upgrade yaml (#29052)

This commit is contained in:
andig 2026-05-04 21:13:23 +02:00 • committed by GitHub
parent 53290f03a8
commit 2c0b330ad9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 38 additions and 19 deletions

4
go.mod
View file

@ -106,7 +106,7 @@ require (
gitlab.com/bboehmke/sunny v0.16.0 gitlab.com/bboehmke/sunny v0.16.0
go.bug.st/serial v1.6.4 go.bug.st/serial v1.6.4
go.uber.org/mock v0.6.0 go.uber.org/mock v0.6.0
go.yaml.in/yaml/v4 v4.0.0-rc.4 go.yaml.in/yaml/v4 v4.0.0-rc.4.0.20260501213337-dee8e44820ca
golang.org/x/crypto v0.50.0 golang.org/x/crypto v0.50.0
golang.org/x/crypto/x509roots/fallback v0.0.0-20260409153322-03ca0dcccbd3 golang.org/x/crypto/x509roots/fallback v0.0.0-20260409153322-03ca0dcccbd3
golang.org/x/exp v0.0.0-20260410095643-746e56fc9e2f golang.org/x/exp v0.0.0-20260410095643-746e56fc9e2f
@ -268,5 +268,3 @@ tool (
replace github.com/grid-x/modbus => github.com/evcc-io/modbus v0.0.0-20250501165638-8b6f1fbdb7ea replace github.com/grid-x/modbus => github.com/evcc-io/modbus v0.0.0-20250501165638-8b6f1fbdb7ea
replace github.com/lorenzodonini/ocpp-go => github.com/evcc-io/ocpp-go v0.0.0-20251212212612-b7f92ee0443b replace github.com/lorenzodonini/ocpp-go => github.com/evcc-io/ocpp-go v0.0.0-20251212212612-b7f92ee0443b
replace go.yaml.in/yaml/v4 => go.yaml.in/yaml/v4 v4.0.0-rc.3

4
go.sum
View file

@ -826,8 +826,8 @@ go.yaml.in/yaml/v2 v2.4.3 h1:6gvOSjQoTB3vt1l+CU+tSyi/HOjfOjRLJ4YwYZGwRO0=
go.yaml.in/yaml/v2 v2.4.3/go.mod h1:zSxWcmIDjOzPXpjlTTbAsKokqkDNAVtZO0WOMiT90s8= go.yaml.in/yaml/v2 v2.4.3/go.mod h1:zSxWcmIDjOzPXpjlTTbAsKokqkDNAVtZO0WOMiT90s8=
go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc=
go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg=
go.yaml.in/yaml/v4 v4.0.0-rc.3 h1:3h1fjsh1CTAPjW7q/EMe+C8shx5d8ctzZTrLcs/j8Go= go.yaml.in/yaml/v4 v4.0.0-rc.4.0.20260501213337-dee8e44820ca h1:I8isjG8ZtUoRJcHD9KtucGO8/R/cKWX4pr7I0DI+FiQ=
go.yaml.in/yaml/v4 v4.0.0-rc.3/go.mod h1:aZqd9kCMsGL7AuUv/m/PvWLdg5sjJsZ4oHDEnfPPfY0= go.yaml.in/yaml/v4 v4.0.0-rc.4.0.20260501213337-dee8e44820ca/go.mod h1:aZqd9kCMsGL7AuUv/m/PvWLdg5sjJsZ4oHDEnfPPfY0=
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=

View file

@ -179,9 +179,7 @@ energy:
await expect(restResult).toContainText("Status: unknown"); await expect(restResult).toContainText("Status: unknown");
await restResult.getByRole("link", { name: "validate" }).click(); await restResult.getByRole("link", { name: "validate" }).click();
await expect(restResult).toContainText("Status: failed"); await expect(restResult).toContainText("Status: failed");
await expect(restResult).toContainText( await expect(restResult).toContainText("mapping values are not allowed in this context");
"yaml: line 2: mapping values are not allowed in this context"
);
await expect(editor.locator(".line-numbers.error")).toHaveCount(1); await expect(editor.locator(".line-numbers.error")).toHaveCount(1);
// invalid field error // invalid field error

View file

@ -16,6 +16,7 @@ func ErrorAsJson(err error) any {
URI string `json:"uri,omitempty"` URI string `json:"uri,omitempty"`
}{ }{
Error: err.Error(), Error: err.Error(),
Line: yamlErrorLine(err),
} }
if ae, ok := errors.AsType[*api.ErrLoginRequired](err); ok { if ae, ok := errors.AsType[*api.ErrLoginRequired](err); ok {
@ -26,16 +27,12 @@ func ErrorAsJson(err error) any {
res.URI = ue.URL().String() res.URI = ue.URL().String()
} }
var (
ype *yaml.ParserError
yue *yaml.UnmarshalError
)
switch {
case errors.As(err, &ype):
res.Line = ype.Line
case errors.As(err, &yue):
res.Line = yue.Line
}
return res return res
} }
func yamlErrorLine(err error) int {
if err, ok := errors.AsType[*yaml.LoadError](err); ok {
return err.Mark.Line
}
return 0
}

26
util/error_test.go Normal file
View file

@ -0,0 +1,26 @@
package util
import (
"testing"
"github.com/stretchr/testify/require"
"go.yaml.in/yaml/v4"
)
func TestYamlFloat(t *testing.T) {
b := `example: 55.7351`
var res map[string]string
require.NoError(t, yaml.Unmarshal([]byte(b), &res))
}
func TestYamlError(t *testing.T) {
b := `block:
data: foo
- mapped`
var res map[string]any
err := yaml.Unmarshal([]byte(b), &res)
require.Error(t, err)
require.Equal(t, 3, yamlErrorLine(err))
}