Re: [PATCH v18 00/19] kunit: introduce KUnit, the Linux kernel unit testing framework

From: shuah
Date: Fri Oct 04 2019 - 19:57:57 EST


On 10/4/19 5:52 PM, Brendan Higgins wrote:
On Fri, Oct 4, 2019 at 4:30 PM Theodore Y. Ts'o <tytso@xxxxxxx> wrote:

On Fri, Oct 04, 2019 at 04:47:09PM -0600, shuah wrote:
However, if I encourage arbitrary tests/improvements into my KUnit
branch, it further diverges away from torvalds/master, and is more
likely that there will be a merge conflict or issue that is not related
to the core KUnit changes that will cause the whole thing to be
rejected again in v5.5.

The idea is that the new development will happen based on kunit in
linux-kselftest next. It will work just fine. As we accepts patches,
they will go on top of kunit that is in linux-next now.

I don't see how this would work. If I add unit tests to ext4, they
would be in fs/ext4. And to the extent that I need to add test mocks
to allow the unit tests to work, they will involve changes to existing
files in fs/ext4. I can't put them in the ext4.git tree without
pulling in the kunit changes into the ext4 git tree. And if they ext4
unit tests land in the kunit tree, it would be a receipe for large
numbers of merge conflicts.

That's where I was originally coming from.

So here's a dumb idea: what if we merged KUnit through the ext4 tree?
I imagine that could potentially get very confusing when we go back to
sending changes in through the kselftest tree, but at least it means
that ext4 can use it in the meantime, which means that it at least
gets to be useful to one group of people. Also, since Ted seems pretty
keen on using this, I imagine it is much more likely to produce real
world, immediately useful tests not written by me (I'm not being lazy,
I just think it is better to get other people's experiences other than
my own).


That doesn't make sense does it? The tests might not be limited to
fs/ext4. We might have other sub-systems that add tests.

So, we will have to work to make linux-next as the base for new
development and limit the number of tests to where it will be
easier work in this mode for 5.5. We can stage the pull requests
so that kunit lands first followed by tests.

We have a similar situation with kselftest as well. Sub-systems
send tests that depend on their tress separately.

thanks,
-- Shuah