All of lore.kernel.org
 help / color / mirror / Atom feed
From: Brendan Higgins <brendanhiggins-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
To: gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org,
	keescook-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org,
	mcgrof-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	shuah-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org
Cc: brakmo-b10kYP2dOMg@public.gmane.org,
	jdike-OPE4K8JWMJJBDgjK7y7TUQ@public.gmane.org,
	dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org,
	linux-kselftest-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	frowand.list-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	linux-nvdimm-hn68Rpc1hR1g9hUCZPvPmw@public.gmane.org,
	richard-/L3Ra7n9ekc@public.gmane.org,
	knut.omang-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org,
	kieran.bingham-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org,
	joel-U3u1mxZcP9KHXe+LvDLADg@public.gmane.org,
	khilman-rdvid1DuHRBWk0Htik3J/w@public.gmane.org,
	Brendan Higgins
	<brendanhiggins-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>,
	Tim.Bird-7U/KSKJipcs@public.gmane.org,
	linux-um-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	rostedt-nx8X9YLhiw1AfugRpC6u6w@public.gmane.org,
	julia.lawall-L2FTfq7BK8M@public.gmane.org,
	kunit-dev-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	daniel-/w4YWyX8dFk@public.gmane.org,
	mpe-Gsx/Oe8HsFggBc27wqDAHg@public.gmane.org,
	joe-6d6DIl74uiNBDgjK7y7TUQ@public.gmane.org
Subject: [RFC v3 07/19] kunit: test: add initial tests
Date: Wed, 28 Nov 2018 11:36:24 -0800	[thread overview]
Message-ID: <20181128193636.254378-8-brendanhiggins@google.com> (raw)
In-Reply-To: <20181128193636.254378-1-brendanhiggins-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>

Add a test for string stream along with a simpler example.

Signed-off-by: Brendan Higgins <brendanhiggins-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
---
 kunit/Kconfig              | 12 ++++++
 kunit/Makefile             |  4 ++
 kunit/example-test.c       | 88 ++++++++++++++++++++++++++++++++++++++
 kunit/string-stream-test.c | 61 ++++++++++++++++++++++++++
 4 files changed, 165 insertions(+)
 create mode 100644 kunit/example-test.c
 create mode 100644 kunit/string-stream-test.c

diff --git a/kunit/Kconfig b/kunit/Kconfig
index 49b44c4f6630a..c3dc7bca83f9d 100644
--- a/kunit/Kconfig
+++ b/kunit/Kconfig
@@ -14,4 +14,16 @@ config KUNIT
 	  special hardware. For more information, please see
 	  Documentation/kunit/
 
+config KUNIT_TEST
+	bool "KUnit test for KUnit"
+	depends on KUNIT
+	help
+	  Enables KUnit test to test KUnit.
+
+config KUNIT_EXAMPLE_TEST
+	bool "Example test for KUnit"
+	depends on KUNIT
+	help
+	  Enables example KUnit test to demo features of KUnit.
+
 endmenu
diff --git a/kunit/Makefile b/kunit/Makefile
index 6ddc622ee6b1c..60a9ea6cb4697 100644
--- a/kunit/Makefile
+++ b/kunit/Makefile
@@ -1,3 +1,7 @@
 obj-$(CONFIG_KUNIT) +=			test.o \
 					string-stream.o \
 					kunit-stream.o
+
+obj-$(CONFIG_KUNIT_TEST) +=		string-stream-test.o
+
+obj-$(CONFIG_KUNIT_EXAMPLE_TEST) +=	example-test.o
diff --git a/kunit/example-test.c b/kunit/example-test.c
new file mode 100644
index 0000000000000..4197cc217d96f
--- /dev/null
+++ b/kunit/example-test.c
@@ -0,0 +1,88 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Example KUnit test to show how to use KUnit.
+ *
+ * Copyright (C) 2018, Google LLC.
+ * Author: Brendan Higgins <brendanhiggins-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
+ */
+
+#include <kunit/test.h>
+
+/*
+ * This is the most fundamental element of KUnit, the test case. A test case
+ * makes a set EXPECTATIONs and ASSERTIONs about the behavior of some code; if
+ * any expectations or assertions are not met, the test fails; otherwise, the
+ * test passes.
+ *
+ * In KUnit, a test case is just a function with the signature
+ * `void (*)(struct kunit *)`. `struct kunit` is a context object that stores
+ * information about the current test.
+ */
+static void example_simple_test(struct kunit *test)
+{
+	/*
+	 * This is an EXPECTATION; it is how KUnit tests things. When you want
+	 * to test a piece of code, you set some expectations about what the
+	 * code should do. KUnit then runs the test and verifies that the code's
+	 * behavior matched what was expected.
+	 */
+	KUNIT_EXPECT_EQ(test, 1 + 1, 2);
+}
+
+/*
+ * This is run once before each test case, see the comment on
+ * example_test_module for more information.
+ */
+static int example_test_init(struct kunit *test)
+{
+	kunit_info(test, "initializing");
+
+	return 0;
+}
+
+/*
+ * Here we make a list of all the test cases we want to add to the test module
+ * below.
+ */
+static struct kunit_case example_test_cases[] = {
+	/*
+	 * This is a helper to create a test case object from a test case
+	 * function; its exact function is not important to understand how to
+	 * use KUnit, just know that this is how you associate test cases with a
+	 * test module.
+	 */
+	KUNIT_CASE(example_simple_test),
+	{},
+};
+
+/*
+ * This defines a suite or grouping of tests.
+ *
+ * Test cases are defined as belonging to the suite by adding them to
+ * `kunit_cases`.
+ *
+ * Often it is desirable to run some function which will set up things which
+ * will be used by every test; this is accomplished with an `init` function
+ * which runs before each test case is invoked. Similarly, an `exit` function
+ * may be specified which runs after every test case and can be used to for
+ * cleanup. For clarity, running tests in a test module would behave as follows:
+ *
+ * module.init(test);
+ * module.test_case[0](test);
+ * module.exit(test);
+ * module.init(test);
+ * module.test_case[1](test);
+ * module.exit(test);
+ * ...;
+ */
+static struct kunit_module example_test_module = {
+	.name = "example",
+	.init = example_test_init,
+	.test_cases = example_test_cases,
+};
+
+/*
+ * This registers the above test module telling KUnit that this is a suite of
+ * tests that need to be run.
+ */
+module_test(example_test_module);
diff --git a/kunit/string-stream-test.c b/kunit/string-stream-test.c
new file mode 100644
index 0000000000000..ec2675593c364
--- /dev/null
+++ b/kunit/string-stream-test.c
@@ -0,0 +1,61 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * KUnit test for struct string_stream.
+ *
+ * Copyright (C) 2018, Google LLC.
+ * Author: Brendan Higgins <brendanhiggins-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
+ */
+
+#include <linux/slab.h>
+#include <kunit/test.h>
+#include <kunit/string-stream.h>
+
+static void string_stream_test_get_string(struct kunit *test)
+{
+	struct string_stream *stream = new_string_stream();
+	char *output;
+
+	stream->add(stream, "Foo");
+	stream->add(stream, " %s", "bar");
+
+	output = stream->get_string(stream);
+	KUNIT_EXPECT_STREQ(test, output, "Foo bar");
+	kfree(output);
+	destroy_string_stream(stream);
+}
+
+static void string_stream_test_add_and_clear(struct kunit *test)
+{
+	struct string_stream *stream = new_string_stream();
+	char *output;
+	int i;
+
+	for (i = 0; i < 10; i++)
+		stream->add(stream, "A");
+
+	output = stream->get_string(stream);
+	KUNIT_EXPECT_STREQ(test, output, "AAAAAAAAAA");
+	KUNIT_EXPECT_EQ(test, stream->length, 10);
+	KUNIT_EXPECT_FALSE(test, stream->is_empty(stream));
+	kfree(output);
+
+	stream->clear(stream);
+
+	output = stream->get_string(stream);
+	KUNIT_EXPECT_STREQ(test, output, "");
+	KUNIT_EXPECT_TRUE(test, stream->is_empty(stream));
+	destroy_string_stream(stream);
+}
+
+static struct kunit_case string_stream_test_cases[] = {
+	KUNIT_CASE(string_stream_test_get_string),
+	KUNIT_CASE(string_stream_test_add_and_clear),
+	{}
+};
+
+static struct kunit_module string_stream_test_module = {
+	.name = "string-stream-test",
+	.test_cases = string_stream_test_cases
+};
+module_test(string_stream_test_module);
+
-- 
2.20.0.rc0.387.gc7a69e6b6c-goog

WARNING: multiple messages have this Message-ID (diff)
From: Brendan Higgins <brendanhiggins@google.com>
To: gregkh@linuxfoundation.org, keescook@google.com,
	mcgrof@kernel.org, shuah@kernel.org
Cc: joel@jms.id.au, mpe@ellerman.id.au, joe@perches.com,
	brakmo@fb.com, rostedt@goodmis.org, Tim.Bird@sony.com,
	khilman@baylibre.com, julia.lawall@lip6.fr,
	linux-kselftest@vger.kernel.org, kunit-dev@googlegroups.com,
	linux-kernel@vger.kernel.org, jdike@addtoit.com, richard@nod.at,
	linux-um@lists.infradead.org, daniel@ffwll.ch,
	dri-devel@lists.freedesktop.org, robh@kernel.org,
	dan.j.williams@intel.com, linux-nvdimm@lists.01.org,
	kieran.bingham@ideasonboard.com, frowand.list@gmail.com,
	knut.omang@oracle.com,
	Brendan Higgins <brendanhiggins@google.com>
