Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce runtime.ForMatrixVersion #549

Closed
ShadowJonathan opened this issue Nov 3, 2022 · 4 comments
Closed

Introduce runtime.ForMatrixVersion #549

ShadowJonathan opened this issue Nov 3, 2022 · 4 comments

Comments

@ShadowJonathan
Copy link
Contributor

ShadowJonathan commented Nov 3, 2022

Related to #335, and as a related alternative to what I was trying to do in #242;

Introduce runtime.ForMatrixVersion(major, minor uint8), which will fetch /client/versions and compare if the given version is compatible with any version given.

If not, skip the test.

This'd make it possible for complement to skip whole hosts of tests automatically if the server does not broadcast support for it.

It would also self-document the feature prescribing itself only for/after a certain matrix version, which would help with sorting through them at a later time.

In the future, it could also be possible to do the same for MSCs (via `unstable_features matching, and such)

@clokep
Copy link
Member

clokep commented Nov 7, 2022

Is the assumption here that runtime.ForMatrixVersion(1, 4) would mean that anything >= 1.4 would be OK?

I'm unsure if that's valid.

@ShadowJonathan
Copy link
Contributor Author

>=1.4,<2.0, more or less.

Do you think specifying an upper bound (for when a feature is deprecated) is needed?

@clokep
Copy link
Member

clokep commented Nov 7, 2022

Do you think specifying an upper bound (for when a feature is deprecated) is needed?

For what we have today, probably not. I guess we could always handle that in the future.

@kegsay
Copy link
Member

kegsay commented Oct 9, 2023

Closing this. We want to move away from Complement dictating what tests are run. Whilst I like the idea of having Complement self-configure itself, it could also be a bit of a nightmare. If /versions omits a previously working version, tests will be skipped and nothing will fail. This feels like a bad failure mode which can easily be avoided by just stating what versions you support at test execution time.

@kegsay kegsay closed this as completed Oct 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants