Skip to content

Commit 857ddea

Browse files
authored
Merge pull request #248 from elezar/schema-submodule
Create schema submodule
2 parents a76f272 + af0ba04 commit 857ddea

File tree

14 files changed

+150
-56
lines changed

14 files changed

+150
-56
lines changed

Makefile

+7-1
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,13 @@ clean-schema:
103103

104104
# tests for go packages
105105
test-gopkgs:
106-
$(Q)$(GO_TEST) ./...
106+
$(Q)failures_in=""; \
107+
for mod in $$(find . -name go.mod); do \
108+
echo "Testing $$(dirname $$mod)..."; ( \
109+
cd $$(dirname $$mod) && $(GO_TEST) ./... \
110+
) || failures_in="$$failures_in\ntags.cncf.io/container-device-interface/$$(dirname $$mod)"; \
111+
done; \
112+
if [ "$$failures_in" != "" ]; then echo "\nTests failed in:$$failures_in\n"; exit 1; fi
107113

108114
# tests for CDI Spec JSON schema
109115
test-schema: bin/validate

cmd/cdi/cmd/root.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import (
2323
"github.com/spf13/cobra"
2424

2525
"tags.cncf.io/container-device-interface/pkg/cdi"
26-
"tags.cncf.io/container-device-interface/pkg/cdi/validate"
2726
"tags.cncf.io/container-device-interface/schema"
2827
)
2928

@@ -65,7 +64,7 @@ func initSpecDirs() {
6564
fmt.Printf("failed to load JSON schema %s: %v\n", schemaName, err)
6665
os.Exit(1)
6766
}
68-
cdi.SetSpecValidator(validate.WithSchema(s))
67+
cdi.SetSpecValidator(schema.WithSchema(s))
6968

