PATCH: add ATF tests in sys

Garrett Cooper yaneurabeya at gmail.com
Wed Jan 22 00:23:32 UTC 2014


> On Jan 21, 2014, at 16:02, Alan Somers <asomers at freebsd.org> wrote:
> 
>> On Tue, Jan 21, 2014 at 4:56 PM, Garrett Cooper <yaneurabeya at gmail.com> wrote:
>> 
>>> On Jan 21, 2014, at 14:45, Alan Somers <asomers at freebsd.org> wrote:
>>> 
>>> I rewrote the unix seqpacket tests in ATF.  The hard part is adding
>>> them to the build.  The linked patch adds them in the directory
>>> sys/kern/tests and builds them as part of buildworld, not buildkernel.
>>> They get installed to /usr/tests/sys/kern, but the intermediate
>>> objects are stored in /usr/obj/sys/kern/tests.  That means that you
>>> can't have different tests associated with different kernel configs.
>>> I think that this is desirable, because you wouldn't be able to
>>> install tests for different kernel configs anyway, given our chosen
>>> layout of /usr/tests.
>>> 
>>> Please comment on the parts of this patch that deal with Makefiles.
>>> Is this the appropriate way to add sys tests to the build?  Shouldn't
>>> I be building them in buildkernel instead of buildworld?  I couldn't
>>> find a good way to do that.
>> 
>> I bypassed that for simplicity and placed the tests in tests/sys/kern/... etc. Shoehorning things into our overly complex kernel build system just seems like a really bad idea... Just make it load as a driver, loadable, and dependent on kern.features to run..?
>> Cheers!
>> -Garrett
> 
> I tried to place the tests as closely as possible to the source code
> that they're testing, according to
> https://wiki.freebsd.org/TestSuite/Structure#Makefiles_for_test_programs
> .  I don't feel strongly about it either way, but I think Simon and
> jmmv do.
> 
> FWIW, the tests run as a userland program, not in kernel mode.

Fwiw I spent months mulling over various details (this was just one point) with gnn, marcel, and mfleming. The consensus was that that was a really bad idea because it wasn't terribly clear that tests covered a particular area, and some sys/ tests could cover multiple areas (pjdfstest for instance).

I mirrored the exact structure in the source tree, but avoided tainting things in sys/... Because integrating sys/ into buildworld and starting to mix kernel and world build logic together will irritate a large number of kernel devs and userland devs. This was the path of least resistance...
HTH,
-Garrett


More information about the freebsd-testing mailing list