Subject: [RFC v3 07/19] kunit: test: add initial tests
Date: Wed, 28 Nov 2018 11:36:24 -0800	[thread overview]
Message-ID: <20181128193636.254378-8-brendanhiggins@google.com> (raw)
In-Reply-To: <20181128193636.254378-1-brendanhiggins@google.com>

Add a test for string stream along with a simpler example.

Signed-off-by: Brendan Higgins <brendanhiggins@google.com>
---
 kunit/Kconfig              | 12 ++++++
 kunit/Makefile             |  4 ++
 kunit/example-test.c       | 88 ++++++++++++++++++++++++++++++++++++++
 kunit/string-stream-test.c | 61 ++++++++++++++++++++++++++
 4 files changed, 165 insertions(+)
 create mode 100644 kunit/example-test.c
 create mode 100644 kunit/string-stream-test.c

diff --git a/kunit/Kconfig b/kunit/Kconfig
index 49b44c4f6630a..c3dc7bca83f9d 100644
--- a/kunit/Kconfig
+++ b/kunit/Kconfig
@@ -14,4 +14,16 @@ config KUNIT
 	  special hardware. For more information, please see
 	  Documentation/kunit/
 
+config KUNIT_TEST
+	bool "KUnit test for KUnit"
+	depends on KUNIT
+	help
+	  Enables KUnit test to test KUnit.
+
+config KUNIT_EXAMPLE_TEST
+	bool "Example test for KUnit"
+	depends on KUNIT
+	help
+	  Enables example KUnit test to demo features of KUnit.
+
 endmenu
diff --git a/kunit/Makefile b/kunit/Makefile
index 6ddc622ee6b1c..60a9ea6cb4697 100644
--- a/kunit/Makefile
+++ b/kunit/Makefile
@@ -1,3 +1,7 @@
 obj-$(CONFIG_KUNIT) +=			test.o \
 					string-stream.o \
 					kunit-stream.o
+
+obj-$(CONFIG_KUNIT_TEST) +=		string-stream-test.o
+
+obj-$(CONFIG_KUNIT_EXAMPLE_TEST) +=	example-test.o
diff --git a/kunit/example-test.c b/kunit/example-test.c
new file mode 100644
index 0000000000000..4197cc217d96f
--- /dev/null
+++ b/kunit/example-test.c
@@ -0,0 +1,88 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Example KUnit test to show how to use KUnit.
+ *
+ * Copyright (C) 2018, Google LLC.
+ * Author: Brendan Higgins <brendanhiggins@google.com>
+ */
+
+#include <kunit/test.h>
+
+/*
+ * This is the most fundamental element of KUnit, the test case. A test case
+ * makes a set EXPECTATIONs and ASSERTIONs about the behavior of some code; if
+ * any expectations or assertions are not met, the test fails; otherwise, the
+ * test passes.
+ *
+ * In KUnit, a test case is just a function with the signature
+ * `void (*)(struct kunit *)`. `struct kunit` is a context object that stores
+ * information about the current test.
+ */
+static void example_simple_test(struct kunit *test)
+{
+	/*
+	 * This is an EXPECTATION; it is how KUnit tests things. When you want
+	 * to test a piece of code, you set some expectations about what the
+	 * code should do. KUnit then runs the test and verifies that the code's
+	 * behavior matched what was expected.
+	 */
+	KUNIT_EXPECT_EQ(test, 1 + 1, 2);
+}
+
+/*
+ * This is run once before each test case, see the comment on
+ * example_test_module for more information.
+ */
+static int example_test_init(struct kunit *test)
+{
+	kunit_info(test, "initializing");
+
+	return 0;
+}
+
+/*
+ * Here we make a list of all the test cases we want to add to the test module
+ * below.
+ */
+static struct kunit_case example_test_cases[] = {
+	/*
+	 * This is a helper to create a test case object from a test case
+	 * function; its exact function is not important to understand how to
+	 * use KUnit, just know that this is how you associate test cases with a
+	 * test module.
+	 */
+	KUNIT_CASE(example_simple_test),
+	{},
+};
+
+/*
+ * This defines a suite or grouping of tests.
+ *
+ * Test cases are defined as belonging to the suite by adding them to
+ * `kunit_cases`.
+ *
+ * Often it is desirable to run some function which will set up things which
+ * will be used by every test; this is accomplished with an `init` function
+ * which runs before each test case is invoked. Similarly, an `exit` function
+ * may be specified which runs after every test case and can be used to for
+ * cleanup. For clarity, running tests in a test module would behave as follows:
+ *
+ * module.init(test);
+ * module.test_case[0](test);
+ * module.exit(test);
+ * module.init(test);
+ * module.test_case[1](test);
+ * module.exit(test);
+ * ...;
+ */
+static struct kunit_module example_test_module = {
+	.name = "example",
+	.init = example_test_init,
+	.test_cases = example_test_cases,
+};
+
+/*
+ * This registers the above test module telling KUnit that this is a suite of
+ * tests that need to be run.
+ */
+module_test(example_test_module);
diff --git a/kunit/string-stream-test.c b/kunit/string-stream-test.c
new file mode 100644
index 0000000000000..ec2675593c364
--- /dev/null
+++ b/kunit/string-stream-test.c
@@ -0,0 +1,61 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * KUnit test for struct string_stream.
+ *
+ * Copyright (C) 2018, Google LLC.
+ * Author: Brendan Higgins <brendanhiggins@google.com>
+ */
+
+#include <linux/slab.h>
+#include <kunit/test.h>
+#include <kunit/string-stream.h>
+
+static void string_stream_test_get_string(struct kunit *test)
+{
+	struct string_stream *stream = new_string_stream();
+	char *output;
+
+	stream->add(stream, "Foo");
+	stream->add(stream, " %s", "bar");
+
+	output = stream->get_string(stream);
+	KUNIT_EXPECT_STREQ(test, output, "Foo bar");
+	kfree(output);
+	destroy_string_stream(stream);
+}
+
+static void string_stream_test_add_and_clear(struct kunit *test)
+{
+	struct string_stream *stream = new_string_stream();
+	char *output;
+	int i;
+
+	for (i = 0; i < 10; i++)
+		stream->add(stream, "A");
+
+	output = stream->get_string(stream);
+	KUNIT_EXPECT_STREQ(test, output, "AAAAAAAAAA");
+	KUNIT_EXPECT_EQ(test, stream->length, 10);
+	KUNIT_EXPECT_FALSE(test, stream->is_empty(stream));
+	kfree(output);
+
+	stream->clear(stream);
+
+	output = stream->get_string(stream);
+	KUNIT_EXPECT_STREQ(test, output, "");
+	KUNIT_EXPECT_TRUE(test, stream->is_empty(stream));
+	destroy_string_stream(stream);
+}
+
+static struct kunit_case string_stream_test_cases[] = {
+	KUNIT_CASE(string_stream_test_get_string),
+	KUNIT_CASE(string_stream_test_add_and_clear),
+	{}
+};
+
+static struct kunit_module string_stream_test_module = {
+	.name = "string-stream-test",
+	.test_cases = string_stream_test_cases
+};
+module_test(string_stream_test_module);
+
-- 
2.20.0.rc0.387.gc7a69e6b6c-goog


WARNING: multiple messages have this Message-ID (diff)
From: brendanhiggins at google.com (Brendan Higgins)
Subject: [RFC v3 07/19] kunit: test: add initial tests
Date: Wed, 28 Nov 2018 11:36:24 -0800	[thread overview]
Message-ID: <20181128193636.254378-8-brendanhiggins@google.com> (raw)
In-Reply-To: <20181128193636.254378-1-brendanhiggins@google.com>

Add a test for string stream along with a simpler example.

Signed-off-by: Brendan Higgins <brendanhiggins at google.com>
---
 kunit/Kconfig              | 12 ++++++
 kunit/Makefile             |  4 ++
 kunit/example-test.c       | 88 ++++++++++++++++++++++++++++++++++++++
 kunit/string-stream-test.c | 61 ++++++++++++++++++++++++++
 4 files changed, 165 insertions(+)
 create mode 100644 kunit/example-test.c
 create mode 100644 kunit/string-stream-test.c

diff --git a/kunit/Kconfig b/kunit/Kconfig
index 49b44c4f6630a..c3dc7bca83f9d 100644
--- a/kunit/Kconfig
+++ b/kunit/Kconfig
@@ -14,4 +14,16 @@ config KUNIT
 	  special hardware. For more information, please see
 	  Documentation/kunit/
 
+config KUNIT_TEST
+	bool "KUnit test for KUnit"
+	depends on KUNIT
+	help
+	  Enables KUnit test to test KUnit.
+
+config KUNIT_EXAMPLE_TEST
+	bool "Example test for KUnit"
+	depends on KUNIT
+	help
+	  Enables example KUnit test to demo features of KUnit.
+
 endmenu
diff --git a/kunit/Makefile b/kunit/Makefile
index 6ddc622ee6b1c..60a9ea6cb4697 100644
--- a/kunit/Makefile
+++ b/kunit/Makefile
@@ -1,3 +1,7 @@
 obj-$(CONFIG_KUNIT) +=			test.o \
 					string-stream.o \
 					kunit-stream.o
