From: Jakub Kicinski <kuba@kernel.org>
To: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Cc: <netdev@vger.kernel.org>, <edumazet@google.com>,
<pabeni@redhat.com>, <willemdebruijn.kernel@gmail.com>,
<leitao@debian.org>, <petrm@nvidia.com>, <davem@davemloft.net>
Subject: Re: [RFC net-next 1/2] selftests: drv-net: add ability to schedule cleanup with defer()
Date: Wed, 26 Jun 2024 09:49:32 -0700 [thread overview]
Message-ID: <20240626094932.1495471b@kernel.org> (raw)
In-Reply-To: <d7a8b57d-0dea-4160-8aa3-24e18cf2490e@intel.com>
On Wed, 26 Jun 2024 09:43:54 +0200 Przemek Kitszel wrote:
> > As a nice safety all exceptions from defer()ed calls are captured,
> > printed, and ignored (they do make the test fail, however).
> > This addresses the common problem of exceptions in cleanup paths
> > often being unhandled, leading to potential leaks.
>
> Nice! Please only make it so that cleanup-failure does not overwrite
> happy-test-path-failure (IOW "ret = ret ? ret : cleanup_ret")
That should be what we end up doing. The ret is a boolean (pass / fail)
so we have:
pass &= cleanup_pass
effectively.
> > + ksft_pr("Exception while handling defer / cleanup!")
>
> please print current queue size, if only for convenience of test
> developer to be able tell if they are moving forward in
> fix-rerun-observe cycle
Hm... not a bad point, defer() cycles are possible.
But then again, we don't guard against infinite loops
in tests either, and kselftest runner (the general one,
outside our Python) has a timeout, so it will kill the script.
> > + tb = traceback.format_exc()
> > + for line in tb.strip().split('\n'):
> > + ksft_pr("Defer Exception|", line)
> > + KSFT_RESULT = False
>
> I have no idea if this could be other error than just False, if so,
> don't overwrite
Yup, just True / False. The other types (skip, xfail) are a pass
(True) plus a comment, per KTAP spec.
next prev parent reply other threads:[~2024-06-26 16:49 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-26 1:36 [RFC net-next 0/2] selftests: drv-net: add ability to schedule cleanup with defer() Jakub Kicinski
2024-06-26 1:36 ` [RFC net-next 1/2] " Jakub Kicinski
2024-06-26 7:43 ` Przemek Kitszel
2024-06-26 9:19 ` Petr Machata
2024-06-26 9:38 ` Przemek Kitszel
2024-06-26 16:44 ` Jakub Kicinski
2024-06-26 16:49 ` Jakub Kicinski [this message]
2024-06-27 8:40 ` Przemek Kitszel
2024-06-27 15:35 ` Jakub Kicinski
2024-06-26 10:18 ` Petr Machata
2024-06-26 16:09 ` Jakub Kicinski
2024-06-27 7:37 ` Petr Machata
2024-06-27 15:41 ` Jakub Kicinski
2024-06-26 1:36 ` [RFC net-next 2/2] selftests: drv-net: rss_ctx: convert to defer() Jakub Kicinski
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=20240626094932.1495471b@kernel.org \
--to=kuba@kernel.org \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=leitao@debian.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=petrm@nvidia.com \
--cc=przemyslaw.kitszel@intel.com \
--cc=willemdebruijn.kernel@gmail.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.