Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Jan 2014 21:26:25 +0100
From:      Julio Merino <julio@meroh.net>
To:        Alan Somers <asomers@freebsd.org>
Cc:        "freebsd-testing@freebsd.org" <freebsd-testing@freebsd.org>
Subject:   Re: Correct src location for kernel ATF tests
Message-ID:  <C7C5F34B-4BA7-40D2-95DD-421C409F5807@meroh.net>
In-Reply-To: <CAOtMX2iuUacekAj1JKtnk=-L6Q5-Q-Y_HvbeStmTTm-axnvviw@mail.gmail.com>
References:  <CAOtMX2hM=GKzsC-eGz8qSzH4OHKuNmHk=mNvJ_S8bj6=AfmkCg@mail.gmail.com> <7D8E1A11-A946-499A-B568-D77D91B49FA6@meroh.net> <CAOtMX2iuUacekAj1JKtnk=-L6Q5-Q-Y_HvbeStmTTm-axnvviw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Jan 14, 2014, at 20:22, Alan Somers <asomers@freebsd.org> wrote:

> On Tue, Jan 14, 2014 at 12:12 PM, Julio Merino <julio@meroh.net> =
wrote:
>> On Jan 13, 2014, at 22:25, Alan Somers <asomers@freebsd.org> wrote:
>>=20
>>> Where is the correct location within the source tree for ATF tests
>>> that exercise kernel features?  For example, I'm currently trying to
>>> ATFify tools/regression/sockets/unix_seqpacket_exercise,
>>=20
>> I think it's good practice to _not_ ATFify an existing test at the =
same time as it's moved.
>>=20
>> I feel it's better to first move the test program "as is" into its =
new location, ensure it works, and only then change it to use the ATF =
libraries.  If done properly (e.g. by maintaining the same binary name =
pre/post conversion), this should cause minimum churn and will allow for =
easier tracking of code changes in the VCS history.
>=20
> In this case, the test doesn't work to begin with.  I'm rewriting
> almost from scratch.

OK, then it makes sense to just do the "move" in one go.

>> Second, possibly trickier, is that any kernel tests that currently =
exist are integration tests by design: we have no unit-testing framework =
for the kernel (such as what rump provides for NetBSD), and as such any =
test will be quite "broad" in scope.  This may make it difficult to =
pinpoint the specific subdirectory in which the test belongs.  For your =
case above, I cannot tell if any of the src/sys/net*/ subdirectories are =
relevant and/or specific enough.  If they are, then I'd say put the test =
in one of them using src/sys/netgraph/tests/unix_seqpacket_exercise to =
pick an example at random.
>=20
> Sounds good, but the most relevant directory is actually
> src/sys/kern/, not src/sys/netgraph.

SGTM.

Is the test specific to a single file within kern or is it not?

If it is, then name the test program after the source file.  For =
example, assuming this tested stuff from sys_socket.c, you'd then have a =
sys_socket_test test program and put a single test case inside it called =
unix_seqpacket_exercise.

If it is not, then make sure to use a generic-enough name for the test =
program that leaves room for future test cases in the same "area".

https://wiki.freebsd.org/TestSuite/Structure contains some more =
rationales for this.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?C7C5F34B-4BA7-40D2-95DD-421C409F5807>