On 08/26/2018 12:39 AM, Michał Górny wrote: > On Sun, 2018-08-26 at 00:28 -0700, Zac Medico wrote: >> On 08/25/2018 07:11 PM, Andrew Savchenko wrote: >>> On Sat, 25 Aug 2018 14:24:02 -0400 Mike Gilbert wrote: >>>> On Sat, Aug 25, 2018 at 1:41 AM Andrew Savchenko <[email protected]> >>>> wrote: >>>>> >>>>> On Fri, 24 Aug 2018 14:24:06 -0400 Mike Gilbert wrote: >>>>>> --- >>>>>> general-concepts/dependencies/text.xml | 38 ++++++++++++++++++++++++++ >>>>>> 1 file changed, 38 insertions(+) >>>>>> >>>>>> diff --git a/general-concepts/dependencies/text.xml >>>>>> b/general-concepts/dependencies/text.xml >>>>>> index 2f10380..64be9dc 100644 >>>>>> --- a/general-concepts/dependencies/text.xml >>>>>> +++ b/general-concepts/dependencies/text.xml >>>>>> @@ -578,6 +578,44 @@ valid. >>>>>> </body> >>>>>> </section> >>>>>> >>>>>> +<section> >>>>>> +<title>Test Dependencies</title> >>>>>> +<body> >>>>>> + >>>>>> +<p> >>>>>> +Packages often have optional dependencies that are needed only when >>>>>> running >>>>>> +tests. These should be specified in DEPEND behind a USE flag. Often, the >>>>>> +'test' USE flag is used for this purpose. >>>>>> +</p> >>>>>> + >>>>>> +<p> >>>>>> +Since testing will likely fail when test dependencies are not >>>>>> installed, the >>>>>> +test phase should be disabled in this case. This may be accomplished >>>>>> via USE >>>>>> +conditionals in the RESTRICT variable. >>>>>> +</p> >>>>>> + >>>>>> +<p> >>>>>> +If other optional features must be enabled/disabled when testing, >>>>>> REQUIRED_USE >>>>>> +may be set to express this. >>>>>> +</p> >>>>>> + >>>>>> +<codesample lang="ebuild"> >>>>>> +# Define some USE flags >>>>>> +IUSE="debug test" >>>>>> + >>>>>> +# Disable test phase when test USE flag is disabled >>>>>> +RESTRICT="!test? ( test )" >>>>> >>>>> I do not understand why we need this useless code. If test USE flag >>>>> is disabled, tests must be disabled as well. It is PM's job and >>>>> there is no need to put this obvious stuff into each ebuild with >>>>> tests and extra deps. I see no reason to support running src_test() >>>>> with USE="-test". >>>> >>>> PMS does not specify that behavior (skipping src_test with USE=-test). >>>> It is better to define the requrement explicitly rather than relying >>>> on a Portage-specific behavior. >>> >>> Then PMS should be fixed. Putting useless code in thousands >>> of ebuilds due to bureaucratic reasons is ridiculous. Having strict >>> conformance to the PMS is good, but common sense should still be >>> considered. >> >> Since PMS doesn't specify the behavior of FEATURES, I suppose we could >> make FEATURES=test imply RESTRICT="!test? ( test )". Would there be any >> drawbacks to that? > > Except for Portage once again silently letting developers pass with non- > PMS behavior, and making other PMs fail with the ebuilds?
Is it really sane for other PMs to behave that way though? In PMS it says src_test "may be disabled by user too, using a PM-specific mechanism", which doesn't explicitly rule out behavior based on USE settings. -- Thanks, Zac
signature.asc
Description: OpenPGP digital signature
