Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 697914

Summary: sys-apps/portage FEATURES= request: test-delay
Product: Portage Development Reporter: Kent Fredric (IRC: kent\n) <kentnl>
Component: Enhancement/Feature RequestsAssignee: Portage team <dev-portage>
Status: CONFIRMED ---    
Severity: normal CC: kingjon3377, pacho, sam
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://bugs.gentoo.org/show_bug.cgi?id=698920
https://bugs.gentoo.org/show_bug.cgi?id=517658
https://bugs.gentoo.org/show_bug.cgi?id=703348
Whiteboard:
Package list:
Runtime testing required: ---

Description Kent Fredric (IRC: kent\n) gentoo-dev 2019-10-17 07:27:40 UTC
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. ;)