+
+obj-$(CONFIG_KUNIT_TEST) +=		string-stream-test.o
+
+obj-$(CONFIG_KUNIT_EXAMPLE_TEST) +=	example-test.o
diff --git a/kunit/example-test.c b/kunit/example-test.c
new file mode 100644
index 0000000000000..4197cc217d96f
--- /dev/null
+++ b/kunit/example-test.c
@@ -0,0 +1,88 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Example KUnit test to show how to use KUnit.
+ *
+ * Copyright (C) 2018, Google LLC.
+ * Author: Brendan Higgins <brendanhiggins at google.com>
+ */
+
+#include <kunit/test.h>
+
+/*
+ * This is the most fundamental element of KUnit, the test case. A test case
+ * makes a set EXPECTATIONs and ASSERTIONs about the behavior of some code; if
+ * any expectations or assertions are not met, the test fails; otherwise, the
+ * test passes.
+ *
+ * In KUnit, a test case is just a function with the signature
+ * `void (*)(struct kunit *)`. `struct kunit` is a context object that stores
+ * information about the current test.
+ */
+static void example_simple_test(struct kunit *test)
+{
+	/*
+	 * This is an EXPECTATION; it is how KUnit tests things. When you want
+	 * to test a piece of code, you set some expectations about what the
+	 * code should do. KUnit then runs the test and verifies that the code's
+	 * behavior matched what was expected.
+	 */
+	KUNIT_EXPECT_EQ(test, 1 + 1, 2);
+}
+
+/*
+ * This is run once before each test case, see the comment on
+ * example_test_module for more information.
+ */
+static int example_test_init(struct kunit *test)
+{
+	kunit_info(test, "initializing");
+
+	return 0;
+}
+
+/*
+ * Here we make a list of all the test cases we want to add to the test module
+ * below.
+ */
+static struct kunit_case example_test_cases[] = {
+	/*
+	 * This is a helper to create a test case object from a test case
+	 * function; its exact function is not important to understand how to
+	 * use KUnit, just know that this is how you associate test cases with a
+	 * test module.
+	 */
+	KUNIT_CASE(example_simple_test),
+	{},
+};
+
+/*
+ * This defines a suite or grouping of tests.
+ *
+ * Test cases are defined as belonging to the suite by adding them to
+ * `kunit_cases`.
+ *
+ * Often it is desirable to run some function which will set up things which
+ * will be used by every test; this is accomplished with an `init` function
+ * which runs before each test case is invoked. Similarly, an `exit` function
+ * may be specified which runs after every test case and can be used to for
+ * cleanup. For clarity, running tests in a test module would behave as follows:
+ *
+ * module.init(test);
+ * module.test_case[0](test);
+ * module.exit(test);
+ * module.init(test);
+ * module.test_case[1](test);
+ * module.exit(test);
+ * ...;
+ */
+static struct kunit_module example_test_module = {
+	.name = "example",
+	.init = example_test_init,
+	.test_cases = example_test_cases,
+};
+
+/*
+ * This registers the above test module telling KUnit that this is a suite of
+ * tests that need to be run.
+ */
+module_test(example_test_module);
diff --git a/kunit/string-stream-test.c b/kunit/string-stream-test.c
new file mode 100644
index 0000000000000..ec2675593c364
--- /dev/null
+++ b/kunit/string-stream-test.c
@@ -0,0 +1,61 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * KUnit test for struct string_stream.
+ *
+ * Copyright (C) 2018, Google LLC.
+ * Author: Brendan Higgins <brendanhiggins at google.com>
+ */
+
+#include <linux/slab.h>
+#include <kunit/test.h>
+#include <kunit/string-stream.h>
+
+static void string_stream_test_get_string(struct kunit *test)
+{
+	struct string_stream *stream = new_string_stream();
+	char *output;
+
+	stream->add(stream, "Foo");
+	stream->add(stream, " %s", "bar");
+
+	output = stream->get_string(stream);
+	KUNIT_EXPECT_STREQ(test, output, "Foo bar");
+	kfree(output);
+	destroy_string_stream(stream);
+}
+
+static void string_stream_test_add_and_clear(struct kunit *test)
+{
+	struct string_stream *stream = new_string_stream();
+	char *output;
+	int i;
+
+	for (i = 0; i < 10; i++)
+		stream->add(stream, "A");
+
+	output = stream->get_string(stream);
+	KUNIT_EXPECT_STREQ(test, output, "AAAAAAAAAA");
+	KUNIT_EXPECT_EQ(test, stream->length, 10);
+	KUNIT_EXPECT_FALSE(test, stream->is_empty(stream));
+	kfree(output);
+
+	stream->clear(stream);
+
+	output = stream->get_string(stream);
+	KUNIT_EXPECT_STREQ(test, output, "");
+	KUNIT_EXPECT_TRUE(test, stream->is_empty(stream));
+	destroy_string_stream(stream);
+}
+
+static struct kunit_case string_stream_test_cases[] = {
+	KUNIT_CASE(string_stream_test_get_string),
+	KUNIT_CASE(string_stream_test_add_and_clear),
+	{}
+};
+
+static struct kunit_module string_stream_test_module = {
+	.name = "string-stream-test",
+	.test_cases = string_stream_test_cases
+};
+module_test(string_stream_test_module);
+
-- 
2.20.0.rc0.387.gc7a69e6b6c-goog

WARNING: multiple messages have this Message-ID (diff)
From: brendanhiggins@google.com (Brendan Higgins)
Subject: [RFC v3 07/19] kunit: test: add initial tests
Date: Wed, 28 Nov 2018 11:36:24 -0800	[thread overview]
Message-ID: <20181128193636.254378-8-brendanhiggins@google.com> (raw)
Message-ID: <20181128193624.D760pUk8yWtmxBhjQ1MFoxAw4Ws_T4Zs0Eq0VVAXUp0@z> (raw)
In-Reply-To: <20181128193636.254378-1-brendanhiggins@google.com>

Add a test for string stream along with a simpler example.

Signed-off-by: Brendan Higgins <brendanhiggins at google.com>
---
 kunit/Kconfig              | 12 ++++++
 kunit/Makefile             |  4 ++
 kunit/example-test.c       | 88 ++++++++++++++++++++++++++++++++++++++
 kunit/string-stream-test.c | 61 ++++++++++++++++++++++++++
 4 files changed, 165 insertions(+)
 create mode 100644 kunit/example-test.c
 create mode 100644 kunit/string-stream-test.c

diff --git a/kunit/Kconfig b/kunit/Kconfig
index 49b44c4f6630a..c3dc7bca83f9d 100644
--- a/kunit/Kconfig
+++ b/kunit/Kconfig
@@ -14,4 +14,16 @@ config KUNIT
 	  special hardware. For more information, please see
 	  Documentation/kunit/
 
+config KUNIT_TEST
+	bool "KUnit test for KUnit"
+	depends on KUNIT
+	help
+	  Enables KUnit test to test KUnit.
+
+config KUNIT_EXAMPLE_TEST
+	bool "Example test for KUnit"
+	depends on KUNIT
+	help
+	  Enables example KUnit test to demo features of KUnit.
+
 endmenu
diff --git a/kunit/Makefile b/kunit/Makefile
index 6ddc622ee6b1c..60a9ea6cb4697 100644
--- a/kunit/Makefile
+++ b/kunit/Makefile
@@ -1,3 +1,7 @@
 obj-$(CONFIG_KUNIT) +=			test.o \
 					string-stream.o \
 					kunit-stream.o
