With DV always enforced, the "hand written validation" subtest (which
set DeclarativeValidation=off and emulated 1.35) now exercises the
same code path as "Beta disabled". Remove it along with the
MinEmulationVersion option, the WithMinEmulationVersion helper,
deDuplicateErrors, and the now-tautological imperative-vs-declarative
equivalence checks.
Add declarative_validation_test.go under autoscaling/scale/ and apps/scale/
that invoke ValidateScaleUpdate via VerifyUpdateValidationEquivalenceFunc.
The tests observe the rules declared by the generated fixtures, satisfying
AssertDeclarativeCoverage for autoscaling/v1.Scale, apps/v1beta1.Scale,
and apps/v1beta2.Scale.
Remove the autoscaling/v1.Scale, apps/v1beta1.Scale, and apps/v1beta2.Scale
entries from coverage-allowlist.yaml, then regenerate declarative-validation
test fixtures so the corresponding RegisterDeclaredRules calls and TestMain
files are emitted under autoscaling/scale/ and apps/scale/.
Move the existing declarative_validation_test.go files out of
pkg/registry/ into a top-level tree at
test/declarative_validation/<group>/<kind>/. The new location pairs
each hand-written test with the per-Kind TestMain and version-init
files emitted by validation-gen, so the coverage gate runs alongside
the equivalence checks and apiVersions no longer needs to be
hand-maintained.
Pass -test-output-root and -test-allowlist to validation-gen so the
per-Kind coverage fixtures regenerate alongside the validators. Add the
allowlist YAML at test/declarative_validation/coverage-allowlist.yaml.