Skip to content

Commit e8560f9

Browse files
committed
pkg/cdi: unexport spec.Write(), NewSpec().
This should reduce confusion about how generates Specs should be written (cache.WriteSpec() vs. spec.Write()) and also reduce the possibility/temptation for users to bypass the registry/cache when interacting with Specs. Signed-off-by: Krisztian Litkey <krisztian.litkey@intel.com>
1 parent 84270f8 commit e8560f9

File tree

3 files changed

+15
-15
lines changed

3 files changed

+15
-15
lines changed

pkg/cdi/cache.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -294,12 +294,12 @@ func (c *Cache) WriteSpec(raw *cdi.Spec, name string) error {
294294
path += defaultSpecExt
295295
}
296296

297-
spec, err = NewSpec(raw, path, prio)
297+
spec, err = newSpec(raw, path, prio)
298298
if err != nil {
299299
return err
300300
}
301301

302-
return spec.Write(true)
302+
return spec.write(true)
303303
}
304304

305305
// RemoveSpec removes a Spec with the given name from the highest

pkg/cdi/spec.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -83,19 +83,19 @@ func ReadSpec(path string, priority int) (*Spec, error) {
8383
return nil, errors.Errorf("failed to parse CDI Spec %q, no Spec data", path)
8484
}
8585

86-
spec, err := NewSpec(raw, path, priority)
86+
spec, err := newSpec(raw, path, priority)
8787
if err != nil {
8888
return nil, err
8989
}
9090

9191
return spec, nil
9292
}
9393

94-
// NewSpec creates a new Spec from the given CDI Spec data. The
94+
// newSpec creates a new Spec from the given CDI Spec data. The
9595
// Spec is marked as loaded from the given path with the given
96-
// priority. If Spec data validation fails NewSpec returns a nil
96+
// priority. If Spec data validation fails newSpec returns a nil
9797
// Spec and an error.
98-
func NewSpec(raw *cdi.Spec, path string, priority int) (*Spec, error) {
98+
func newSpec(raw *cdi.Spec, path string, priority int) (*Spec, error) {
9999
err := validateSpec(raw)
100100
if err != nil {
101101
return nil, err
@@ -121,8 +121,8 @@ func NewSpec(raw *cdi.Spec, path string, priority int) (*Spec, error) {
121121
}
122122

123123
// Write the CDI Spec to the file associated with it during instantiation
124-
// by NewSpec() or ReadSpec().
125-
func (s *Spec) Write(overwrite bool) error {
124+
// by newSpec() or ReadSpec().
125+
func (s *Spec) write(overwrite bool) error {
126126
var (
127127
data []byte
128128
dir string
@@ -256,7 +256,7 @@ func ParseSpec(data []byte) (*cdi.Spec, error) {
256256

257257
// SetSpecValidator sets a CDI Spec validator function. This function
258258
// is used for extra CDI Spec content validation whenever a Spec file
259-
// loaded (using ReadSpec() or NewSpec()) or written (Spec.Write()).
259+
// loaded (using ReadSpec() or written (using WriteSpec()).
260260
func SetSpecValidator(fn func(*cdi.Spec) error) {
261261
specValidator = fn
262262
}

pkg/cdi/spec_test.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,7 @@ devices:
246246
}
247247
require.NoError(t, err)
248248

249-
spec, err = NewSpec(raw, tc.name, 0)
249+
spec, err = newSpec(raw, tc.name, 0)
250250
if tc.invalid || tc.schemaFail {
251251
require.Error(t, err)
252252
require.Nil(t, spec)
@@ -367,22 +367,22 @@ devices:
367367
err = yaml.Unmarshal([]byte(tc.data), raw)
368368
require.NoError(t, err)
369369

370-
spec, err = NewSpec(raw, filepath.Join(dir, tc.name), 0)
370+
spec, err = newSpec(raw, filepath.Join(dir, tc.name), 0)
371371
if tc.invalid {
372-
require.Error(t, err, "NewSpec with invalid data")
373-
require.Nil(t, spec, "NewSpec with invalid data")
372+
require.Error(t, err, "newSpec with invalid data")
373+
require.Nil(t, spec, "newSpec with invalid data")
374374
return
375375
}
376376

377377
require.NoError(t, err)
378378
require.NotNil(t, spec)
379379

380-
err = spec.Write(true)
380+
err = spec.write(true)
381381
require.NoError(t, err)
382382
_, err = os.Stat(spec.GetPath())
383383
require.NoError(t, err, "spec.Write destination file")
384384

385-
err = spec.Write(false)
385+
err = spec.write(false)
386386
require.Error(t, err)
387387

388388
chk, err = ReadSpec(spec.GetPath(), spec.GetPriority())

0 commit comments

Comments
 (0)