[PATCH v14 01/18] kunit: test: add KUnit test runner core
shuah at kernel.org
Fri Aug 23 17:05:35 UTC 2019
On 8/23/19 10:48 AM, Brendan Higgins wrote:
> On Fri, Aug 23, 2019 at 8:33 AM shuah <shuah at kernel.org> wrote:
>> Hi Brendan,
>> On 8/20/19 5:20 PM, Brendan Higgins wrote:
>>> Add core facilities for defining unit tests; this provides a common way
>>> to define test cases, functions that execute code which is under test
>>> and determine whether the code under test behaves as expected; this also
>>> provides a way to group together related test cases in test suites (here
>>> we call them test_modules).
>>> Just define test cases and how to execute them for now; setting
>>> expectations on code will be defined later.
>>> Signed-off-by: Brendan Higgins <brendanhiggins at google.com>
>>> Reviewed-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
>>> Reviewed-by: Logan Gunthorpe <logang at deltatee.com>
>>> Reviewed-by: Luis Chamberlain <mcgrof at kernel.org>
>>> Reviewed-by: Stephen Boyd <sboyd at kernel.org>
>>> include/kunit/test.h | 179 ++++++++++++++++++++++++++++++++++++++++
>>> kunit/Kconfig | 17 ++++
>>> kunit/Makefile | 1 +
>>> kunit/test.c | 191 +++++++++++++++++++++++++++++++++++++++++++
>>> 4 files changed, 388 insertions(+)
>>> create mode 100644 include/kunit/test.h
>>> create mode 100644 kunit/Kconfig
>>> create mode 100644 kunit/Makefile
>>> create mode 100644 kunit/test.c
>>> diff --git a/include/kunit/test.h b/include/kunit/test.h
>>> new file mode 100644
>>> index 0000000000000..e0b34acb9ee4e
>>> --- /dev/null
>>> +++ b/include/kunit/test.h
>>> @@ -0,0 +1,179 @@
>>> +/* SPDX-License-Identifier: GPL-2.0 */
>>> + * Base unit test (KUnit) API.
>>> + *
>>> + * Copyright (C) 2019, Google LLC.
>>> + * Author: Brendan Higgins <brendanhiggins at google.com>
>>> + */
>>> +#ifndef _KUNIT_TEST_H
>>> +#define _KUNIT_TEST_H
>>> +#include <linux/types.h>
>>> +struct kunit;
>>> + * struct kunit_case - represents an individual test case.
>>> + * @run_case: the function representing the actual test case.
>>> + * @name: the name of the test case.
>>> + *
>>> + * A test case is a function with the signature, ``void (*)(struct kunit *)``
>>> + * that makes expectations (see KUNIT_EXPECT_TRUE()) about code under test. Each
>>> + * test case is associated with a &struct kunit_suite and will be run after the
>>> + * suite's init function and followed by the suite's exit function.
>>> + *
>>> + * A test case should be static and should only be created with the KUNIT_CASE()
>>> + * macro; additionally, every array of test cases should be terminated with an
>>> + * empty test case.
>>> + *
>>> + * Example:
>> Can you fix these line continuations. It makes it very hard to read.
>> Sorry for this late comment. These comments lines are longer than 80
>> and wrap.
> None of the lines in this commit are over 80 characters in column
> width. Some are exactly 80 characters (like above).
> My guess is that you are seeing the diff added text (+ ), which when
> you add that to a line which is exactly 80 char in length ends up
> being over 80 char in email. If you apply the patch you will see that
> they are only 80 chars.
>> There are several comment lines in the file that are way too long.
> Note that checkpatch also does not complain about any over 80 char
> lines in this file.
> Sorry if I am misunderstanding what you are trying to tell me. Please
> confirm either way.
WARNING: Avoid unnecessary line continuations
#258: FILE: include/kunit/test.h:137:
+ */ \
total: 0 errors, 2 warnings, 388 lines checked
Go ahead fix these. It appears there are few lines that either longer
than 80. In general, I keep them around 75, so it is easier read.
More information about the dri-devel