There's a recurring pain point when testing packages which in turn, have inherently circular dependencies.
X[test] requires Y, Y requires X.
This is something that is inherently unavoidable because Upstream are doing things that way. (python, ruby, rust, all do this)
What this means is, for a plethora of targets, FEATURES="test" causes unfixable dependency cycles.
There's an unpleasant workaround:
1. Install X with FEATURES="-test"
2. Install X --onlydeps --with-test-deps with FEATURES="-test"
3. Install X with FEATURES="test"
Instead, it would be nice to add a hint to the portage resolver that it is allowed to break cycles by internally toggling the "test" flag (and feature), if-and-only-if it would lead to a cycle, and then later, staging a rebuild of the same target with USE="test" FEATURES="test".
The usual opposition I hear from such an approach is "Why run tests if you're just going to install the packages without testing".
But my use-case is not to *actually use* the package, my usecase is to maximise my ability to test a wide variety of packages in as few steps as possible.
I'm not married to the name, just the concept. ;)