+
+obj-$(CONFIG_KUNIT_TEST) +=		string-stream-test.o
+
+obj-$(CONFIG_KUNIT_EXAMPLE_TEST) +=	example-test.o
diff --git a/kunit/example-test.c b/kunit/example-test.c
new file mode 100644
index 0000000000000..4197cc217d96f
--- /dev/null
+++ b/kunit/example-test.c
@@ -0,0 +1,88 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Example KUnit test to show how to use KUnit.
+ *
+ * Copyright (C) 2018, Google LLC.
+ * Author: Brendan Higgins <brendanhiggins at google.com>
+ */
+
+#include <kunit/test.h>
+
+/*
+ * This is the most fundamental element of KUnit, the test case. A test case
+ * makes a set EXPECTATIONs and ASSERTIONs about the behavior of some code; if
+ * any expectations or assertions are not met, the test fails; otherwise, the
+ * test passes.
+ *
+ * In KUnit, a test case is just a function with the signature
+ * `void (*)(struct kunit *)`. `struct kunit` is a context object that stores
+ * information about the current test.
+ */
+static void example_simple_test(struct kunit *test)
+{
+	/*
+	 * This is an EXPECTATION; it is how KUnit tests things. When you want
+	 * to test a piece of code, you set some expectations about what the
+	 * code should do. KUnit then runs the test and verifies that the code's
+	 * behavior matched what was expected.
+	 */
+	KUNIT_EXPECT_EQ(test, 1 + 1, 2);
+}
+
+/*
+ * This is run once before each test case, see the comment on
+ * example_test_module for more information.
+ */
+static int example_test_init(struct kunit *test)
+{
+	kunit_info(test, "initializing");
+
+	return 0;
+}
+
+/*
+ * Here we make a list of all the test cases we want to add to the test module
+ * below.
+ */
+static struct kunit_case example_test_cases[] = {
+	/*
+	 * This is a helper to create a test case object from a test case
+	 * function; its exact function is not important to understand how to
+	 * use KUnit, just know that this is how you associate test cases with a
+	 * test module.
+	 */
+	KUNIT_CASE(example_simple_test),
+	{},
+};
+
+/*
+ * This defines a suite or grouping of tests.
+ *
+ * Test cases are defined as belonging to the suite by adding them to
+ * `kunit_cases`.
+ *
+ * Often it is desirable to run some function which will set up things which
+ * will be used by every test; this is accomplished with an `init` function
+ * which runs before each test case is invoked. Similarly, an `exit` function
+ * may be specified which runs after every test case and can be used to for
+ * cleanup. For clarity, running tests in a test module would behave as follows:
+ *
+ * module.init(test);
+ * module.test_case[0](test);
+ * module.exit(test);
+ * module.init(test);
+ * module.test_case[1](test);
+ * module.exit(test);
+ * ...;
+ */
+static struct kunit_module example_test_module = {
+	.name = "example",
+	.init = example_test_init,
+	.test_cases = example_test_cases,
+};
+
+/*
+ * This registers the above test module telling KUnit that this is a suite of
+ * tests that need to be run.
+ */
+module_test(example_test_module);
diff --git a/kunit/string-stream-test.c b/kunit/string-stream-test.c
new file mode 100644
index 0000000000000..ec2675593c364
--- /dev/null
+++ b/kunit/string-stream-test.c
@@ -0,0 +1,61 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * KUnit test for struct string_stream.
+ *
+ * Copyright (C) 2018, Google LLC.
+ * Author: Brendan Higgins <brendanhiggins at google.com>
+ */
+
+#include <linux/slab.h>
+#include <kunit/test.h>
+#include <kunit/string-stream.h>
+
+static void string_stream_test_get_string(struct kunit *test)
+{
+	struct string_stream *stream = new_string_stream();
+	char *output;
+
+	stream->add(stream, "Foo");
+	stream->add(stream, " %s", "bar");
+
+	output = stream->get_string(stream);
+	KUNIT_EXPECT_STREQ(test, output, "Foo bar");
+	kfree(output);
+	destroy_string_stream(stream);
+}
+
+static void string_stream_test_add_and_clear(struct kunit *test)
+{
+	struct string_stream *stream = new_string_stream();
+	char *output;
+	int i;
+
+	for (i = 0; i < 10; i++)
+		stream->add(stream, "A");
+
+	output = stream->get_string(stream);
+	KUNIT_EXPECT_STREQ(test, output, "AAAAAAAAAA");
+	KUNIT_EXPECT_EQ(test, stream->length, 10);
+	KUNIT_EXPECT_FALSE(test, stream->is_empty(stream));
+	kfree(output);
+
+	stream->clear(stream);
+
+	output = stream->get_string(stream);
+	KUNIT_EXPECT_STREQ(test, output, "");
+	KUNIT_EXPECT_TRUE(test, stream->is_empty(stream));
+	destroy_string_stream(stream);
+}
+
+static struct kunit_case string_stream_test_cases[] = {
+	KUNIT_CASE(string_stream_test_get_string),
+	KUNIT_CASE(string_stream_test_add_and_clear),
+	{}
+};
+
+static struct kunit_module string_stream_test_module = {
+	.name = "string-stream-test",
+	.test_cases = string_stream_test_cases
+};
+module_test(string_stream_test_module);
+
-- 
2.20.0.rc0.387.gc7a69e6b6c-goog

WARNING: multiple messages have this Message-ID (diff)
From: Brendan Higgins <brendanhiggins@google.com>
To: gregkh@linuxfoundation.org, keescook@google.com,
	mcgrof@kernel.org, shuah@kernel.org
Cc: brakmo@fb.com, jdike@addtoit.com,
	dri-devel@lists.freedesktop.org, linux-kselftest@vger.kernel.org,
	frowand.list@gmail.com, robh@kernel.org,
	linux-nvdimm@lists.01.org, richard@nod.at, knut.omang@oracle.com,
	kieran.bingham@ideasonboard.com, joel@jms.id.au,
	khilman@baylibre.com, Brendan Higgins <brendanhiggins@google.com>,
	Tim.Bird@sony.com, linux-um@lists.infradead.org,
	rostedt@goodmis.org, julia.lawall@lip6.fr,
	dan.j.williams@intel.com, kunit-dev@googlegroups.com,
	linux-kernel@vger.kernel.org, daniel@ffwll.ch,
	mpe@ellerman.id.au, joe@perches.com
Subject: [RFC v3 07/19] kunit: test: add initial tests
Date: Wed, 28 Nov 2018 11:36:24 -0800	[thread overview]
Message-ID: <20181128193636.254378-8-brendanhiggins@google.com> (raw)
In-Reply-To: <20181128193636.254378-1-brendanhiggins@google.com>

Add a test for string stream along with a simpler example.

Signed-off-by: Brendan Higgins <brendanhiggins@google.com>
---
 kunit/Kconfig              | 12 ++++++
 kunit/Makefile             |  4 ++
 kunit/example-test.c       | 88 ++++++++++++++++++++++++++++++++++++++
 kunit/string-stream-test.c | 61 ++++++++++++++++++++++++++
 4 files changed, 165 insertions(+)
 create mode 100644 kunit/example-test.c
 create mode 100644 kunit/string-stream-test.c

diff --git a/kunit/Kconfig b/kunit/Kconfig
index 49b44c4f6630a..c3dc7bca83f9d 100644
--- a/kunit/Kconfig
+++ b/kunit/Kconfig
@@ -14,4 +14,16 @@ config KUNIT
 	  special hardware. For more information, please see
 	  Documentation/kunit/
 
+config KUNIT_TEST
+	bool "KUnit test for KUnit"
+	depends on KUNIT
+	help
+	  Enables KUnit test to test KUnit.
+
+config KUNIT_EXAMPLE_TEST
+	bool "Example test for KUnit"
+	depends on KUNIT
+	help
+	  Enables example KUnit test to demo features of KUnit.
+
 endmenu
diff --git a/kunit/Makefile b/kunit/Makefile
index 6ddc622ee6b1c..60a9ea6cb4697 100644
--- a/kunit/Makefile
+++ b/kunit/Makefile
@@ -1,3 +1,7 @@
 obj-$(CONFIG_KUNIT) +=			test.o \
 					string-stream.o \
 					kunit-stream.o
+
+obj-$(CONFIG_KUNIT_TEST) +=		string-stream-test.o
+
+obj-$(CONFIG_KUNIT_EXAMPLE_TEST) +=	example-test.o
diff --git a/kunit/example-test.c b/kunit/example-test.c
new file mode 100644
index 0000000000000..4197cc217d96f
--- /dev/null
+++ b/kunit/example-test.c
@@ -0,0 +1,88 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Example KUnit test to show how to use KUnit.
+ *
+ * Copyright (C) 2018, Google LLC.
+ * Author: Brendan Higgins <brendanhiggins@google.com>
+ */
+
+#include <kunit/test.h>
+
+/*
+ * This is the most fundamental element of KUnit, the test case. A test case
+ * makes a set EXPECTATIONs and ASSERTIONs about the behavior of some code; if
+ * any expectations or assertions are not met, the test fails; otherwise, the
+ * test passes.
+ *
+ * In KUnit, a test case is just a function with the signature
+ * `void (*)(struct kunit *)`. `struct kunit` is a context object that stores
+ * information about the current test.
+ */
+static void example_simple_test(struct kunit *test)
+{
+	/*
+	 * This is an EXPECTATION; it is how KUnit tests things. When you want
+	 * to test a piece of code, you set some expectations about what the
+	 * code should do. KUnit then runs the test and verifies that the code's
+	 * behavior matched what was expected.
+	 */
+	KUNIT_EXPECT_EQ(test, 1 + 1, 2);
+}
+
+/*
+ * This is run once before each test case, see the comment on
+ * example_test_module for more information.
+ */
+static int example_test_init(struct kunit *test)
+{
+	kunit_info(test, "initializing");
+
+	return 0;
+}
+
+/*
+ * Here we make a list of all the test cases we want to add to the test module
+ * below.
+ */
+static struct kunit_case example_test_cases[] = {
+	/*
+	 * This is a helper to create a test case object from a test case
+	 * function; its exact function is not important to understand how to
+	 * use KUnit, just know that this is how you associate test cases with a
+	 * test module.
+	 */
+	KUNIT_CASE(example_simple_test),
+	{},
+};
+
+/*
+ * This defines a suite or grouping of tests.
+ *
+ * Test cases are defined as belonging to the suite by adding them to
+ * `kunit_cases`.
+ *
+ * Often it is desirable to run some function which will set up things which
+ * will be used by every test; this is accomplished with an `init` function
+ * which runs before each test case is invoked. Similarly, an `exit` function
+ * may be specified which runs after every test case and can be used to for
+ * cleanup. For clarity, running tests in a test module would behave as follows:
+ *
+ * module.init(test);
+ * module.test_case[0](test);
+ * module.exit(test);
+ * module.init(test);
+ * module.test_case[1](test);
+ * module.exit(test);
+ * ...;
+ */
+static struct kunit_module example_test_module = {
+	.name = "example",
+	.init = example_test_init,
+	.test_cases = example_test_cases,
+};
+
+/*
+ * This registers the above test module telling KUnit that this is a suite of
+ * tests that need to be run.
+ */
+module_test(example_test_module);
diff --git a/kunit/string-stream-test.c b/kunit/string-stream-test.c
new file mode 100644
index 0000000000000..ec2675593c364
--- /dev/null
+++ b/kunit/string-stream-test.c
@@ -0,0 +1,61 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * KUnit test for struct string_stream.
+ *
+ * Copyright (C) 2018, Google LLC.
+ * Author: Brendan Higgins <brendanhiggins@google.com>
+ */
+
+#include <linux/slab.h>
+#include <kunit/test.h>
+#include <kunit/string-stream.h>
+
+static void string_stream_test_get_string(struct kunit *test)
+{
+	struct string_stream *stream = new_string_stream();
+	char *output;
+
+	stream->add(stream, "Foo");
+	stream->add(stream, " %s", "bar");
+
+	output = stream->get_string(stream);
+	KUNIT_EXPECT_STREQ(test, output, "Foo bar");
+	kfree(output);
+	destroy_string_stream(stream);
+}
+
+static void string_stream_test_add_and_clear(struct kunit *test)
+{
+	struct string_stream *stream = new_string_stream();
+	char *output;
+	int i;
+
+	for (i = 0; i < 10; i++)
+		stream->add(stream, "A");
+
+	output = stream->get_string(stream);
+	KUNIT_EXPECT_STREQ(test, output, "AAAAAAAAAA");
+	KUNIT_EXPECT_EQ(test, stream->length, 10);
+	KUNIT_EXPECT_FALSE(test, stream->is_empty(stream));
+	kfree(output);
+
+	stream->clear(stream);
+
+	output = stream->get_string(stream);
+	KUNIT_EXPECT_STREQ(test, output, "");
+	KUNIT_EXPECT_TRUE(test, stream->is_empty(stream));
+	destroy_string_stream(stream);
+}
+
+static struct kunit_case string_stream_test_cases[] = {
+	KUNIT_CASE(string_stream_test_get_string),
+	KUNIT_CASE(string_stream_test_add_and_clear),
+	{}
+};
+
+static struct kunit_module string_stream_test_module = {
+	.name = "string-stream-test",
+	.test_cases = string_stream_test_cases
+};
+module_test(string_stream_test_module);
+
-- 
2.20.0.rc0.387.gc7a69e6b6c-goog


