From mboxrd@z Thu Jan 1 00:00:00 1970 From: shuah Subject: Re: [PATCH v14 01/18] kunit: test: add KUnit test runner core Date: Fri, 23 Aug 2019 11:34:30 -0600 Message-ID: <42c6235c-c586-8de1-1913-7cf1962c6066@kernel.org> References: <20190820232046.50175-1-brendanhiggins@google.com> <20190820232046.50175-2-brendanhiggins@google.com> <7f2c8908-75f6-b793-7113-ad57c51777ce@kernel.org> <4513d9f3-a69b-a9a4-768b-86c2962b62e0@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org To: Brendan Higgins Cc: Frank Rowand , Greg KH , Josh Poimboeuf , Kees Cook , Kieran Bingham , Luis Chamberlain , Peter Zijlstra , Rob Herring , Stephen Boyd , Theodore Ts'o , Masahiro Yamada , devicetree , dri-devel , kunit-dev@googlegroups.com, "open list:DOCUMENTATION" , linux-fsdevel@vger.kernel.org, linux-kbuild , Linux Kernel Mailing List , open list:KERNEL SELFTEST FRAMEWORK List-Id: devicetree@vger.kernel.org On 8/23/19 11:27 AM, Brendan Higgins wrote: > On Fri, Aug 23, 2019 at 10:05 AM shuah wrote: >> >> On 8/23/19 10:48 AM, Brendan Higgins wrote: >>> On Fri, Aug 23, 2019 at 8:33 AM shuah 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 >>>>> Reviewed-by: Greg Kroah-Hartman >>>>> Reviewed-by: Logan Gunthorpe >>>>> Reviewed-by: Luis Chamberlain >>>>> Reviewed-by: Stephen Boyd >>>>> --- >>>>> 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 >>>>> + */ >>>>> + >>>>> +#ifndef _KUNIT_TEST_H >>>>> +#define _KUNIT_TEST_H >>>>> + >>>>> +#include >>>>> + >>>>> +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 > > Ah, okay so you don't like the warning about the line continuation. > That's not because it is over 80 char, but because there is a line > continuation after a comment. I don't really see a way to get rid of > it without removing the comment from inside the macro. > > I put this TODO there in the first place a Luis' request, and I put it > in the body of the macro because this macro already had a kernel-doc > comment and I didn't think that an implementation detail TODO belonged > in the user documentation. > >> 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. > > Sorry, the above is the only checkpatch warning other than the > reminder to update the MAINTAINERS file. > > Are you saying you want me to go through and make all the lines fit in > 75 char column width? I hope not because that is going to be a pretty > substantial change to make. > There are two things with these comment lines. One is checkpatch complaining and the other is general readability. Please go ahead and adjust them. thanks, -- Shuah