linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Theodore Ts'o" <tytso@mit.edu>
To: Frank Rowand <frowand.list@gmail.com>
Cc: Tim.Bird@sony.com, knut.omang@oracle.com,
	gregkh@linuxfoundation.org, brendanhiggins@google.com,
	keescook@google.com, kieran.bingham@ideasonboard.com,
	mcgrof@kernel.org, robh@kernel.org, sboyd@kernel.org,
	shuah@kernel.org, devicetree@vger.kernel.org,
	dri-devel@lists.freedesktop.org, kunit-dev@googlegroups.com,
	linux-doc@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-kselftest@vger.kernel.org, linux-nvdimm@lists.01.org,
	linux-um@lists.infradead.org, Alexander.Levin@microsoft.com,
	amir73il@gmail.com, dan.carpenter@oracle.com,
	dan.j.williams@intel.com, daniel@ffwll.ch, jdike@addtoit.com,
	joel@jms.id.au, julia.lawall@lip6.fr, khilman@baylibre.com,
	logang@deltatee.com, mpe@ellerman.id.au, pmladek@suse.com,
	richard@nod.at, rientjes@google.com, rostedt@goodmis.org,
	wfg@linux.intel.com
Subject: Re: [PATCH v2 00/17] kunit: introduce KUnit, the Linux kernel unit testing framework
Date: Wed, 15 May 2019 00:28:38 -0400	[thread overview]
Message-ID: <20190515042838.GA26954@mit.edu> (raw)
In-Reply-To: <a305c732-9953-8724-b4a4-25aa50c89365@gmail.com>

On Tue, May 14, 2019 at 05:26:47PM -0700, Frank Rowand wrote:
> On 5/11/19 10:33 AM, Theodore Ts'o wrote:
> > On Fri, May 10, 2019 at 02:12:40PM -0700, Frank Rowand wrote:
> >> However, the reply is incorrect.  Kselftest in-kernel tests (which
> >> is the context here) can be configured as built in instead of as
> >> a module, and built in a UML kernel.  The UML kernel can boot,
> >> running the in-kernel tests before UML attempts to invoke the
> >> init process.
> > 
> > Um, Citation needed?
> 
> The paragraph that you quoted tells you exactly how to run a kselftest
> in-kernel test in a UML kernel.  Just to what that paragraph says.

I didn't quote a paragraph.  But I'll quote from it now:

  $ make -C tools/testing/selftests run_tests

This runs the kselftest harness, *in userspace*.  That means you have
to have a root file system, and it's run after init has started, by
default.  You asserted that kselftests allows you to run modules
before init has started.  There is absolutely zero, cero, nada, zilch
mentions of any of anything like that in Documentation/dev-tools/kselftests.rst

> > There exists test modules in the kernel that run before the init
> > scripts run --- but that's not strictly speaking part of kselftests,
> > and do not have any kind of infrastructure.  As noted, the
> > kselftests_harness header file fundamentally assumes that you are
> > running test code in userspace.
> 
> You are ignoring the kselftest in-kernel tests.

I'm talking specifically about what you have been *claiming* to be
kselftest in-kernel tests above.  And I'm asserting they are really
not kselftests.  They are just ad hoc tests that are run in kernel
space, which, when compiled as modules, can be loaded by a kselftest
shell script.  You can certainly hook in these ad hoc in-kernel tests
via kselftests --- but then they aren't run before init starts,
because kselftests is inherently a userspace-driven system.

If you build these tests (many of which existed before kselftests was
merged) into the kernel such that they are run before init starts,
without the kselftest harness, then they are not kselftests, by
definition.  Both in how they are run, and since many of these
in-kernel tests predate the introduction of kselftests --- in some
cases, by many years.

> We are talking in circles.  I'm done with this thread.

Yes, that sounds like it would be best.

						- Ted

  reply	other threads:[~2019-05-15  4:30 UTC|newest]

