On Wed, 2020-07-15 at 11:47 +0800, David Gow wrote: > On Wed, Jul 15, 2020 at 11:11 AM Vitor Massaru Iha <vitor@xxxxxxxxxxx > > wrote: > > Currently, KUnit does not allow the use of tests as a module. > > This prevents the implementation of tests that require userspace. > > If this is what I think it is, thanks! I'll hopefully get a chance to > play with it over the next few days. > > Can we clarify what this means: the current description is a little > misleading, as KUnit tests can already be built and run as modules, > and "tests that require userspace" is a bit broad. > > As I understand it, this patchset does three things: > - Let kunit_tool install modules to a root filesystem and boot UML > with that filesystem. > - Have tests inherit the mm of the process that started them, which > (if the test is in a module), provides a user-space memory context so > that copy_{from,to}_user() works. > - Port the test_user_copy.c tests to KUnit, using this new feature. > > A few comments from my quick glance over it: > - The rootfs support is useful: I'm curious how it'll interact with > non-UML architectures in [1]. It'd be nice for this to be extensible > and to not explicitly state UML where possible. Hm, I didn't think about other architectures. Which ones are you thinking ? > - The inheriting of the mm stuff still means that > copy_{from,to}_user() will only work if loaded as a module. This > really needs to be documented. (Ideally, we'd find a way of having > this work even for built-in tests, but I don't have any real ideas as > to how that could be done). Sure, I'll write the documentation. > - It'd be nice to split the test_user_copy.c test port into a > separate > commit. In fact, it may make sense to also split the kunit_tool > changes and the mm changes into separate series, as they're both > quite > useful independently. > I'll do it. Thanks for the review.