Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 31 Aug 2018 23:54:57 +0200
From:      Jan Beich <jbeich@FreeBSD.org>
To:        Adam Weinberger <adamw@adamw.org>
Cc:        svn-ports-head@freebsd.org, svn-ports-all@freebsd.org, ports-committers@freebsd.org
Subject:   Re: svn commit: r478608 - head/devel/msgpack
Message-ID:  <4lfa-19se-wny@FreeBSD.org>
In-Reply-To: <CAP7rwcik058qn1JMu=OxezScEP8Qe%2BQv-kdDf3nwX6R=L%2BoTEQ@mail.gmail.com> (Adam Weinberger's message of "Fri, 31 Aug 2018 14:41:32 -0600")
References:  <201808312014.w7VKEwAC012418@repo.freebsd.org> <CAP7rwcik058qn1JMu=OxezScEP8Qe%2BQv-kdDf3nwX6R=L%2BoTEQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Adam Weinberger <adamw@adamw.org> writes:

> On Fri, Aug 31, 2018 at 2:15 PM Jan Beich <jbeich@freebsd.org> wrote:
>
>>
>> Author: jbeich
>> Date: Fri Aug 31 20:14:57 2018
>> New Revision: 478608
>> URL: https://svnweb.freebsd.org/changeset/ports/478608
>>
>> Log:
>>   devel/msgpack: restore TEST_TARGET after r470984
>>
>>   TEST_DEPENDS is pointless without do-test or TEST_TARGET. automake
>>   required googletest only during "check" but cmake wants it upfront
>>   during "test". So, move tests into a separate option.
>
> I don't get it. 130 ports out of 33,012 have TEST options. That's
> 0.3%. This sounds like your personal preference, not an "any
> maintainer would want this fixed" commit. OPTIONS are to let users
> customize the package, not to assist people who want to run their own
> regression tests.

TEST option is only used when do-test cannot run with the default build.
Not all ports require such a configuration, many work simply by calling
"make test" from the port directory. Some ports only build tests when a
specific vendor target is called thus installing TEST_DEPENDS in time
for build system to pick them up.

In msgpack there were 2 issues:
- "make test" didn't run tests at all, only installed googletest
- "make test" tried to run non-existing vendor "test" target because
  googletest was installed too late, so cmake auto-disabled tests

> The fact that poudriere doesn't automatically run tests is not
> justification to adding a non-standard OPTION. If you want to test it
> in poudriere, run testport -i and run ctest yourself.

I disagree. Running tests were supported and done by default when the
package cluster (pointyhat at the time) used tinderbox, not poudriere.
After tinderbox was phased out regression-test and TEST_DEPENDS usage in
ports started to bitrot until amdmi3@ standardized the support outside
of tree building tools. Some of unsolved problems are integration into
poudriere, what to run by default (e.g., QAT slave) and fixing/flagging
broken tests. poudriere can be worked around via "pre-install: do-test"
but when a user enabled TEST option the intent is already clear.

Not sure if you're joking about "testport -i" but many other packaging
systems run tests as part of automation. I applaud if you run it
manually on every update. Do you expect the next maintainer to continue
the tradition?

> Please back this out.

OK but TEST_DEPENDS will go away. If you don't bother to learn how
testing framework[1] works there's no benefit to keep the cruft aka the
remnants of the work you've trampled on via maintainer timeout.

[1] see /usr/ports/CHANGES from 20150928



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4lfa-19se-wny>