Page MenuHomeFreeBSD

Add support for opt_TEST_TARGET consistent with opt_{ALL,INSTALL}_TARGET
ClosedPublic

Authored by AMDmi3 on Oct 2 2015, 8:11 PM.
Tags
None
Referenced Files
Unknown Object (File)
Feb 20 2024, 12:40 AM
Unknown Object (File)
Feb 1 2024, 12:20 PM
Unknown Object (File)
Jan 1 2024, 10:51 AM
Unknown Object (File)
Dec 20 2023, 1:40 AM
Unknown Object (File)
Nov 13 2023, 2:21 PM
Unknown Object (File)
Oct 25 2023, 10:29 AM
Unknown Object (File)
Sep 12 2023, 7:16 AM
Unknown Object (File)
Aug 27 2023, 11:56 AM
Subscribers

Details

Summary

Missed bit from test target implementation

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

AMDmi3 retitled this revision from to Add support for opt_TEST_TARGET consistent with opt_{ALL,INSTALL}_TARGET.
AMDmi3 updated this object.
AMDmi3 edited the test plan for this revision. (Show Details)

While the change here is fine, converting ports en masse to TEST_TEST_TARGET may cause a regression for users who previously selected TEST option. Nothing currently depends on test target, so it has to be explicitly called for tests to run. Users shouldn't have to remember obscure make targets used by automation. regression-test suffered from this and became undertested after poudriere phased out tinderbox.

Better do-test should always be run like do-configure without HAS_CONFIGURE but implemented as a nop by default. To avoid incurring the cost of increased build time existing ports with tests that aren't using TEST option can hide behind DEVELOPER mode (e.g. poudriere bulk -t or poudriere testport). Optionally, DEVELOPER mode can enable TEST option by default but it'd require an exp-run.

While the change here is fine, converting ports en masse to TEST_TEST_TARGET

There will be no en masse TEST_TEST_TARGET, this artifact is only specific to ports for which dependencies or flags needed for testing should be installed before configure/build steps. But yes, DEVELOPER may imply WITH=TEST.

may cause a regression for users who previously selected TEST option

There will be no regression, as the tests should not have been run in the build process to start with. They were partially broken also.

Nothing currently depends on test target, so it has to be explicitly called for tests to run. Users shouldn't have to remember obscure make targets used by automation. regression-test suffered from this and became undertested after poudriere phased out tinderbox.

The plan is to add test support to poudriere, bdrewery@ should be working on this.

Better do-test should always be run like do-configure without HAS_CONFIGURE but implemented as a nop by default.

Always running target which is no op by default is just the more obscure version of not running a real target by default, and the latter is how make test works.

You don't need it in the normal port build process and package builds at all, as it slows these down, requires extra depends, and there are false positives, but users can run make test anytime, and maintainers/committers should always run it. Separate poudriere with enabled test can be set up too (there actually one which tests with DEVELOPER, it may run tests too http://package21.nyi.freebsd.org).

mat added a reviewer: mat.
mat added a subscriber: mat.

Could you keep that in sync with the porter's handbook ?

It's in head/en_US.ISO8859-1/books/porters-handbook/makefiles/chapter.xml there's a big list at the end, keep it sorted :-)

This revision is now accepted and ready to land.Oct 4 2015, 1:28 PM