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. ;)