Linux Kernel Selftest development
 help / color / mirror / Atom feed
From: sboyd at kernel.org (Stephen Boyd)
Subject: [PATCH v4 01/18] kunit: test: add KUnit test runner core
Date: Thu, 16 May 2019 17:35:21 -0700	[thread overview]
Message-ID: <20190517003522.A48A7206BF@mail.kernel.org> (raw)
In-Reply-To: <20190514221711.248228-2-brendanhiggins@google.com>

Quoting Brendan Higgins (2019-05-14 15:16:54)
> diff --git a/include/kunit/test.h b/include/kunit/test.h
> new file mode 100644
> index 0000000000000..e682ea0e1f9a5
> --- /dev/null
> +++ b/include/kunit/test.h
> @@ -0,0 +1,162 @@
[..]
> +/**
> + * struct kunit - represents a running instance of a test.
> + * @priv: for user to store arbitrary data. Commonly used to pass data created
> + * in the init function (see &struct kunit_module).
> + *
> + * Used to store information about the current context under which the test is
> + * running. Most of this data is private and should only be accessed indirectly
> + * via public functions; the one exception is @priv which can be used by the
> + * test writer to store arbitrary data.
> + */
> +struct kunit {
> +       void *priv;
> +
> +       /* private: internal use only. */
> +       const char *name; /* Read only after initialization! */
> +       spinlock_t lock; /* Gaurds all mutable test state. */
> +       bool success; /* Protected by lock. */

Is this all the spinlock protects? Doesn't seem useful if it's just
protecting access to the variable being set or not because code that
reads it will have a stale view of the value.

> diff --git a/kunit/test.c b/kunit/test.c
> new file mode 100644
> index 0000000000000..86f65ba2bcf92
> --- /dev/null
> +++ b/kunit/test.c
> @@ -0,0 +1,229 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Base unit test (KUnit) API.
> + *
> + * Copyright (C) 2019, Google LLC.
> + * Author: Brendan Higgins <brendanhiggins at google.com>
> + */
> +
> +#include <linux/sched.h>
> +#include <linux/sched/debug.h>
> +#include <kunit/test.h>
> +
[...]
> +
> +size_t kunit_module_counter = 1;

static?

WARNING: multiple messages have this Message-ID (diff)
From: sboyd@kernel.org (Stephen Boyd)
Subject: [PATCH v4 01/18] kunit: test: add KUnit test runner core
Date: Thu, 16 May 2019 17:35:21 -0700	[thread overview]
Message-ID: <20190517003522.A48A7206BF@mail.kernel.org> (raw)
Message-ID: <20190517003521.2crqZ8BlZjtv6iHOD2KpY1lqY9xw7jVzaTeaqq1vDJw@z> (raw)
In-Reply-To: <20190514221711.248228-2-brendanhiggins@google.com>

Quoting Brendan Higgins (2019-05-14 15:16:54)
> diff --git a/include/kunit/test.h b/include/kunit/test.h
> new file mode 100644
> index 0000000000000..e682ea0e1f9a5
> --- /dev/null
> +++ b/include/kunit/test.h
> @@ -0,0 +1,162 @@
[..]
> +/**
> + * struct kunit - represents a running instance of a test.
> + * @priv: for user to store arbitrary data. Commonly used to pass data created
> + * in the init function (see &struct kunit_module).
> + *
> + * Used to store information about the current context under which the test is
> + * running. Most of this data is private and should only be accessed indirectly
> + * via public functions; the one exception is @priv which can be used by the
> + * test writer to store arbitrary data.
> + */
> +struct kunit {
> +       void *priv;
> +
> +       /* private: internal use only. */
> +       const char *name; /* Read only after initialization! */
> +       spinlock_t lock; /* Gaurds all mutable test state. */
> +       bool success; /* Protected by lock. */

Is this all the spinlock protects? Doesn't seem useful if it's just
protecting access to the variable being set or not because code that
reads it will have a stale view of the value.

> diff --git a/kunit/test.c b/kunit/test.c
> new file mode 100644
> index 0000000000000..86f65ba2bcf92
> --- /dev/null
> +++ b/kunit/test.c
> @@ -0,0 +1,229 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Base unit test (KUnit) API.
> + *
> + * Copyright (C) 2019, Google LLC.
> + * Author: Brendan Higgins <brendanhiggins at google.com>
> + */
> +
> +#include <linux/sched.h>
> +#include <linux/sched/debug.h>
> +#include <kunit/test.h>
> +
[...]
> +
> +size_t kunit_module_counter = 1;

static?

  parent reply	other threads:[~2019-05-17  0:35 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-14 22:16 [PATCH v4 00/18] kunit: introduce KUnit, the Linux kernel unit testing framework brendanhiggins
2019-05-14 22:16 ` Brendan Higgins
2019-05-14 22:16 ` [PATCH v4 01/18] kunit: test: add KUnit test runner core brendanhiggins
2019-05-14 22:16   ` Brendan Higgins
2019-05-17  0:35   ` sboyd [this message]
2019-05-17  0:35     ` Stephen Boyd
2019-05-17 18:53   ` sboyd
2019-05-17 18:53     ` Stephen Boyd
2019-06-14 23:22     ` Brendan Higgins
2019-05-14 22:16 ` [PATCH v4 02/18] kunit: test: add test resource management API brendanhiggins
2019-05-14 22:16   ` Brendan Higgins
2019-05-17  0:38   ` sboyd
2019-05-17  0:38     ` Stephen Boyd
2019-06-04 23:34     ` brendanhiggins
2019-06-04 23:34       ` Brendan Higgins
2019-05-14 22:16 ` [PATCH v4 03/18] kunit: test: add string_stream a std::stream like string builder brendanhiggins
2019-05-14 22:16   ` Brendan Higgins
2019-05-17 17:42   ` sboyd
2019-05-17 17:42     ` Stephen Boyd
2019-06-05  0:19     ` brendanhiggins
2019-06-05  0:19       ` Brendan Higgins
2019-05-14 22:16 ` [PATCH v4 04/18] kunit: test: add kunit_stream a std::stream like logger brendanhiggins
2019-05-14 22:16   ` Brendan Higgins
2019-05-17 17:58   ` sboyd
2019-05-17 17:58     ` Stephen Boyd
2019-06-05  0:47     ` brendanhiggins
2019-06-05  0:47       ` Brendan Higgins
2019-05-14 22:16 ` [PATCH v4 05/18] kunit: test: add the concept of expectations brendanhiggins
2019-05-14 22:16   ` Brendan Higgins
2019-05-14 22:16 ` [PATCH v4 06/18] kbuild: enable building KUnit brendanhiggins
2019-05-14 22:16   ` Brendan Higgins
2019-05-14 22:17 ` [PATCH v4 07/18] kunit: test: add initial tests brendanhiggins
2019-05-14 22:17   ` Brendan Higgins
2019-05-14 22:17 ` [PATCH v4 08/18] objtool: add kunit_try_catch_throw to the noreturn list brendanhiggins
2019-05-14 22:17   ` Brendan Higgins
2019-05-14 22:17 ` [PATCH v4 09/18] kunit: test: add support for test abort brendanhiggins
2019-05-14 22:17   ` Brendan Higgins
2019-05-14 22:17 ` [PATCH v4 10/18] kunit: test: add tests for kunit " brendanhiggins
2019-05-14 22:17   ` Brendan Higgins
2019-05-14 22:17 ` [PATCH v4 11/18] kunit: test: add the concept of assertions brendanhiggins
2019-05-14 22:17   ` Brendan Higgins
2019-05-14 22:17 ` [PATCH v4 12/18] kunit: test: add tests for KUnit managed resources brendanhiggins
2019-05-14 22:17   ` Brendan Higgins
2019-05-14 22:17 ` [PATCH v4 13/18] kunit: tool: add Python wrappers for running KUnit tests brendanhiggins
2019-05-14 22:17   ` Brendan Higgins
2019-05-14 22:17 ` [PATCH v4 14/18] kunit: defconfig: add defconfigs for building " brendanhiggins
2019-05-14 22:17   ` Brendan Higgins
2019-05-14 22:17 ` [PATCH v4 15/18] Documentation: kunit: add documentation for KUnit brendanhiggins
2019-05-14 22:17   ` Brendan Higgins
2019-05-14 22:17 ` [PATCH v4 16/18] MAINTAINERS: add entry for KUnit the unit testing framework brendanhiggins
2019-05-14 22:17   ` Brendan Higgins
2019-05-14 23:25   ` brendanhiggins
2019-05-14 23:25     ` Brendan Higgins
2019-05-14 22:17 ` [PATCH v4 17/18] kernel/sysctl-test: Add null pointer test for sysctl.c:proc_dointvec() brendanhiggins
2019-05-14 22:17   ` Brendan Higgins
2019-05-17 18:22   ` sboyd
2019-05-17 18:22     ` Stephen Boyd
2019-06-06  1:29     ` yzaikin
2019-06-06  1:29       ` Iurii Zaikin
2019-06-07 19:00       ` sboyd
2019-06-07 19:00         ` Stephen Boyd
2019-06-07 19:00         ` Stephen Boyd
2019-06-07 22:22         ` brendanhiggins
2019-06-07 22:22           ` Brendan Higgins
2019-06-07 22:22           ` Brendan Higgins
2019-06-11 17:58         ` Brendan Higgins
2019-06-11 18:50           ` Stephen Boyd
2019-06-11 20:29             ` Brendan Higgins
2019-05-14 22:17 ` [PATCH v4 18/18] MAINTAINERS: add proc sysctl KUnit test to PROC SYSCTL section brendanhiggins
2019-05-14 22:17   ` 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=20190517003522.A48A7206BF@mail.kernel.org \
    --to=linux-kselftest@vger.kernel.org \
    /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