_______________________________________________
linux-um mailing list
linux-um@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-um


  parent reply	other threads:[~2018-11-28 19:36 UTC|newest]

Thread overview: 630+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-28 19:36 [RFC v3 00/19] kunit: introduce KUnit, the Linux kernel unit testing framework Brendan Higgins
2018-11-28 19:36 ` Brendan Higgins
2018-11-28 19:36 ` Brendan Higgins
2018-11-28 19:36 ` brendanhiggins
2018-11-28 19:36 ` [RFC v3 01/19] kunit: test: add KUnit test runner core Brendan Higgins
2018-11-28 19:36   ` Brendan Higgins
2018-11-28 19:36   ` Brendan Higgins
2018-11-28 19:36   ` brendanhiggins
2018-11-30  3:14   ` Luis Chamberlain
2018-11-30  3:14     ` Luis Chamberlain
2018-11-30  3:14     ` Luis Chamberlain
2018-11-30  3:14     ` Luis Chamberlain
2018-11-30  3:14     ` mcgrof
2018-11-30  3:14     ` Luis Chamberlain
2018-12-01  1:51     ` Brendan Higgins
2018-12-01  1:51       ` Brendan Higgins
2018-12-01  1:51       ` Brendan Higgins
2018-12-01  1:51       ` brendanhiggins
2018-12-01  1:51       ` Brendan Higgins
2018-12-01  2:57       ` Luis Chamberlain
2018-12-01  2:57         ` Luis Chamberlain
2018-12-01  2:57         ` Luis Chamberlain
2018-12-01  2:57         ` Luis Chamberlain
2018-12-01  2:57         ` mcgrof
2018-12-01  2:57         ` Luis Chamberlain
2018-12-05 13:15     ` Anton Ivanov
2018-12-05 13:15       ` Anton Ivanov
2018-12-05 13:15       ` Anton Ivanov
2018-12-05 13:15       ` Anton Ivanov
2018-12-05 13:15       ` anton.ivanov
2018-12-05 13:15       ` Anton Ivanov
2018-12-05 14:45       ` Arnd Bergmann
2018-12-05 14:45         ` Arnd Bergmann
2018-12-05 14:45         ` Arnd Bergmann
2018-12-05 14:45         ` Arnd Bergmann
2018-12-05 14:45         ` arnd
2018-12-05 14:45         ` Arnd Bergmann
2018-12-05 14:49         ` Anton Ivanov
2018-12-05 14:49           ` Anton Ivanov
2018-12-05 14:49           ` Anton Ivanov
2018-12-05 14:49           ` Anton Ivanov
2018-12-05 14:49           ` anton.ivanov
2018-12-05 14:49           ` Anton Ivanov
2018-11-30  3:28   ` Luis Chamberlain
2018-11-30  3:28     ` Luis Chamberlain
2018-11-30  3:28     ` Luis Chamberlain
2018-11-30  3:28     ` mcgrof
2018-11-30  3:28     ` Luis Chamberlain
     [not found]     ` <20181130032802.GG18410-dAjH6bxAqesAS62YNPtMr3dQhYtBYE6JAL8bYrjMMd8@public.gmane.org>
2018-12-01  2:08       ` Brendan Higgins
2018-12-01  2:08         ` Brendan Higgins
2018-12-01  2:08         ` Brendan Higgins
2018-12-01  2:08         ` brendanhiggins
2018-12-01  2:08         ` Brendan Higgins
2018-12-01  3:10         ` Luis Chamberlain
2018-12-01  3:10           ` Luis Chamberlain
2018-12-01  3:10           ` Luis Chamberlain
2018-12-01  3:10           ` Luis Chamberlain
2018-12-01  3:10           ` mcgrof
2018-12-01  3:10           ` Luis Chamberlain
     [not found]           ` <20181201031049.GL28501-dAjH6bxAqesAS62YNPtMr3dQhYtBYE6JAL8bYrjMMd8@public.gmane.org>
2018-12-03 22:47             ` Brendan Higgins
2018-12-03 22:47               ` Brendan Higgins
2018-12-03 22:47               ` Brendan Higgins
2018-12-03 22:47               ` brendanhiggins
2018-12-03 22:47               ` Brendan Higgins
2018-12-01  3:02   ` Luis Chamberlain
2018-12-01  3:02     ` Luis Chamberlain
2018-12-01  3:02     ` Luis Chamberlain
2018-12-01  3:02     ` mcgrof
2018-12-01  3:02     ` Luis Chamberlain
2018-11-28 19:36 ` [RFC v3 10/19] kunit: test: add test managed resource tests Brendan Higgins
2018-11-28 19:36   ` Brendan Higgins
2018-11-28 19:36   ` Brendan Higgins
2018-11-28 19:36   ` brendanhiggins
     [not found] ` <20181128193636.254378-1-brendanhiggins-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2018-11-28 19:36   ` [RFC v3 02/19] kunit: test: add test resource management API Brendan Higgins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 19:36     ` brendanhiggins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 19:36   ` [RFC v3 03/19] kunit: test: add string_stream a std::stream like string builder Brendan Higgins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 19:36     ` brendanhiggins
2018-11-28 19:36     ` Brendan Higgins
2018-11-30  3:29     ` Luis Chamberlain
2018-11-30  3:29       ` Luis Chamberlain
2018-11-30  3:29       ` Luis Chamberlain
2018-11-30  3:29       ` Luis Chamberlain
2018-11-30  3:29       ` mcgrof
2018-11-30  3:29       ` Luis Chamberlain
2018-12-01  2:14       ` Brendan Higgins
2018-12-01  2:14         ` Brendan Higgins
2018-12-01  2:14         ` Brendan Higgins
2018-12-01  2:14         ` brendanhiggins
2018-12-01  3:12         ` Luis Chamberlain
2018-12-01  3:12           ` Luis Chamberlain
2018-12-01  3:12           ` Luis Chamberlain
2018-12-01  3:12           ` mcgrof
2018-12-01  3:12           ` Luis Chamberlain
2018-12-03 10:55       ` Petr Mladek
2018-12-03 10:55         ` Petr Mladek
2018-12-03 10:55         ` Petr Mladek
2018-12-03 10:55         ` Petr Mladek
2018-12-03 10:55         ` pmladek
2018-12-03 10:55         ` Petr Mladek
2018-12-04  0:35         ` Brendan Higgins
2018-12-04  0:35           ` Brendan Higgins
2018-12-04  0:35           ` Brendan Higgins
2018-12-04  0:35           ` brendanhiggins
2018-11-28 19:36   ` [RFC v3 04/19] kunit: test: add test_stream a std::stream like logger Brendan Higgins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 19:36     ` brendanhiggins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 19:36   ` [RFC v3 05/19] kunit: test: add the concept of expectations Brendan Higgins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 19:36     ` brendanhiggins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 19:36   ` [RFC v3 06/19] arch: um: enable running kunit from User Mode Linux Brendan Higgins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 19:36     ` brendanhiggins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 21:26     ` Rob Herring
2018-11-28 21:26       ` Rob Herring
2018-11-28 21:26       ` Rob Herring
2018-11-28 21:26       ` Rob Herring
2018-11-28 21:26       ` robh
2018-11-28 21:26       ` Rob Herring
2018-11-30  3:37       ` Luis Chamberlain
2018-11-30  3:37         ` Luis Chamberlain
2018-11-30  3:37         ` Luis Chamberlain
2018-11-30  3:37         ` Luis Chamberlain
2018-11-30  3:37         ` mcgrof
2018-11-30  3:37         ` Luis Chamberlain
2018-11-30 14:05         ` Rob Herring
2018-11-30 14:05           ` Rob Herring
2018-11-30 14:05           ` Rob Herring
2018-11-30 14:05           ` Rob Herring
2018-11-30 14:05           ` robh
2018-11-30 14:05           ` Rob Herring
2018-11-30 18:22           ` Luis Chamberlain
2018-11-30 18:22             ` Luis Chamberlain
2018-11-30 18:22             ` Luis Chamberlain
2018-11-30 18:22             ` Luis Chamberlain
2018-11-30 18:22             ` mcgrof
2018-11-30 18:22             ` Luis Chamberlain
     [not found]             ` <20181130182203.GS18410-dAjH6bxAqesAS62YNPtMr3dQhYtBYE6JAL8bYrjMMd8@public.gmane.org>
