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

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to