svn commit: r478608 - head/devel/msgpack

Jan Beich jbeich at FreeBSD.org
Fri Aug 31 21:55:03 UTC 2018


Adam Weinberger <adamw at adamw.org> writes:

> On Fri, Aug 31, 2018 at 2:15 PM Jan Beich <jbeich at 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


More information about the svn-ports-head mailing list