2018-12-03 23:22               ` Brendan Higgins
2018-12-03 23:22                 ` Brendan Higgins
2018-12-03 23:22                 ` Brendan Higgins
2018-12-03 23:22                 ` brendanhiggins
2018-12-03 23:22                 ` Brendan Higgins
2018-11-30  3:30     ` Luis Chamberlain
2018-11-30  3:30       ` Luis Chamberlain
2018-11-30  3:30       ` Luis Chamberlain
2018-11-30  3:30       ` Luis Chamberlain
2018-11-30  3:30       ` mcgrof
2018-11-30  3:30       ` Luis Chamberlain
2018-11-28 19:36   ` Brendan Higgins [this message]
2018-11-28 19:36     ` [RFC v3 07/19] kunit: test: add initial tests Brendan Higgins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 19:36     ` brendanhiggins
2018-11-28 19:36     ` Brendan Higgins
2018-11-30  3:40     ` Luis Chamberlain
2018-11-30  3:40       ` Luis Chamberlain
2018-11-30  3:40       ` Luis Chamberlain
2018-11-30  3:40       ` Luis Chamberlain
2018-11-30  3:40       ` mcgrof
2018-11-30  3:40       ` Luis Chamberlain
2018-12-03 23:26       ` Brendan Higgins
2018-12-03 23:26         ` Brendan Higgins
2018-12-03 23:26         ` Brendan Higgins
2018-12-03 23:26         ` brendanhiggins
2018-12-03 23:43         ` Luis Chamberlain
2018-12-03 23:43           ` Luis Chamberlain
2018-12-03 23:43           ` Luis Chamberlain
2018-12-03 23:43           ` Luis Chamberlain
2018-12-03 23:43           ` mcgrof
2018-12-03 23:43           ` Luis Chamberlain
2018-11-28 19:36   ` [RFC v3 08/19] arch: um: add shim to trap to allow installing a fault catcher for tests Brendan Higgins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 19:36     ` brendanhiggins
2018-11-28 19:36     ` Brendan Higgins
2018-11-30  3:34     ` Luis Chamberlain
2018-11-30  3:34       ` Luis Chamberlain
2018-11-30  3:34       ` Luis Chamberlain
2018-11-30  3:34       ` mcgrof
2018-11-30  3:34       ` Luis Chamberlain
     [not found]       ` <20181130033429.GK18410-dAjH6bxAqesAS62YNPtMr3dQhYtBYE6JAL8bYrjMMd8@public.gmane.org>
2018-12-03 23:34         ` Brendan Higgins
2018-12-03 23:34           ` Brendan Higgins
2018-12-03 23:34           ` Brendan Higgins
2018-12-03 23:34           ` brendanhiggins
2018-12-03 23:34           ` Brendan Higgins
     [not found]           ` <CAFd5g45+MAVaSW8HN9x57Y8Um=TV1Oa=-K8yExPBS-4KjLyciQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-12-03 23:46             ` Luis Chamberlain
2018-12-03 23:46               ` Luis Chamberlain
2018-12-03 23:46               ` Luis Chamberlain
2018-12-03 23:46               ` mcgrof
2018-12-03 23:46               ` Luis Chamberlain
     [not found]               ` <20181203234628.GR28501-dAjH6bxAqesAS62YNPtMr3dQhYtBYE6JAL8bYrjMMd8@public.gmane.org>
2018-12-04  0:44                 ` Brendan Higgins
2018-12-04  0:44                   ` Brendan Higgins
2018-12-04  0:44                   ` Brendan Higgins
2018-12-04  0:44                   ` brendanhiggins
2018-12-04  0:44                   ` Brendan Higgins
2018-11-30  3:41     ` Luis Chamberlain
2018-11-30  3:41       ` Luis Chamberlain
2018-11-30  3:41       ` Luis Chamberlain
2018-11-30  3:41       ` Luis Chamberlain
2018-11-30  3:41       ` mcgrof
2018-11-30  3:41       ` Luis Chamberlain
2018-12-03 23:37       ` Brendan Higgins
2018-12-03 23:37         ` Brendan Higgins
2018-12-03 23:37         ` Brendan Higgins
2018-12-03 23:37         ` brendanhiggins
2018-11-28 19:36   ` [RFC v3 09/19] kunit: test: add the concept of assertions Brendan Higgins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 19:36     ` brendanhiggins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 19:36   ` [RFC v3 11/19] kunit: add Python libraries for handing KUnit config and kernel Brendan Higgins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 19:36     ` brendanhiggins
2018-11-28 19:36     ` Brendan Higgins
2018-11-29 13:54     ` Kieran Bingham
2018-11-29 13:54       ` Kieran Bingham
2018-11-29 13:54       ` Kieran Bingham
2018-11-29 13:54       ` Kieran Bingham
2018-11-29 13:54       ` kieran.bingham
2018-11-29 13:54       ` Kieran Bingham
     [not found]       ` <841cf4ae-501b-05ae-5863-a51010709b67-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org>
2018-12-03 23:48         ` Brendan Higgins
2018-12-03 23:48           ` Brendan Higgins
2018-12-03 23:48           ` Brendan Higgins
2018-12-03 23:48           ` brendanhiggins
2018-12-03 23:48           ` Brendan Higgins
2018-12-04 20:47           ` Luis Chamberlain
2018-12-04 20:47             ` Luis Chamberlain
2018-12-04 20:47             ` Luis Chamberlain
2018-12-04 20:47             ` Luis Chamberlain
2018-12-04 20:47             ` mcgrof
2018-12-04 20:47             ` Luis Chamberlain
2018-12-06 12:32             ` Kieran Bingham
2018-12-06 12:32               ` Kieran Bingham
2018-12-06 12:32               ` Kieran Bingham
2018-12-06 12:32               ` kieran.bingham
2018-12-06 12:32               ` Kieran Bingham
2018-12-06 15:37               ` Matthew Wilcox
2018-12-06 15:37                 ` Matthew Wilcox
2018-12-06 15:37                 ` Matthew Wilcox
2018-12-06 15:37                 ` Matthew Wilcox
2018-12-06 15:37                 ` willy
2018-12-06 15:37                 ` Matthew Wilcox
2018-12-07 11:30                 ` Kieran Bingham
2018-12-07 11:30                   ` Kieran Bingham
2018-12-07 11:30                   ` Kieran Bingham
2018-12-07 11:30                   ` Kieran Bingham
2018-12-07 11:30                   ` kieran.bingham
2018-12-07 11:30                   ` Kieran Bingham
2018-12-11 14:09                 ` Petr Mladek
2018-12-11 14:09                   ` Petr Mladek
2018-12-11 14:09                   ` Petr Mladek
2018-12-11 14:09                   ` Petr Mladek
2018-12-11 14:09                   ` pmladek
2018-12-11 14:09                   ` Petr Mladek
2018-12-11 14:41                   ` Steven Rostedt
2018-12-11 14:41                     ` Steven Rostedt
2018-12-11 14:41                     ` Steven Rostedt
2018-12-11 14:41                     ` Steven Rostedt
2018-12-11 14:41                     ` rostedt
2018-12-11 14:41                     ` Steven Rostedt
2018-12-11 17:01                     ` Anton Ivanov
2018-12-11 17:01                       ` Anton Ivanov
2018-12-11 17:01                       ` Anton Ivanov
2018-12-11 17:01                       ` Anton Ivanov
2018-12-11 17:01                       ` anton.ivanov
2018-12-11 17:01                       ` Anton Ivanov
2019-02-09  0:40                       ` Brendan Higgins
2019-02-09  0:40                         ` Brendan Higgins
2019-02-09  0:40                         ` Brendan Higgins
2019-02-09  0:40                         ` Brendan Higgins
2019-02-09  0:40                         ` brendanhiggins
2019-02-09  0:40                         ` Brendan Higgins
2018-12-07  1:05               ` Luis Chamberlain
2018-12-07  1:05                 ` Luis Chamberlain
2018-12-07  1:05                 ` Luis Chamberlain
2018-12-07  1:05                 ` Luis Chamberlain
2018-12-07  1:05                 ` mcgrof
2018-12-07  1:05                 ` Luis Chamberlain
2018-12-07 18:35               ` Kent Overstreet
2018-12-07 18:35                 ` Kent Overstreet
2018-12-07 18:35                 ` Kent Overstreet
2018-12-07 18:35                 ` kent.overstreet
2018-11-30  3:44     ` Luis Chamberlain
2018-11-30  3:44       ` Luis Chamberlain
2018-11-30  3:44       ` Luis Chamberlain
2018-11-30  3:44       ` Luis Chamberlain
2018-11-30  3:44       ` mcgrof
2018-11-30  3:44       ` Luis Chamberlain
2018-12-03 23:50       ` Brendan Higgins
2018-12-03 23:50         ` Brendan Higgins
2018-12-03 23:50         ` Brendan Higgins
2018-12-03 23:50         ` brendanhiggins
2018-12-04 20:48         ` Luis Chamberlain
2018-12-04 20:48           ` Luis Chamberlain
2018-12-04 20:48           ` Luis Chamberlain
2018-12-04 20:48           ` Luis Chamberlain
2018-12-04 20:48           ` mcgrof
2018-12-04 20:48           ` Luis Chamberlain
2018-11-28 19:36   ` [RFC v3 12/19] kunit: add KUnit wrapper script and simple output parser Brendan Higgins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 19:36     ` brendanhiggins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 19:36   ` [RFC v3 13/19] kunit: improve output from python wrapper Brendan Higgins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 19:36     ` brendanhiggins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 19:36   ` [RFC v3 14/19] Documentation: kunit: add documentation for KUnit Brendan Higgins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 19:36     ` brendanhiggins
2018-11-28 19:36     ` Brendan Higgins
2018-11-29 13:56     ` Kieran Bingham
2018-11-29 13:56       ` Kieran Bingham
2018-11-29 13:56       ` Kieran Bingham
2018-11-29 13:56       ` Kieran Bingham
2018-11-29 13:56       ` kieran.bingham
2018-11-29 13:56       ` Kieran Bingham
2018-11-30  3:45       ` Luis Chamberlain
2018-11-30  3:45         ` Luis Chamberlain
2018-11-30  3:45         ` Luis Chamberlain
2018-11-30  3:45         ` Luis Chamberlain
2018-11-30  3:45         ` mcgrof
2018-11-30  3:45         ` Luis Chamberlain
     [not found]         ` <20181130034525.GP18410-dAjH6bxAqesAS62YNPtMr3dQhYtBYE6JAL8bYrjMMd8@public.gmane.org>
2018-12-03 23:53           ` Brendan Higgins
2018-12-03 23:53             ` Brendan Higgins
2018-12-03 23:53             ` Brendan Higgins
2018-12-03 23:53             ` brendanhiggins
2018-12-03 23:53             ` Brendan Higgins
2018-12-06 12:16             ` Kieran Bingham
2018-12-06 12:16               ` Kieran Bingham
2018-12-06 12:16               ` Kieran Bingham
2018-12-06 12:16               ` kieran.bingham
2018-12-06 12:16               ` Kieran Bingham
2019-02-09  0:56               ` Brendan Higgins
2019-02-09  0:56                 ` Brendan Higgins
2019-02-09  0:56                 ` Brendan Higgins
2019-02-09  0:56                 ` Brendan Higgins
2019-02-09  0:56                 ` brendanhiggins
2019-02-09  0:56                 ` Brendan Higgins
2019-02-11 12:16                 ` Kieran Bingham
2019-02-11 12:16                   ` Kieran Bingham
2019-02-11 12:16                   ` Kieran Bingham
2019-02-11 12:16                   ` kieran.bingham
2019-02-11 12:16                   ` Kieran Bingham
2019-02-12 22:10                   ` Brendan Higgins
2019-02-12 22:10                     ` Brendan Higgins
2019-02-12 22:10                     ` Brendan Higgins
2019-02-12 22:10                     ` Brendan Higgins
2019-02-12 22:10                     ` brendanhiggins
2019-02-12 22:10                     ` Brendan Higgins
2019-02-13 21:55                     ` Kieran Bingham
2019-02-13 21:55                       ` Kieran Bingham
2019-02-13 21:55                       ` Kieran Bingham
2019-02-13 21:55                       ` kieran.bingham
2019-02-13 21:55                       ` Kieran Bingham
2019-02-14  0:17                       ` Brendan Higgins
2019-02-14  0:17                         ` Brendan Higgins
2019-02-14  0:17                         ` Brendan Higgins
2019-02-14  0:17                         ` Brendan Higgins
2019-02-14  0:17                         ` brendanhiggins
2019-02-14  0:17                         ` Brendan Higgins
2019-02-14 17:26                         ` Luis Chamberlain
2019-02-14 17:26                           ` Luis Chamberlain
2019-02-14 17:26                           ` Luis Chamberlain via dri-devel
2019-02-14 17:26                           ` Luis Chamberlain
2019-02-14 17:26                           ` mcgrof
2019-02-14 17:26                           ` Luis Chamberlain
2019-02-14 22:07                           ` Brendan Higgins
2019-02-14 22:07                             ` Brendan Higgins
2019-02-14 22:07                             ` Brendan Higgins
2019-02-14 22:07                             ` Brendan Higgins
2019-02-14 22:07                             ` brendanhiggins
2019-02-14 22:07                             ` Brendan Higgins
2018-11-28 19:36   ` [RFC v3 15/19] MAINTAINERS: add entry for KUnit the unit testing framework Brendan Higgins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 19:36     ` brendanhiggins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 19:36   ` [RFC v3 17/19] of: unittest: migrate tests to run on KUnit Brendan Higgins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 19:36     ` brendanhiggins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 20:56     ` Rob Herring
2018-11-28 20:56       ` Rob Herring
2018-11-28 20:56       ` Rob Herring
2018-11-28 20:56       ` Rob Herring
2018-11-30  0:39       ` Randy Dunlap
2018-11-30  0:39         ` Randy Dunlap
2018-11-30  0:39         ` Randy Dunlap
2018-11-30  0:39         ` Randy Dunlap
2018-11-30  0:39         ` rdunlap
     [not found]         ` <18814973-8f0a-4647-a097-fcc3dc0b3cd3-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2018-12-04  0:13           ` Brendan Higgins
