Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type CompatibilityTestOptions ¶
type CompatibilityTestOptions struct { // Scheme is used to create new objects for filling, decoding, and for constructing serializers. // Required. Scheme *runtime.Scheme // TestDataDir points to a directory containing compatibility test data. // Complete() populates this with "testdata" if unset. TestDataDir string // TestDataDirCurrentVersion points to a directory containing compatibility test data for the current version. // Complete() populates this with "<TestDataDir>/HEAD" if unset. // Within this directory, `<group>.<version>.<kind>.[json|yaml|pb]` files are required to exist, and are: // * verified to match serialized FilledObjects[GVK] // * verified to decode without error // * verified to round-trip byte-for-byte when re-encoded // * verified to be semantically equal when decoded into memory TestDataDirCurrentVersion string // TestDataDirsPreviousVersions is a list of directories containing compatibility test data for previous versions. // Complete() populates this with "<TestDataDir>/v*" directories if nil. // Within these directories, `<group>.<version>.<kind>.[json|yaml|pb]` files are optional. If present, they are: // * verified to decode without error // * verified to round-trip byte-for-byte when re-encoded (or to match a `<group>.<version>.<kind>.[json|yaml|pb].after_roundtrip.[json|yaml|pb]` file if it exists) // * verified to be semantically equal when decoded into memory TestDataDirsPreviousVersions []string // Kinds is a list of fully qualified kinds to test. // Complete() populates this with Scheme.AllKnownTypes() if unset. Kinds []schema.GroupVersionKind // FilledObjects is an optional set of pre-filled objects to use for verifying HEAD fixtures. // Complete() populates this with the result of CompatibilityTestObject(Kinds[*], Scheme, FillFuncs) for any missing kinds. // Objects must deterministically populate every field and be identical on every invocation. FilledObjects map[schema.GroupVersionKind]runtime.Object // FillFuncs is an optional map of custom functions to use to fill instances of particular types. FillFuncs map[reflect.Type]FillFunc JSON runtime.Serializer YAML runtime.Serializer }
CompatibilityTestOptions holds configuration for running a compatibility test using in-memory objects and serialized files on disk representing the current code and serialized data from previous versions.
Example use: `NewCompatibilityTestOptions(scheme).Complete(t).Run(t)`
func NewCompatibilityTestOptions ¶
func NewCompatibilityTestOptions(scheme *runtime.Scheme) *CompatibilityTestOptions
func (*CompatibilityTestOptions) Complete ¶
func (c *CompatibilityTestOptions) Complete(t *testing.T) *CompatibilityTestOptions
func (*CompatibilityTestOptions) Run ¶
func (c *CompatibilityTestOptions) Run(t *testing.T)
Click to show internal directories.
Click to hide internal directories.