Message ID | 20230421040218.2156548-2-davidgow@google.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 410f07492eaef600fe817eef9fd272f6692a451a |
Delegated to: | Brendan Higgins |
Headers | show |
Series | [v3,1/4] kunit: Always run cleanup from a test kthread | expand |
On Fri, Apr 21, 2023 at 9:32 AM David Gow <davidgow@google.com> wrote: > > As assertions abort the test cleanup process, they should be avoided > from within a suite's exit function, or from within resource 'free' > functions. Unlike with initialisation or main test execution, no further > cleanup will be performed after a failed assertion, potentially causing > a leak of resources. > > Signed-off-by: David Gow <davidgow@google.com> > --- Thank you, David. The note looks fine to me. Reviewed-by: Sadiya Kazi <sadiyakazi@google.com> Regards, Sadiya > > No changes since v2: > https://lore.kernel.org/linux-kselftest/20230419085426.1671703-2-davidgow@google.com/ > > This patch was introduced in v2. > > --- > Documentation/dev-tools/kunit/usage.rst | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/Documentation/dev-tools/kunit/usage.rst b/Documentation/dev-tools/kunit/usage.rst > index 9faf2b4153fc..9f720f1317d3 100644 > --- a/Documentation/dev-tools/kunit/usage.rst > +++ b/Documentation/dev-tools/kunit/usage.rst > @@ -121,6 +121,12 @@ there's an allocation error. > ``return`` so they only work from the test function. In KUnit, we stop the > current kthread on failure, so you can call them from anywhere. > > +.. note:: > + Warning: There is an exception to the above rule. You shouldn't use assertions > + in the suite's exit() function, or in the free function for a resource. These > + run when a test is shutting down, and an assertion here prevents further > + cleanup code from running, potentially leading to a memory leak. > + > Customizing error messages > -------------------------- > > -- > 2.40.0.634.g4ca3ef3211-goog >
diff --git a/Documentation/dev-tools/kunit/usage.rst b/Documentation/dev-tools/kunit/usage.rst index 9faf2b4153fc..9f720f1317d3 100644 --- a/Documentation/dev-tools/kunit/usage.rst +++ b/Documentation/dev-tools/kunit/usage.rst @@ -121,6 +121,12 @@ there's an allocation error. ``return`` so they only work from the test function. In KUnit, we stop the current kthread on failure, so you can call them from anywhere. +.. note:: + Warning: There is an exception to the above rule. You shouldn't use assertions + in the suite's exit() function, or in the free function for a resource. These + run when a test is shutting down, and an assertion here prevents further + cleanup code from running, potentially leading to a memory leak. + Customizing error messages --------------------------
As assertions abort the test cleanup process, they should be avoided from within a suite's exit function, or from within resource 'free' functions. Unlike with initialisation or main test execution, no further cleanup will be performed after a failed assertion, potentially causing a leak of resources. Signed-off-by: David Gow <davidgow@google.com> --- No changes since v2: https://lore.kernel.org/linux-kselftest/20230419085426.1671703-2-davidgow@google.com/ This patch was introduced in v2. --- Documentation/dev-tools/kunit/usage.rst | 6 ++++++ 1 file changed, 6 insertions(+)