summaryrefslogtreecommitdiff
path: root/lib/kunit/executor_test.c
diff options
context:
space:
mode:
authorDavid Gow <davidgow@google.com>2023-05-25 07:21:28 +0300
committerShuah Khan <skhan@linuxfoundation.org>2023-05-25 17:52:55 +0300
commitb9dce8a1ed3efe0f5c0957f4605140f204226a0f (patch)
tree47eedb19e190c2a121b3489365b63f8c63444eaf /lib/kunit/executor_test.c
parenta5ce66ad292b681ffe245e1c0e8840484da76784 (diff)
downloadlinux-b9dce8a1ed3efe0f5c0957f4605140f204226a0f.tar.xz
kunit: Add kunit_add_action() to defer a call until test exit
Many uses of the KUnit resource system are intended to simply defer calling a function until the test exits (be it due to success or failure). The existing kunit_alloc_resource() function is often used for this, but was awkward to use (requiring passing NULL init functions, etc), and returned a resource without incrementing its reference count, which -- while okay for this use-case -- could cause problems in others. Instead, introduce a simple kunit_add_action() API: a simple function (returning nothing, accepting a single void* argument) can be scheduled to be called when the test exits. Deferred actions are called in the opposite order to that which they were registered. This mimics the devres API, devm_add_action(), and also provides kunit_remove_action(), to cancel a deferred action, and kunit_release_action() to trigger one early. This is implemented as a resource under the hood, so the ordering between resource cleanup and deferred functions is maintained. Reviewed-by: Benjamin Berg <benjamin.berg@intel.com> Reviewed-by: Maxime Ripard <maxime@cerno.tech> Tested-by: Maxime Ripard <maxime@cerno.tech> Signed-off-by: David Gow <davidgow@google.com> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
Diffstat (limited to 'lib/kunit/executor_test.c')
0 files changed, 0 insertions, 0 deletions