(test) Removed convertRegistry from e2e test infra that implicitly converts DDS registries#27437
Open
agarwal-navin wants to merge 4 commits into
Open
(test) Removed convertRegistry from e2e test infra that implicitly converts DDS registries#27437agarwal-navin wants to merge 4 commits into
agarwal-navin wants to merge 4 commits into
Conversation
… converts DDS registries
Contributor
|
Hi! Thank you for opening this PR. Want me to review it? Based on the diff (1592 lines, 65 files), I've queued these reviewers:
How this works
|
Contributor
|
🔗 No broken links found! ✅ Your attention to detail is admirable. linkcheck output |
Contributor
Fleet Review — In progressRunning reviewers: correctness, security, api-compatibility, performance, testing |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
The
convertRegistryfunction in the test infra that replaces DDS registries passed in by tests with a versioned one as per the compat version the test is running in. For example, if the test is running in layer compat version mode whereDataStoreversion is 1.4.0, it replaces the registry with its 1.4.0 version.This works in most cases but has a few shortcomings:
configuredSharedTree), this is replaced with the base registry losing all the custom configurations.This change fixes some of the above problems by doing the following:
convertRegistryfunction.describeCompat. There are a few tests which still use the latest APIs - added comments / tagged task items for them.Future work
The test infra still implcitily uses compat versions of other objects - driver, loader, runtime, data store, DDS, etc. when tests don't create these objects explicitly. But these don't happen for all patterns - for example, a test can create a loader of a particular version and use it to create different versions of container runtimes and other objects leading to an unexpected mismatch.
One approach to fix this is to have APIs that explicitly tell the test which API is being used - old / new, for create / load, etc. That combined with the lint rules should make it clearer and more intuitive to test authors when they use incorrect APIs or incorrect version combinations of objects.