Thread overview: 131+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-01 23:01 [PATCH v2 00/17] kunit: introduce KUnit, the Linux kernel unit testing framework Brendan Higgins
2019-05-01 23:01 ` [PATCH v2 01/17] kunit: test: add KUnit test runner core Brendan Higgins
2019-05-01 23:01 ` [PATCH v2 02/17] kunit: test: add test resource management API Brendan Higgins
2019-05-01 23:01 ` [PATCH v2 03/17] kunit: test: add string_stream a std::stream like string builder Brendan Higgins
2019-05-03  1:26   ` shuah
2019-05-03  4:37     ` Brendan Higgins
2019-05-01 23:01 ` [PATCH v2 04/17] kunit: test: add kunit_stream a std::stream like logger Brendan Higgins
2019-05-02 11:00   ` Greg KH
2019-05-02 20:25     ` Brendan Higgins
2019-05-02 21:18       ` Frank Rowand
2019-05-03  1:50   ` shuah
2019-05-03  5:48     ` Brendan Higgins
2019-05-01 23:01 ` [PATCH v2 05/17] kunit: test: add the concept of expectations Brendan Higgins
2019-05-01 23:01 ` [PATCH v2 06/17] kbuild: enable building KUnit Brendan Higgins
2019-05-10  3:03   ` Masahiro Yamada
2019-05-10 10:27     ` Brendan Higgins
2019-05-10 10:30       ` Masahiro Yamada
2019-05-10 10:33         ` Brendan Higgins
2019-05-01 23:01 ` [PATCH v2 07/17] kunit: test: add initial tests Brendan Higgins
2019-05-02 10:58   ` Greg KH
2019-05-02 20:30     ` Brendan Higgins
2019-05-03  1:27   ` shuah
2019-05-03  5:18     ` Brendan Higgins
2019-05-01 23:01 ` [PATCH v2 08/17] kunit: test: add support for test abort Brendan Higgins
2019-05-03  3:14   ` Logan Gunthorpe
2019-05-03  6:48     ` Brendan Higgins
2019-05-03 12:33       ` Logan Gunthorpe
2019-05-06  8:48         ` Brendan Higgins
2019-05-01 23:01 ` [PATCH v2 09/17] kunit: test: add tests for kunit " Brendan Higgins
2019-05-01 23:01 ` [PATCH v2 10/17] kunit: test: add the concept of assertions Brendan Higgins
2019-05-01 23:01 ` [PATCH v2 11/17] kunit: test: add test managed resource tests Brendan Higgins
2019-05-03 14:34   ` shuah
2019-05-06  9:03     ` Brendan Higgins
2019-05-01 23:01 ` [PATCH v2 12/17] kunit: tool: add Python wrappers for running KUnit tests Brendan Higgins
2019-05-02 11:02   ` Greg KH
2019-05-02 18:07     ` Brendan Higgins
2019-05-02 21:16       ` Frank Rowand
2019-05-02 23:45         ` Brendan Higgins
2019-05-03  1:45           ` Frank Rowand
2019-05-03  5:36             ` Brendan Higgins
2019-05-03 18:59               ` Frank Rowand
2019-05-03 23:14                 ` Brendan Higgins
2019-05-04 10:42                   ` Greg KH
2019-05-06  0:19                   ` Frank Rowand
2019-05-06 17:43                     ` Kees Cook
2019-05-06 21:42                       ` Brendan Higgins
2019-05-06 21:39                     ` Brendan Higgins
2019-05-07 19:13                       ` Tim.Bird
2019-05-03  6:41           ` Greg KH
2019-05-01 23:01 ` [PATCH v2 13/17] kunit: defconfig: add defconfigs for building " Brendan Higgins
2019-05-01 23:01 ` [PATCH v2 14/17] Documentation: kunit: add documentation for KUnit Brendan Higgins
2019-05-09  5:08   ` Randy Dunlap
2019-05-09 17:38     ` Brendan Higgins
2019-05-01 23:01 ` [PATCH v2 15/17] MAINTAINERS: add entry for KUnit the unit testing framework Brendan Higgins
2019-05-03 14:38   ` shuah
2019-05-06  9:18     ` Brendan Higgins
2019-05-01 23:01 ` [PATCH v2 16/17] kernel/sysctl-test: Add null pointer test for sysctl.c:proc_dointvec() Brendan Higgins
2019-05-02 11:03   ` Greg KH
2019-05-02 18:14     ` Tim.Bird
2019-05-02 18:45       ` Brendan Higgins
2019-05-03  6:42         ` Greg KH
2019-05-03 23:41           ` Brendan Higgins
2019-05-04 10:40             ` Greg KH
2019-05-01 23:01 ` [PATCH v2 17/17] MAINTAINERS: add proc sysctl KUnit test to PROC SYSCTL section Brendan Higgins
2019-05-02 10:50 ` [PATCH v2 00/17] kunit: introduce KUnit, the Linux kernel unit testing framework Greg KH
2019-05-02 11:05   ` Greg KH
2019-05-03  0:41     ` Brendan Higgins
2019-05-02 14:04   ` shuah
2019-05-03  0:44     ` Brendan Higgins
2019-05-03  3:18 ` Logan Gunthorpe
2019-05-07  3:14 ` Frank Rowand
2019-05-07  8:01   ` Greg KH
2019-05-07 15:23     ` shuah
2019-05-09  1:01       ` Frank Rowand
2019-05-07 17:22     ` Theodore Ts'o
2019-05-08 19:17       ` Brendan Higgins
2019-05-09  0:58       ` Frank Rowand
2019-05-09  1:44         ` Theodore Ts'o
2019-05-09  2:18           ` Frank Rowand
2019-05-14  8:22         ` Brendan Higgins
2019-05-09  0:43     ` Frank Rowand
2019-05-09  1:58       ` Theodore Ts'o
2019-05-09  2:13         ` Frank Rowand
2019-05-09  3:20           ` Theodore Ts'o
2019-05-09 11:52             ` Knut Omang
2019-05-09 13:35               ` Theodore Ts'o
2019-05-09 14:48                 ` Knut Omang
2019-05-09 17:00                 ` Tim.Bird
2019-05-09 17:42                   ` Daniel Vetter
2019-05-09 18:12                   ` Frank Rowand
2019-05-09 21:42                     ` Theodore Ts'o
2019-05-09 22:20                       ` Logan Gunthorpe
2019-05-09 23:30                         ` Theodore Ts'o
2019-05-09 23:40                           ` Logan Gunthorpe
2019-05-10  4:47                             ` Theodore Ts'o
2019-05-10  5:18                             ` Frank Rowand
2019-05-10  5:48                               ` Knut Omang
2019-05-10  8:12                                 ` Daniel Vetter
2019-05-10 10:23                                   ` Brendan Higgins
2019-05-10 12:12                                     ` Knut Omang
2019-05-10 20:54                                       ` Brendan Higgins
2019-05-10 22:18                                         ` Frank Rowand
2019-05-11  6:17                                           ` Knut Omang
2019-05-14  6:39                                             ` Brendan Higgins
2019-05-10 21:59                                     ` Frank Rowand
2019-05-11  6:43                                       ` Knut Omang
2019-05-14  8:00                                         ` Brendan Higgins
2019-05-10 11:36                                   ` Knut Omang
2019-05-10 16:17                               ` Logan Gunthorpe
2019-05-10 22:13                                 ` Frank Rowand
2019-05-14  8:38                                   ` Brendan Higgins
2019-05-15  0:14                                     ` Frank Rowand
2019-05-15  0:26                                       ` Logan Gunthorpe
2019-05-10 21:52                         ` Frank Rowand
2019-05-14 20:54                           ` Brendan Higgins
2019-05-10 21:12                       ` Frank Rowand
2019-05-11 17:33                         ` Theodore Ts'o
2019-05-13 14:44                           ` Daniel Vetter
2019-05-14  6:04                             ` Brendan Higgins
2019-05-14 12:05                               ` Daniel Vetter
2019-05-14 18:36                                 ` Brendan Higgins
2019-05-15  7:41                                   ` Daniel Vetter
2019-05-22 21:38                                     ` Brendan Higgins
2019-05-23  8:40                                       ` Daniel Vetter
2019-05-15  0:26                           ` Frank Rowand
2019-05-15  4:28                             ` Theodore Ts'o [this message]
2019-05-10  5:11           ` Frank Rowand
2019-05-10 10:43             ` Theodore Ts'o
2019-05-10 21:05               ` Frank Rowand
2019-05-09 15:19 ` Masahiro Yamada
2019-05-10 10:25   ` Brendan Higgins

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190515042838.GA26954@mit.edu \
    --to=tytso@mit.edu \
    --cc=Alexander.Levin@microsoft.com \
    --cc=Tim.Bird@sony.com \
    --cc=amir73il@gmail.com \
    --cc=brendanhiggins@google.com \
    --cc=dan.carpenter@oracle.com \
    --cc=dan.j.williams@intel.com \
    --cc=daniel@ffwll.ch \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=frowand.list@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jdike@addtoit.com \
    --cc=joel@jms.id.au \
    --cc=julia.lawall@lip6.fr \
    --cc=keescook@google.com \
    --cc=khilman@baylibre.com \
    --cc=kieran.bingham@ideasonboard.com \
    --cc=knut.omang@oracle.com \
    --cc=kunit-dev@googlegroups.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux-nvdimm@lists.01.org \
    --cc=linux-um@lists.infradead.org \
    --cc=logang@deltatee.com \
    --cc=mcgrof@kernel.org \
    --cc=mpe@ellerman.id.au \
    --cc=pmladek@suse.com \
    --cc=richard@nod.at \
    --cc=rientjes@google.com \
    --cc=robh@kernel.org \
    --cc=rostedt@goodmis.org \
    --cc=sboyd@kernel.org \
    --cc=shuah@kernel.org \
    --cc=wfg@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).