Page MenuHomeFreeBSD

Put the test suite in its own tests.txz distribution file.
ClosedPublic

Authored by jmmv on Jun 9 2014, 5:56 PM.
Tags
None
Referenced Files
Unknown Object (File)
Nov 15 2025, 9:56 AM
Unknown Object (File)
Nov 15 2025, 9:56 AM
Unknown Object (File)
Nov 15 2025, 9:56 AM
Unknown Object (File)
Nov 15 2025, 7:15 AM
Unknown Object (File)
Nov 11 2025, 4:19 AM
Unknown Object (File)
Nov 8 2025, 7:32 AM
Unknown Object (File)
Nov 7 2025, 3:17 AM
Unknown Object (File)
Oct 13 2025, 4:46 PM
Subscribers
None

Details

Reviewers
gjb
Summary

Force all the contents of /usr/tests to go into a separate distribution
file so that users of binary releases can easily choose to not install it.

To make this possible, we need two fixes:

  • bsd.subdir.mk needs to properly honor NO_SUBDIR in all cases so that we do not recurse into 'tests' subdirectories when we needn't. Otherwise, we end up with some Kyuafiles in base.txz.
  • etc/Makefile needs to skip installing tests in its 'distribute' target so that a Kyuafile doesn't leak into base.txz.
Test Plan

make tinderbox... but any other suggestions? How to ensure that
my changes to bsd.subdir.mk are sane?

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
No Lint Coverage
Unit
No Test Coverage

Event Timeline

jmmv retitled this revision from to Put the test suite in its own tests.txz distribution file..
jmmv updated this object.
jmmv edited the test plan for this revision. (Show Details)
jmmv added a reviewer: gjb.

For the CD, WITHOUT_TESTS=1 just needs to be added to the installation part.

See release/Makefile, in particular how the bootonly is done.

But note that this is orthogonal to setting WITHOUT_TESTS=no, and the effects are slightly different.

I want end users to be able to install or uninstall the test suite without having to rebuild the system. Offering the test suite as a tests.txz separate set allows this. It allows this even in the case of not using a CD; e.g. users of netboot installs or DVD installs still have a choice.

I see. I'll review and get back to you by tomorrow.

Please see the followup D202, which includes an update to release/Makefile for the installer userland.

gjb edited edge metadata.

Please include the changes from D202. For now, let's leave the dvd1 without /usr/tests. It is read-only filesystem, so does having test suite on the DVD have any benefit?

This revision is now accepted and ready to land.Jun 10 2014, 4:49 PM
jmmv edited edge metadata.

Incorporate changes from D202.

Changes added.

Having a read-only file system should not affect the ability to run the test suite as long as /tmp is read-write. (You can always override that by setting KYUA_TMPDIR in the environment and pointing it to a read-write file system, maybe in-memory.)

The reason to have it in dvd1 would be to allow some kind of "self-diagnosis" before install, allowing for a more featureful rescue boot image. But it's not a big deal and the value of it is dubious at this point. Out of scope for now, so ignore.

Ended up separating the changes from D202. At commit time, I realized they didn't belong together when writing the commit log.