7069
if len(specDirs) > 0 {
7170
cache, err := cdi.NewCache(

cmd/cdi/go.mod

+6-3
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ require (
99
github.com/spf13/cobra v1.6.0
1010
sigs.k8s.io/yaml v1.3.0
1111
tags.cncf.io/container-device-interface v0.0.0
12+
tags.cncf.io/container-device-interface/schema v0.0.0
1213
)
1314

1415
require (
@@ -25,6 +26,8 @@ require (
2526
tags.cncf.io/container-device-interface/specs-go v0.8.0 // indirect
2627
)
2728

28-
replace tags.cncf.io/container-device-interface => ../..
29-
30-
replace tags.cncf.io/container-device-interface/specs-go => ../../specs-go
29+
replace (
30+
tags.cncf.io/container-device-interface => ../..
31+
tags.cncf.io/container-device-interface/schema => ../../schema
32+
tags.cncf.io/container-device-interface/specs-go => ../../specs-go
33+
)

cmd/validate/go.mod

+9-4
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,21 @@ module tags.cncf.io/container-device-interface/cmd/validate
22

33
go 1.20
44

5-
require tags.cncf.io/container-device-interface v0.0.0
5+
require tags.cncf.io/container-device-interface/schema v0.0.0
66

77
require (
88
github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f // indirect
99
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
1010
github.com/xeipuuv/gojsonschema v1.2.0 // indirect
11+
golang.org/x/mod v0.19.0 // indirect
1112
gopkg.in/yaml.v2 v2.4.0 // indirect
1213
sigs.k8s.io/yaml v1.3.0 // indirect
14+
tags.cncf.io/container-device-interface v0.0.0 // indirect
15+
tags.cncf.io/container-device-interface/specs-go v0.8.0 // indirect
1316
)
1417

15-
replace tags.cncf.io/container-device-interface => ../..
16-
17-
replace tags.cncf.io/container-device-interface/specs-go => ../../specs-go
18+
replace (
19+
tags.cncf.io/container-device-interface => ../..
20+
tags.cncf.io/container-device-interface/schema => ../../schema
21+
tags.cncf.io/container-device-interface/specs-go => ../../specs-go
22+
)

cmd/validate/go.sum

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:
1717
github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74=
1818
github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y=
1919
golang.org/x/mod v0.19.0 h1:fEdghXQSo20giMthA7cd28ZC+jts4amQ3YMXiP5oMQ8=
20+
golang.org/x/mod v0.19.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
2021
golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o=
2122
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
2223
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

go.mod

-3
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ require (
77
github.com/opencontainers/runtime-spec v1.1.0
88
github.com/opencontainers/runtime-tools v0.9.1-0.20221107090550-2e043c6bd626
99
github.com/stretchr/testify v1.7.0
10-
github.com/xeipuuv/gojsonschema v1.2.0
1110
golang.org/x/sys v0.19.0
1211
sigs.k8s.io/yaml v1.3.0
1312
tags.cncf.io/container-device-interface/specs-go v0.8.0
@@ -17,8 +16,6 @@ require (
1716
github.com/davecgh/go-spew v1.1.1 // indirect
1817
github.com/pmezard/go-difflib v1.0.0 // indirect
1918
github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635 // indirect
20-
github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f // indirect
21-
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
2219
golang.org/x/mod v0.19.0 // indirect
2320
gopkg.in/yaml.v2 v2.4.0 // indirect
2421
gopkg.in/yaml.v3 v3.0.1 // indirect

pkg/cdi/cache_test.go

-3
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ import (
3030
oci "github.com/opencontainers/runtime-spec/specs-go"
3131
"github.com/stretchr/testify/require"
3232
"sigs.k8s.io/yaml"
33-
"tags.cncf.io/container-device-interface/pkg/cdi/validate"
3433
cdi "tags.cncf.io/container-device-interface/specs-go"
3534
)
3635

@@ -1559,8 +1558,6 @@ containerEdits:
15591558
other *Cache
15601559
)
15611560

1562-
SetSpecValidator(validate.WithNamedSchema("builtin"))
1563-
15641561
if len(tc.invalid) != 0 {
15651562
dir, err = createSpecDirs(t, nil, nil)
15661563
require.NoError(t, err)

pkg/cdi/spec.go

+11-4
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,13 @@ const (
3737
defaultSpecExt = ".yaml"
3838
)
3939

40+
type validator interface {
41+
Validate(*cdi.Spec) error
42+
}
43+
4044
var (
4145
// Externally set CDI Spec validation function.
42-
specValidator func(*cdi.Spec) error
46+
specValidator validator
4347
validatorLock sync.RWMutex
4448
)
4549

@@ -236,6 +240,9 @@ func (s *Spec) validate() (map[string]*Device, error) {
236240
}
237241
devices[d.Name] = dev
238242
}
243+
if len(devices) == 0 {
244+
return nil, fmt.Errorf("invalid spec, no devices")
245+
}
239246

240247
return devices, nil
241248
}
@@ -253,10 +260,10 @@ func ParseSpec(data []byte) (*cdi.Spec, error) {
253260
// SetSpecValidator sets a CDI Spec validator function. This function
254261
// is used for extra CDI Spec content validation whenever a Spec file
255262
// loaded (using ReadSpec() or written (using WriteSpec()).
256-
func SetSpecValidator(fn func(*cdi.Spec) error) {
263+
func SetSpecValidator(v validator) {
257264
validatorLock.Lock()
258265
defer validatorLock.Unlock()
259-
specValidator = fn
266+
specValidator = v
260267
}
261268

262269
// validateSpec validates the Spec using the external validator.
@@ -267,7 +274,7 @@ func validateSpec(raw *cdi.Spec) error {
267274
if specValidator == nil {
268275
return nil
269276
}
270-
err := specValidator(raw)
277+
err := specValidator.Validate(raw)
271278
if err != nil {
272279
return fmt.Errorf("Spec validation failed: %w", err)
273280
}

pkg/cdi/spec_test.go

-5
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,7 @@ import (
2626
"sigs.k8s.io/yaml"
2727

2828
"github.com/stretchr/testify/require"
29-
"tags.cncf.io/container-device-interface/pkg/cdi/validate"
3029
"tags.cncf.io/container-device-interface/pkg/parser"
31-
"tags.cncf.io/container-device-interface/schema"
3230
cdi "tags.cncf.io/container-device-interface/specs-go"
3331
)
3432

@@ -353,9 +351,6 @@ devices:
353351
dir, err := mkTestDir(t, nil)
354352
require.NoError(t, err)
355353

356-
SetSpecValidator(validate.WithDefaultSchema())
357-
defer SetSpecValidator(validate.WithSchema(schema.NopSchema()))
358-
359354
t.Run(tc.name, func(t *testing.T) {
360355
var (
361356
raw = &cdi.Spec{}

schema/go.mod

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
module tags.cncf.io/container-device-interface/schema
2+
3+
go 1.20
4+
5+
require (
6+
github.com/stretchr/testify v1.7.0
7+
github.com/xeipuuv/gojsonschema v1.2.0
8+
sigs.k8s.io/yaml v1.3.0
9+
tags.cncf.io/container-device-interface v0.0.0
10+
tags.cncf.io/container-device-interface/specs-go v0.8.0
11+
)
12+
13+
require (
14+
github.com/davecgh/go-spew v1.1.1 // indirect
15+
github.com/fsnotify/fsnotify v1.5.1 // indirect
16+
github.com/opencontainers/runtime-spec v1.1.0 // indirect
17+
github.com/opencontainers/runtime-tools v0.9.1-0.20221107090550-2e043c6bd626 // indirect
18+
github.com/pmezard/go-difflib v1.0.0 // indirect
19+
github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635 // indirect
20+
github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f // indirect
21+
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
22+
golang.org/x/mod v0.19.0 // indirect
23+
golang.org/x/sys v0.19.0 // indirect
24+
gopkg.in/yaml.v2 v2.4.0 // indirect
25+
gopkg.in/yaml.v3 v3.0.1 // indirect
26+
)
27+
28+
replace (
29+
tags.cncf.io/container-device-interface => ../
30+
tags.cncf.io/container-device-interface/specs-go => ../specs-go
31+
)

schema/go.sum

+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM=
2+
github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ=
3+
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
4+
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
5+
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
6+
github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI=
7+
github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU=
8+
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
9+
github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA=
10+
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
11+
github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
12+
github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
13+
github.com/mndrix/tap-go v0.0.0-20171203230836-629fa407e90b/go.mod h1:pzzDgJWZ34fGzaAZGFW22KVZDfyrYW+QABMrWnJBnSs=
14+
github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ=
15+
github.com/opencontainers/runtime-spec v1.0.3-0.20220825212826-86290f6a00fb/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
16+
github.com/opencontainers/runtime-spec v1.1.0 h1:HHUyrt9mwHUjtasSbXSMvs4cyFxh+Bll4AjJ9odEGpg=
17+
github.com/opencontainers/runtime-spec v1.1.0/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
18+
github.com/opencontainers/runtime-tools v0.9.1-0.20221107090550-2e043c6bd626 h1:DmNGcqH3WDbV5k8OJ+esPWbqUOX5rMLR2PMvziDMJi0=
19+
github.com/opencontainers/runtime-tools v0.9.1-0.20221107090550-2e043c6bd626/go.mod h1:BRHJJd0E+cx42OybVYSgUvZmU0B8P9gZuRXlZUP7TKI=
20+
github.com/opencontainers/selinux v1.9.1 h1:b4VPEF3O5JLZgdTDBmGepaaIbAo0GqoF6EBRq5f/g3Y=
21+
github.com/opencontainers/selinux v1.9.1/go.mod h1:2i0OySw99QjzBBQByd1Gr9gSjvuho1lHsJxIJ3gGbJI=
22+
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
23+
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
24+
github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE=
25+
github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
26+
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
27+
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
28+
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
29+
github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
30+
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
31+
github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635 h1:kdXcSzyDtseVEc4yCz2qF8ZrQvIDBJLl4S1c3GCXmoI=
32+
github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww=
33+
github.com/urfave/cli v1.19.1/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
34+
github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f h1:J9EGpcZtP0E/raorCMxlFGSTBrsSlaDGf3jU/qvAE2c=
35+
github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU=
36+
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0=
37+
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ=
38+
github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74=
39+
github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y=
40+
golang.org/x/mod v0.19.0 h1:fEdghXQSo20giMthA7cd28ZC+jts4amQ3YMXiP5oMQ8=
41+
golang.org/x/mod v0.19.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
42+
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
43+
golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
44+
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
45+
golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o=
46+
golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
47+
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
48+
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
49+
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
50+
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
51+
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
52+
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
53+
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
54+
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
55+
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=

schema/schema.go

+15-5
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import (
3232

3333
schema "github.com/xeipuuv/gojsonschema"
3434
"tags.cncf.io/container-device-interface/internal/validation"
35+
cdi "tags.cncf.io/container-device-interface/specs-go"
3536
)
3637

3738
const (
@@ -48,6 +49,15 @@ type Schema struct {
4849
schema *schema.Schema
4950
}
5051

52+
// Validate applies a schema validation on the supplied CDI specification.
53+
// If the Schema is nil, no validation is performed.
54+
func (s *Schema) Validate(spec *cdi.Spec) error {
55+
if s == nil {
56+
return nil
57+
}
58+
return s.ValidateType(spec)
59+
}
60+
5161
// Error wraps a JSON validation result.
5262
type Error struct {
5363
Result *schema.Result
@@ -96,9 +106,9 @@ func ReadAndValidate(r io.Reader) ([]byte, error) {
96106
return current.ReadAndValidate(r)
97107
}
98108

99-
// Validate validates the data read from an io.Reader against the active schema.
100-
func Validate(r io.Reader) error {
101-
return current.Validate(r)
109+
// ValidateReader validates the data read from an io.Reader against the active schema.
110+
func ValidateReader(r io.Reader) error {
111+
return current.ValidateReader(r)
102112
}
103113

104114
// ValidateData validates the given JSON document against the active schema.
@@ -165,8 +175,8 @@ func (s *Schema) ReadAndValidate(r io.Reader) ([]byte, error) {
165175
return data, s.validate(loader)
166176
}
167177

168-
// Validate validates the data read from an io.Reader against the schema.
169-
func (s *Schema) Validate(r io.Reader) error {
178+
// ValidateReader validates the data read from an io.Reader against the schema.
179+
func (s *Schema) ValidateReader(r io.Reader) error {
170180
_, err := s.ReadAndValidate(r)
171181
return err
172182
}

schema/schema_test.go

+6-6
Original file line numberDiff line numberDiff line change
@@ -298,9 +298,9 @@ func readAndValidate(t *testing.T, scm *schema.Schema, path string, shouldLoad,
298298
verifyResult(t, scm, err, shouldLoad, isValid)
299299

300300
if scm != nil {
301-
err = scm.Validate(bytes.NewReader(data))
301+
err = scm.ValidateReader(bytes.NewReader(data))
302302
} else {
303-
err = schema.Validate(bytes.NewReader(data))
303+
err = schema.ValidateReader(bytes.NewReader(data))
304304
}
305305

306306
verifyResult(t, scm, err, shouldLoad, isValid)
@@ -315,17 +315,17 @@ func validateRead(t *testing.T, scm *schema.Schema, path string, shouldLoad, isV
315315
r := io.TeeReader(f, buf)
316316

317317
if scm != nil {
318-
err = scm.Validate(r)
318+
err = scm.ValidateReader(r)
319319
} else {
320-
err = schema.Validate(r)
320+
err = schema.ValidateReader(r)
321321
}
322322

323323
verifyResult(t, scm, err, shouldLoad, isValid)
324324

325325
if scm != nil {
326-
err = scm.Validate(bytes.NewReader(buf.Bytes()))
326+
err = scm.ValidateReader(bytes.NewReader(buf.Bytes()))
327327
} else {
328-
err = schema.Validate(bytes.NewReader(buf.Bytes()))
328+
err = schema.ValidateReader(bytes.NewReader(buf.Bytes()))
329329
}
330330

331331
verifyResult(t, scm, err, shouldLoad, isValid)

0 commit comments

Comments
 (0)