Linux Kernel Selftest development
 help / color / mirror / Atom feed
From: sboyd at kernel.org (Stephen Boyd)
Subject: [PATCH v4 02/18] kunit: test: add test resource management API
Date: Thu, 16 May 2019 17:38:46 -0700	[thread overview]
Message-ID: <20190517003847.0962F2082E@mail.kernel.org> (raw)
In-Reply-To: <20190514221711.248228-3-brendanhiggins@google.com>

Quoting Brendan Higgins (2019-05-14 15:16:55)
> diff --git a/kunit/test.c b/kunit/test.c
> index 86f65ba2bcf92..a15e6f8c41582 100644
> --- a/kunit/test.c
> +++ b/kunit/test.c
[..]
> +
> +void *kunit_kmalloc(struct kunit *test, size_t size, gfp_t gfp)
> +{
> +       struct kunit_kmalloc_params params;
> +       struct kunit_resource *res;
> +
> +       params.size = size;
> +       params.gfp = gfp;
> +
> +       res = kunit_alloc_resource(test,
> +                                  kunit_kmalloc_init,
> +                                  kunit_kmalloc_free,
> +                                  &params);
> +
> +       if (res)
> +               return res->allocation;
> +       else
> +               return NULL;

Can be written as

	if (res)
		return ....
	return 

and some static analysis tools prefer this.

> +}
> +
> +void kunit_cleanup(struct kunit *test)
> +{
> +       struct kunit_resource *resource, *resource_safe;
> +       unsigned long flags;
> +
> +       spin_lock_irqsave(&test->lock, flags);

Ah ok, test->lock is protecting everything now? Does it need to be a
spinlock, or can it be a mutex?

> +       list_for_each_entry_safe(resource,
> +                                resource_safe,
> +                                &test->resources,
> +                                node) {
> +               kunit_free_resource(test, resource);
> +       }
> +       spin_unlock_irqrestore(&test->lock, flags);
> +}
> +

WARNING: multiple messages have this Message-ID (diff)
From: sboyd@kernel.org (Stephen Boyd)
Subject: [PATCH v4 02/18] kunit: test: add test resource management API
Date: Thu, 16 May 2019 17:38:46 -0700	[thread overview]
Message-ID: <20190517003847.0962F2082E@mail.kernel.org> (raw)
Message-ID: <20190517003846.FBrCkLQKhvQvensYKBSuEzh3ihWrq9IWSpqE8Nun0IY@z> (raw)
In-Reply-To: <20190514221711.248228-3-brendanhiggins@google.com>

Quoting Brendan Higgins (2019-05-14 15:16:55)
> diff --git a/kunit/test.c b/kunit/test.c
> index 86f65ba2bcf92..a15e6f8c41582 100644
> --- a/kunit/test.c
> +++ b/kunit/test.c
[..]
> +
> +void *kunit_kmalloc(struct kunit *test, size_t size, gfp_t gfp)
> +{
> +       struct kunit_kmalloc_params params;
> +       struct kunit_resource *res;
> +
> +       params.size = size;
> +       params.gfp = gfp;
> +
> +       res = kunit_alloc_resource(test,
> +                                  kunit_kmalloc_init,
> +                                  kunit_kmalloc_free,
> +                                  &params);
> +
> +       if (res)
> +               return res->allocation;
> +       else
> +               return NULL;

Can be written as

	if (res)
		return ....
	return 

and some static analysis tools prefer this.

> +}
> +
> +void kunit_cleanup(struct kunit *test)
> +{
> +       struct kunit_resource *resource, *resource_safe;
> +       unsigned long flags;
> +
> +       spin_lock_irqsave(&test->lock, flags);

Ah ok, test->lock is protecting everything now? Does it need to be a
spinlock, or can it be a mutex?

> +       list_for_each_entry_safe(resource,
> +                                resource_safe,
> +                                &test->resources,
> +                                node) {
> +               kunit_free_resource(test, resource);
> +       }
> +       spin_unlock_irqrestore(&test->lock, flags);
> +}
> +

  parent reply	other threads:[~2019-05-17  0:38 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
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 [this message]
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=20190517003847.0962F2082E@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