2018-12-04  0:13             ` Brendan Higgins
2018-12-04  0:13             ` Brendan Higgins
2018-12-04  0:13             ` brendanhiggins
2018-12-04  0:13             ` Brendan Higgins
2018-12-04 13:40             ` Rob Herring
2018-12-04 13:40               ` Rob Herring
2018-12-04 13:40               ` Rob Herring
2018-12-04 13:40               ` Rob Herring
2018-12-04 13:40               ` robh
2018-12-04 13:40               ` Rob Herring
     [not found]               ` <CAL_JsqL_PivQbrJFEusdKAy-2EQtKL3OHbmyYSK9bzuTOQegqA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-12-05 23:42                 ` Brendan Higgins
2018-12-05 23:42                   ` Brendan Higgins
2018-12-05 23:42                   ` Brendan Higgins
2018-12-05 23:42                   ` brendanhiggins
2018-12-05 23:42                   ` Brendan Higgins
2018-12-07  0:41                   ` Rob Herring
2018-12-07  0:41                     ` Rob Herring
2018-12-07  0:41                     ` Rob Herring
2018-12-07  0:41                     ` Rob Herring
2018-12-07  0:41                     ` robh
2018-12-07  0:41                     ` Rob Herring
2018-12-04  0:08       ` Brendan Higgins
2018-12-04  0:08         ` Brendan Higgins
2018-12-04  0:08         ` Brendan Higgins
2018-12-04  0:08         ` brendanhiggins
2019-02-13  1:44       ` Brendan Higgins
2019-02-13  1:44         ` Brendan Higgins
2019-02-13  1:44         ` Brendan Higgins
2019-02-13  1:44         ` Brendan Higgins
2019-02-13  1:44         ` brendanhiggins
2019-02-13  1:44         ` Brendan Higgins
2019-02-14 20:10         ` Rob Herring
2019-02-14 20:10           ` Rob Herring
2019-02-14 20:10           ` Rob Herring
2019-02-14 20:10           ` Rob Herring
2019-02-14 20:10           ` robh
2019-02-14 20:10           ` Rob Herring
2019-02-14 21:52           ` Brendan Higgins
2019-02-14 21:52             ` Brendan Higgins
2019-02-14 21:52             ` Brendan Higgins
2019-02-14 21:52             ` Brendan Higgins
2019-02-14 21:52             ` brendanhiggins
2019-02-14 21:52             ` Brendan Higgins
2019-02-18 22:56         ` Frank Rowand
2019-02-18 22:56           ` Frank Rowand
2019-02-18 22:56           ` Frank Rowand
2019-02-18 22:56           ` Frank Rowand
2019-02-18 22:56           ` frowand.list
2019-02-18 22:56           ` Frank Rowand
2019-02-28  0:29           ` Brendan Higgins
2019-02-28  0:29             ` Brendan Higgins
2019-02-28  0:29             ` Brendan Higgins
2019-02-28  0:29             ` Brendan Higgins
2019-02-28  0:29             ` brendanhiggins
2019-02-28  0:29             ` Brendan Higgins
2018-12-04 10:56     ` Frank Rowand
2018-12-04 10:56       ` Frank Rowand
2018-12-04 10:56       ` Frank Rowand
2018-12-04 10:56       ` Frank Rowand
2018-12-04 10:56       ` frowand.list
2018-12-04 10:56       ` Frank Rowand
2018-11-28 19:36   ` [RFC v3 18/19] of: unittest: split out a couple of test cases from unittest Brendan Higgins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 19:36     ` brendanhiggins
2018-11-28 19:36     ` Brendan Higgins
2018-12-04 10:58     ` Frank Rowand
2018-12-04 10:58       ` Frank Rowand
2018-12-04 10:58       ` Frank Rowand
2018-12-04 10:58       ` Frank Rowand
2018-12-04 10:58       ` frowand.list
2018-12-04 10:58       ` Frank Rowand
2018-12-05 23:54       ` Brendan Higgins
2018-12-05 23:54         ` Brendan Higgins
2018-12-05 23:54         ` Brendan Higgins
2018-12-05 23:54         ` brendanhiggins
2019-02-14 23:57         ` Frank Rowand
2019-02-14 23:57           ` Frank Rowand
2019-02-14 23:57           ` Frank Rowand
2019-02-14 23:57           ` frowand.list
2019-02-14 23:57           ` Frank Rowand
2019-02-15  0:56           ` Brendan Higgins
2019-02-15  0:56             ` Brendan Higgins
2019-02-15  0:56             ` Brendan Higgins
2019-02-15  0:56             ` Brendan Higgins
2019-02-15  0:56             ` brendanhiggins
2019-02-15  0:56             ` Brendan Higgins
2019-02-15  2:05             ` Frank Rowand
2019-02-15  2:05               ` Frank Rowand
2019-02-15  2:05               ` Frank Rowand
2019-02-15  2:05               ` Frank Rowand
2019-02-15  2:05               ` frowand.list
2019-02-15  2:05               ` Frank Rowand
2019-02-15 10:56               ` Brendan Higgins
2019-02-15 10:56                 ` Brendan Higgins
2019-02-15 10:56                 ` Brendan Higgins
2019-02-15 10:56                 ` Brendan Higgins
2019-02-15 10:56                 ` brendanhiggins
2019-02-15 10:56                 ` Brendan Higgins
2019-02-18 22:25                 ` Frank Rowand
2019-02-18 22:25                   ` Frank Rowand
2019-02-18 22:25                   ` Frank Rowand
2019-02-18 22:25                   ` Frank Rowand
2019-02-18 22:25                   ` frowand.list
2019-02-18 22:25                   ` Frank Rowand
2019-02-20 20:44                   ` Frank Rowand
2019-02-20 20:44                     ` Frank Rowand
2019-02-20 20:44                     ` Frank Rowand
2019-02-20 20:44                     ` Frank Rowand
2019-02-20 20:44                     ` frowand.list
2019-02-20 20:44                     ` Frank Rowand
2019-02-20 20:47                     ` Frank Rowand
2019-02-20 20:47                       ` Frank Rowand
2019-02-20 20:47                       ` Frank Rowand
2019-02-20 20:47                       ` Frank Rowand
2019-02-20 20:47                       ` frowand.list
2019-02-20 20:47                       ` Frank Rowand
2019-02-28  3:52                     ` Brendan Higgins
2019-02-28  3:52                       ` Brendan Higgins
2019-02-28  3:52                       ` Brendan Higgins
2019-02-28  3:52                       ` Brendan Higgins
2019-02-28  3:52                       ` brendanhiggins
2019-02-28  3:52                       ` Brendan Higgins
2019-03-22  0:22                       ` Frank Rowand
2019-03-22  0:22                         ` Frank Rowand
2019-03-22  0:22                         ` Frank Rowand
2019-03-22  0:22                         ` Frank Rowand
2019-03-22  0:22                         ` frowand.list
2019-03-22  0:22                         ` Frank Rowand
2019-03-22  1:30                         ` Brendan Higgins
2019-03-22  1:30                           ` Brendan Higgins
2019-03-22  1:30                           ` Brendan Higgins
2019-03-22  1:30                           ` brendanhiggins
2019-03-22  1:30                           ` Brendan Higgins
2019-03-22  1:47                           ` Frank Rowand
2019-03-22  1:47                             ` Frank Rowand
2019-03-22  1:47                             ` Frank Rowand
2019-03-22  1:47                             ` Frank Rowand
2019-03-22  1:47                             ` frowand.list
2019-03-22  1:47                             ` Frank Rowand
2019-03-25 22:15                             ` Brendan Higgins
2019-03-25 22:15                               ` Brendan Higgins
2019-03-25 22:15                               ` Brendan Higgins
2019-03-25 22:15                               ` Brendan Higgins
2019-03-25 22:15                               ` brendanhiggins
2019-03-25 22:15                               ` Brendan Higgins
2019-09-20 16:57                           ` Rob Herring
2019-09-20 16:57                             ` Rob Herring
2019-09-20 16:57                             ` Rob Herring
2019-09-20 16:57                             ` Rob Herring
2019-09-21 23:57                             ` Frank Rowand
2019-09-21 23:57                               ` Frank Rowand
2019-09-21 23:57                               ` Frank Rowand
2019-09-21 23:57                               ` Frank Rowand
2019-03-22  1:34                         ` Frank Rowand
2019-03-22  1:34                           ` Frank Rowand
2019-03-22  1:34                           ` Frank Rowand
2019-03-22  1:34                           ` Frank Rowand
2019-03-22  1:34                           ` frowand.list
2019-03-22  1:34                           ` Frank Rowand
2019-03-25 22:18                           ` Brendan Higgins
2019-03-25 22:18                             ` Brendan Higgins
2019-03-25 22:18                             ` Brendan Higgins
2019-03-25 22:18                             ` Brendan Higgins
2019-03-25 22:18                             ` brendanhiggins
2019-03-25 22:18                             ` Brendan Higgins
2018-11-28 19:36   ` [RFC v3 19/19] of: unittest: split up some super large test cases Brendan Higgins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 19:36     ` brendanhiggins
2018-11-28 19:36     ` Brendan Higgins
2018-11-28 19:36 ` [RFC v3 16/19] arch: um: make UML unflatten device tree when testing Brendan Higgins
2018-11-28 19:36   ` Brendan Higgins
2018-11-28 19:36   ` Brendan Higgins
2018-11-28 19:36   ` brendanhiggins
2018-11-28 21:16   ` Rob Herring
2018-11-28 21:16     ` Rob Herring
2018-11-28 21:16     ` Rob Herring
2018-11-28 21:16     ` robh
2018-11-28 21:16     ` Rob Herring
     [not found]     ` <CAL_JsqK5cG=QzMBFSZ31_-3ujnxqxv=jj3XYajbRLT7yWYZbfw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-12-04  0:00       ` Brendan Higgins
2018-12-04  0:00         ` Brendan Higgins
2018-12-04  0:00         ` Brendan Higgins
2018-12-04  0:00         ` brendanhiggins
2018-12-04  0:00         ` Brendan Higgins
2018-11-30  3:46   ` Luis Chamberlain
2018-11-30  3:46     ` Luis Chamberlain
2018-11-30  3:46     ` Luis Chamberlain
2018-11-30  3:46     ` mcgrof
2018-11-30  3:46     ` Luis Chamberlain
2018-12-04  0:02     ` Brendan Higgins
2018-12-04  0:02       ` Brendan Higgins
2018-12-04  0:02       ` Brendan Higgins
2018-12-04  0:02       ` brendanhiggins
2018-12-04 10:52 ` [RFC v3 00/19] kunit: introduce KUnit, the Linux kernel unit testing framework Frank Rowand
2018-12-04 10:52   ` Frank Rowand
2018-12-04 10:52   ` Frank Rowand
2018-12-04 10:52   ` frowand.list
2018-12-04 10:52   ` Frank Rowand
2018-12-04 11:40 ` Frank Rowand
2018-12-04 11:40   ` Frank Rowand
2018-12-04 11:40   ` Frank Rowand
2018-12-04 11:40   ` frowand.list
2018-12-04 13:49   ` Rob Herring
2018-12-04 13:49     ` Rob Herring
2018-12-04 13:49     ` Rob Herring
2018-12-04 13:49     ` Rob Herring
2018-12-04 13:49     ` robh
2018-12-04 13:49     ` Rob Herring
2018-12-05 23:10     ` Brendan Higgins
2018-12-05 23:10       ` Brendan Higgins
2018-12-05 23:10       ` Brendan Higgins
2018-12-05 23:10       ` brendanhiggins
2018-12-05 23:10       ` Brendan Higgins
2019-03-22  0:27       ` Frank Rowand
2019-03-22  0:27         ` Frank Rowand
2019-03-22  0:27         ` Frank Rowand
2019-03-22  0:27         ` frowand.list
2019-03-22  0:27         ` Frank Rowand
2019-03-25 22:04         ` Brendan Higgins
2019-03-25 22:04           ` Brendan Higgins
2019-03-25 22:04           ` Brendan Higgins
2019-03-25 22:04           ` Brendan Higgins
2019-03-25 22:04           ` brendanhiggins
2019-03-25 22:04           ` 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=20181128193636.254378-8-brendanhiggins@google.com \
    --to=brendanhiggins-hpiqsd4aklfqt0dzr+alfa@public.gmane.org \
    --cc=Tim.Bird-7U/KSKJipcs@public.gmane.org \
    --cc=brakmo-b10kYP2dOMg@public.gmane.org \
    --cc=daniel-/w4YWyX8dFk@public.gmane.org \
    --cc=dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    --cc=frowand.list-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org \
    --cc=jdike-OPE4K8JWMJJBDgjK7y7TUQ@public.gmane.org \
    --cc=joe-6d6DIl74uiNBDgjK7y7TUQ@public.gmane.org \
    --cc=joel-U3u1mxZcP9KHXe+LvDLADg@public.gmane.org \
    --cc=julia.lawall-L2FTfq7BK8M@public.gmane.org \
    --cc=keescook-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
    --cc=khilman-rdvid1DuHRBWk0Htik3J/w@public.gmane.org \
    --cc=kieran.bingham-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org \
    --cc=knut.omang-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org \
    --cc=kunit-dev-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kselftest-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-nvdimm-hn68Rpc1hR1g9hUCZPvPmw@public.gmane.org \
    --cc=linux-um-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=mcgrof-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=mpe-Gsx/Oe8HsFggBc27wqDAHg@public.gmane.org \
    --cc=richard-/L3Ra7n9ekc@public.gmane.org \
    --cc=robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=rostedt-nx8X9YLhiw1AfugRpC6u6w@public.gmane.org \
    --cc=shuah-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.