From: Petr Machata <petrm@nvidia.com>
To: Shuah Khan <shuah@kernel.org>, <linux-kselftest@vger.kernel.org>,
<netdev@vger.kernel.org>
Cc: Jakub Kicinski <kuba@kernel.org>,
Ido Schimmel <idosch@nvidia.com>,
"Petr Machata" <petrm@nvidia.com>,
Amit Cohen <amcohen@nvidia.com>,
Benjamin Poirier <bpoirier@nvidia.com>,
Hangbin Liu <liuhangbin@gmail.com>,
Vladimir Oltean <vladimir.oltean@nxp.com>, <mlxsw@nvidia.com>
Subject: [RFC PATCH net-next 0/5] selftests: forwarding: Introduce deferred commands
Date: Thu, 22 Aug 2024 15:49:39 +0200 [thread overview]
Message-ID: <cover.1724324945.git.petrm@nvidia.com> (raw)
Recently, a defer helper was added to Python selftests. The idea is to keep
cleanup commands close to their dirtying counterparts, thereby making it
more transparent what is cleaning up what, making it harder to miss a
cleanup, and make the whole cleanup business exception safe. All these
benefits are applicable to bash as well, exception safety can be
interpreted in terms of safety vs. a SIGINT.
This patchset therefore introduces a framework of several helpers that
serve to schedule cleanups in bash selftests.
As a personal remark. More than once was I bit by stop_traffic not getting
invoked because I C-c'd a traffic scheduler selftest at the wrong time.
This would leave behind a running mausezahn that would break follow-up runs
of the script that I was just debugging, making me question my sanity.
("How did this one extra debug print break the full script? And when I
remove it again, _why is it still broken_?") This is an attempt at
squashing this whole class of problems.
Patch #1 has more details about the primitives being introduced.
Patches #2 to #5 the convert several selftests to give an idea of how it
looks in practice.
Petr Machata (5):
selftests: forwarding: Introduce deferred commands
selftests: mlxsw: sch_red_core: Use defer for test cleanup
selftests: mlxsw: sch_red_core: Use defer for stopping traffic
selftests: mlxsw: sch_red_*: Use defer for qdisc management
selftests: sch_tbf_core: Use defer for stopping traffic
.../drivers/net/mlxsw/sch_red_core.sh | 131 +++++++-----------
.../drivers/net/mlxsw/sch_red_ets.sh | 32 ++---
.../drivers/net/mlxsw/sch_red_root.sh | 24 +++-
tools/testing/selftests/net/forwarding/lib.sh | 83 +++++++++++
.../selftests/net/forwarding/sch_tbf_core.sh | 3 +-
5 files changed, 170 insertions(+), 103 deletions(-)
--
2.45.0
next reply other threads:[~2024-08-22 13:52 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-22 13:49 Petr Machata [this message]
2024-08-22 13:49 ` [RFC PATCH net-next 1/5] selftests: forwarding: Introduce deferred commands Petr Machata
2024-08-26 10:35 ` Ido Schimmel
2024-08-26 14:25 ` Petr Machata
2024-08-26 20:03 ` Jakub Kicinski
2024-08-26 20:04 ` Jakub Kicinski
2024-08-26 13:09 ` Przemek Kitszel
2024-08-26 15:20 ` Petr Machata
2024-08-27 6:21 ` Przemek Kitszel
2024-08-27 8:53 ` Petr Machata
2024-08-27 14:17 ` Jakub Kicinski
2024-08-27 15:37 ` Petr Machata
2024-08-22 13:49 ` [RFC PATCH net-next 2/5] selftests: mlxsw: sch_red_core: Use defer for test cleanup Petr Machata
2024-08-26 11:37 ` Ido Schimmel
2024-08-22 13:49 ` [RFC PATCH net-next 3/5] selftests: mlxsw: sch_red_core: Use defer for stopping traffic Petr Machata
2024-08-26 12:01 ` Ido Schimmel
2024-08-22 13:49 ` [RFC PATCH net-next 4/5] selftests: mlxsw: sch_red_*: Use defer for qdisc management Petr Machata
2024-08-26 12:03 ` Ido Schimmel
2024-08-22 13:49 ` [RFC PATCH net-next 5/5] selftests: sch_tbf_core: Use defer for stopping traffic Petr Machata
2024-08-26 12:07 ` Ido Schimmel
2024-08-26 14:31 ` Petr Machata
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=cover.1724324945.git.petrm@nvidia.com \
--to=petrm@nvidia.com \
--cc=amcohen@nvidia.com \
--cc=bpoirier@nvidia.com \
--cc=idosch@nvidia.com \
--cc=kuba@kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=liuhangbin@gmail.com \
--cc=mlxsw@nvidia.com \
--cc=netdev@vger.kernel.org \
--cc=shuah@kernel.org \
--cc=vladimir.oltean@nxp.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).