File:  [NetBSD Developer Wiki] / wikisrc / projects / project / pkgsrc-test-depends.mdwn
Revision 1.2: download - view: text, annotated - select for diffs
Sat Jan 13 12:50:12 2018 UTC (21 months, 4 weeks ago) by wiki
Branches: MAIN
CVS tags: HEAD
web commit by joerg

[[!template id=project

title="Separate test depends for pkgsrc"

contact="""
[tech-pkg](mailto:tech-pkg@NetBSD.org)
"""

category="pkgsrc"
difficulty="medium"
duration="3-6 weeks"
done_by="joerg"

description="""

Right now the pkgsrc packaging for many things does not support
running those things' native test suites.
One of the reasons for this is that those test suites often depend on
additional packages for test infrastructure or test automation.
Sometimes those additional depends cause cycles; sometimes they're
"only" heavyweight; but fairly often adding them as unconditional
BUILD_DEPENDS (or worse, full DEPENDS) has undesirable consequences.

It ought to be possible to have a separate set of TEST_DEPENDS that's
brought in only when one is actually intending to run a test suite.
This is not entirely trivial (or it would have been done long ago)
because it doesn't fit well into the sequence of phases pkgsrc builds
happen in.
Should there be a separate (and late) phase for TEST_DEPENDS, or a
(per-package?) switch in mk.conf to enable test material, or some
other scheme?
What about packages that need to be installed first before their tests
will run?
(Yes, ideally these wouldn't exist...)

The first part of this project is: decide how it should work and sell
the community on it, er, I mean, reach consensus with the community on
the best approach.
This (including sorting through all the requirements and miscellaneous
desiderata, which are by no means listed completely above) is at least
half the work.

The second part of this project is to implement what you've designed,
and add support to three or four packages with nontrivial test suites.

(Note: this project description was partly based on loose talk on the
subject appearing in PR 50645.)

"""
]]

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb