On Sun, 2018-08-26 at 01:43 -0700, Zac Medico wrote:
> On 08/26/2018 01:08 AM, Michał Górny wrote:
> > On Sun, 2018-08-26 at 00:58 -0700, Zac Medico wrote:
> > > 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 
> > > > > > > <birc...@gentoo.org> 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.
> > 
> > It doesn't rule out disabling based on the phase of the moon either, or
> > my mood which is degrading badly with this discussion.
> 
> Well, using package.use for this doesn't really make sense within the
> context of ebuilds that don't have IUSE=test, which is an argument for
> people to use package.env as a consistent means to selectively disable
> unit tests.

...and this is how it was supposed to work, and AFAIU how it works right
now.

-- 
Best regards,
Michał Górny

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to