-
Notifications
You must be signed in to change notification settings - Fork 711
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
features: Make Main Package Feature Tests Public #1643
base: main
Are you sure you want to change the base?
features: Make Main Package Feature Tests Public #1643
Conversation
I'm sure we could eventually move all other feature tests to this new "internal/features" directory and mirror them in the "features" directory, but I think this is a good start for now. |
Move all feature teats in the main package to a new internal directory, "internal/features", which can be used by the main package and also mirrored in the "features" package for public use. Signed-off-by: Nate Sweet <[email protected]>
aeafd17
to
2886841
Compare
Thank you for putting this PR together! I want to share some concerns I have about expanding the The features package was originally designed to closely mirror I've also noticed that the proposed internal package approach would create challenges - specifically with feature tests in other (sub)packages like For handling feature testing needs, here are the approaches I'd recommend (in order of preference):
Let me know what you think. |
The guarantee I would want the
If you notice how this PR is laid out it is solving the exact same problem for the top level package (including tests that consumed parts of the package it was in).
It won't work for my use case.
I could do this, but I would not maintain it as well as this library could.
This library is a good place for this logic to live for public consumption, because it must keep the checks up to date anyways for itself. Stability is a balance between literal API stability and coherence. Sorry for reiterating this, but it's essential. Literal API stability in the |
To me, just adding 14 new public APIs without a specific use-case isn't evidence of demand for a feature. It's not my intention to sound pedantic here, so for reference I would like to refer to the original issue that led to the
Maybe I didn't express myself well enough here. My concern is that this approach won't be as clean for feature tests that don't live in the main package and depend on the main package. E.g. Line 167 in fd1fe1b
Could you elaborate on why it won't work and what exactly that use-case is? Given your specifics, maybe we can find some middle ground. |
Move all feature teats in the main package to a new internal directory, "internal/features", which can be used by the main package and also mirrored in the "features" package for public use.