Re: NO_TEST, do-test: and TEST_DEPENDS?

From: Bjoern A. Zeeb <bzeeb-lists_at_lists.zabbadoz.net>
Date: Tue, 24 May 2022 15:27:09 UTC
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--0-405137535-1653406029=:68830
Content-Type: TEXT/PLAIN; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8BIT

On Sun, 22 May 2022, Stefan Esser wrote:

> I'm not sure I understand the goal of your request.

the goal is to cut down dependencies and build time.


> Do you want to have a switch that prevents the execution of tests when
> "make test" explicitly asks for the tests to be run???
>
> This could easily be added to bsd.port.mk, but what for???
>
>> What is the proper way to
>>     (1) disable tests
>
> That's what I do not understand ... Tests are not run by default, and
> thus I never saw the need to disable them in any of my ports.
>
> Quite the opposite: If "make test" is invoked for a port that supports
> tests, I definitely want them to be executed.

Right, so maybe solving (2) will solve (1) implicitly as I probably
don't have to disable them then using .ifdef bits.


>> and more important
>>     (2) to amke sure the TEST_DEPENDS and not build in these cases?
>
> You can set "DO_MAKE_TEST=true" to execute the command "true" instead
> of "make" when bsd.port.mk wants to execute the tests.
>
> But this is an undocumented internal variable of the ports system, and
> it could be removed or renamed at any time, when changes are applied
> to bsd.port.mk.
>
> And you could override the TEST_DEPENDS macro instead of wrapping it
> into an .if block.

how?  putting
.if defined(TEST_DEPENDS)
.undef TEST_DEPENDS
.endif
or something like that in make.conf?


>> While I can iterate on port after port and apply a change like the below it
>> feels utterly wrong and it seems I am doing something silly here which has a
>> proper knob I cannot find?
>
> Please explain what you want to achieve. There may be other ways to
> achieve your goal, but I think I do not understand what your goal is ...

Okay, for I have no idea anymore how long I've built the ports I need
in the classical way; I have a "meta port" depending on the 25
packages I need to build.

The problem has bcome that rather than simple builds the amounts of
ports build exploded.  With that the addition of conflicts has also
exploded.  something people do probably not see (anymore these days)
if their build depends conflict.

One larger contributor to the explosion is TEST_DEPENDS.  I'll give
you an example.

cd dns/bind9 && env BATCH=yes NO_TEST= make all-depends-list

Feel free to disable DNSTAP DOCS and MANPAGES (manually) to avoid
python for any of that (but there are different stories for another
time).

Crazy, right?  It comes from TEST_DEPENDS mostly.  I still haven't all
tracked down which include stuff which is never even used.

Sorry, the world is warm enough.. did we stop thinking again?


/bz

-- 
Bjoern A. Zeeb                                                     r15:7
--0-405137535-1653406029=:68830--