From: Tyler Retzlaff <roretzla@linux.microsoft.com>
To: dev@dpdk.org
Cc: thomas@monjalon.net, david.marchand@redhat.com,
olivier.matz@6wind.com, stephen@networkplumber.org,
Tyler Retzlaff <roretzla@linux.microsoft.com>
Subject: [PATCH 3/5] test: add a unit test for set and get lcore name APIs
Date: Wed, 7 Dec 2022 11:00:15 -0800 [thread overview]
Message-ID: <1670439617-9054-4-git-send-email-roretzla@linux.microsoft.com> (raw)
In-Reply-To: <1670439617-9054-1-git-send-email-roretzla@linux.microsoft.com>
Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
---
app/test/test_lcores.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
diff --git a/app/test/test_lcores.c b/app/test/test_lcores.c
index a6bb412..153b6f4 100644
--- a/app/test/test_lcores.c
+++ b/app/test/test_lcores.c
@@ -379,6 +379,55 @@ static void *ctrl_thread_loop(void *arg)
}
static int
+test_lcores_set_get_name(void)
+{
+ char out[RTE_LCORE_NAME_MAX_LEN];
+ char outcmp[RTE_LCORE_NAME_MAX_LEN];
+ const unsigned int lcore_id = rte_get_main_lcore();
+ const size_t outlen = sizeof(out);
+ const char empty[] = "";
+ const char valid[] = "0123456789abcde";
+ const char invalid[] = "0123456789abcdef";
+
+ memset(outcmp, 0xff, outlen);
+
+ memset(out, 0xff, outlen);
+ RTE_TEST_ASSERT(rte_lcore_set_name(lcore_id, empty) == 0,
+ "Failed to set empty lcore name.");
+ RTE_TEST_ASSERT(rte_lcore_get_name(lcore_id, out, outlen) == 0,
+ "Failed to get empty lcore name.");
+ RTE_TEST_ASSERT(strcmp(empty, out) == 0,
+ "Failed to set and get empty lcore name.");
+
+ memset(out, 0xff, outlen);
+ RTE_TEST_ASSERT(rte_lcore_set_name(lcore_id, valid) == 0,
+ "Failed to set valid lcore name.");
+ RTE_TEST_ASSERT(rte_lcore_get_name(lcore_id, out, outlen) == 0,
+ "Failed to get valid lcore name.");
+ RTE_TEST_ASSERT(strcmp(valid, out) == 0,
+ "Failed to set and get valid lcore name.");
+
+ memset(out, 0xff, outlen);
+ RTE_TEST_ASSERT(rte_lcore_set_name(lcore_id, invalid) == -ERANGE,
+ "Failed to fail set with invalid lcore name.");
+ RTE_TEST_ASSERT(memcmp(outcmp, out, outlen) == 0,
+ "Failed to preserve caller buffer after set failure.");
+
+ RTE_TEST_ASSERT(rte_lcore_get_name(lcore_id, out, outlen) == 0,
+ "Failed to get valid lcore name after set failure.");
+ RTE_TEST_ASSERT(strcmp(valid, out) == 0,
+ "Failed to preserve valid lcore name after set failure.");
+
+ memset(out, 0xff, outlen);
+ RTE_TEST_ASSERT(rte_lcore_get_name(lcore_id, out, outlen - 1) == -EINVAL,
+ "Failed to fail get with output buffer too small.");
+ RTE_TEST_ASSERT(memcmp(outcmp, out, outlen) == 0,
+ "Failed to preserve caller buffer after get failure.");
+
+ return TEST_SUCCESS;
+}
+
+static int
test_lcores(void)
{
unsigned int eal_threads_count = 0;
@@ -411,6 +460,9 @@ static void *ctrl_thread_loop(void *arg)
if (test_ctrl_thread() < 0)
return TEST_FAILED;
+ if (test_lcores_set_get_name() < 0)
+ return TEST_FAILED;
+
return TEST_SUCCESS;
}
--
1.8.3.1
next prev parent reply other threads:[~2022-12-07 19:00 UTC|newest]
Thread overview: 91+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-07 19:00 [PATCH 0/5] add lcore set name and get name API Tyler Retzlaff
2022-12-07 19:00 ` [PATCH 1/5] eal: " Tyler Retzlaff
2022-12-07 21:03 ` Stephen Hemminger
2022-12-07 22:33 ` Tyler Retzlaff
2022-12-08 4:07 ` Stephen Hemminger
2022-12-08 17:11 ` Tyler Retzlaff
2022-12-07 19:00 ` [PATCH 2/5] eal: set lcore config thread for lcore main Tyler Retzlaff
2022-12-07 19:00 ` Tyler Retzlaff [this message]
2022-12-07 19:00 ` [PATCH 4/5] eal: remove thread getname API Tyler Retzlaff
2022-12-07 19:00 ` [PATCH 5/5] eal: deprecate rte thread setname API Tyler Retzlaff
2022-12-14 16:47 ` [PATCH v2 0/4] add rte_thread_set_name API for rte_thread_t Tyler Retzlaff
2022-12-14 16:47 ` [PATCH v2 1/4] eal: add thread set name API operating on rte thread Tyler Retzlaff
2023-01-11 16:09 ` David Marchand
2023-01-12 21:32 ` Tyler Retzlaff
2023-01-13 4:36 ` Jerin Jacob
2023-01-13 17:09 ` Tyler Retzlaff
2023-01-13 18:56 ` Tyler Retzlaff
2022-12-14 16:47 ` [PATCH v2 2/4] eal: remove thread getname API Tyler Retzlaff
2022-12-14 16:47 ` [PATCH v2 3/4] eal: deprecate rte thread setname API Tyler Retzlaff
2022-12-14 16:47 ` [PATCH v2 4/4] drivers: mlx5 use rte thread set name Tyler Retzlaff
2022-12-14 16:51 ` Morten Brørup
2023-01-10 20:53 ` [PATCH v2 0/4] add rte_thread_set_name API for rte_thread_t Tyler Retzlaff
2023-01-11 7:55 ` Morten Brørup
2023-01-12 21:55 ` [PATCH v3 " Tyler Retzlaff
2023-01-12 21:55 ` [PATCH v3 1/4] eal: add thread set name API operating on rte thread Tyler Retzlaff
2023-01-12 21:55 ` [PATCH v3 2/4] eal: remove thread getname API Tyler Retzlaff
2023-01-12 21:55 ` [PATCH v3 3/4] drivers: mlx5 use rte thread set name Tyler Retzlaff
2023-01-12 21:55 ` [PATCH v3 4/4] eal: deprecate rte thread setname API Tyler Retzlaff
2023-01-13 18:51 ` [PATCH v4 0/4] add rte_thread_set_name API for rte_thread_t Tyler Retzlaff
2023-01-13 18:52 ` [PATCH v4 1/4] eal: add thread set name API operating on rte thread Tyler Retzlaff
2023-01-13 18:52 ` [PATCH v4 2/4] eal: remove thread getname API Tyler Retzlaff
2023-01-17 7:49 ` Jerin Jacob
2023-01-17 18:22 ` Tyler Retzlaff
2023-01-13 18:52 ` [PATCH v4 3/4] drivers: mlx5 use rte thread set name Tyler Retzlaff
2023-01-13 18:52 ` [PATCH v4 4/4] eal: deprecate rte thread setname API Tyler Retzlaff
2023-01-17 18:21 ` [PATCH v5 0/4] add rte_thread_set_name API for rte_thread_t Tyler Retzlaff
2023-01-17 18:21 ` [PATCH v5 1/4] eal: add thread set name API operating on rte thread Tyler Retzlaff
2023-01-18 14:50 ` David Marchand
2023-01-17 18:21 ` [PATCH v5 2/4] eal: remove thread getname API Tyler Retzlaff
2023-01-18 6:28 ` Jerin Jacob
2023-01-18 14:51 ` David Marchand
2023-01-17 18:21 ` [PATCH v5 3/4] drivers: mlx5 use rte thread set name Tyler Retzlaff
2023-01-17 18:21 ` [PATCH v5 4/4] eal: deprecate rte thread setname API Tyler Retzlaff
2023-01-18 11:49 ` David Marchand
2023-01-18 19:54 ` [PATCH v6 0/5] add rte_thread_set_name API for rte_thread_t Tyler Retzlaff
2023-01-18 19:54 ` [PATCH v6 1/5] eal: add thread set name API operating on rte thread Tyler Retzlaff
2023-01-18 23:13 ` Stephen Hemminger
2023-01-18 23:44 ` Tyler Retzlaff
2023-01-18 19:54 ` [PATCH v6 2/5] eal: remove thread getname API Tyler Retzlaff
2023-01-18 19:54 ` [PATCH v6 3/5] eal: set thread name on Windows worker threads Tyler Retzlaff
2023-01-18 19:54 ` [PATCH v6 4/5] drivers: mlx5 use rte thread set name Tyler Retzlaff
2023-01-18 19:54 ` [PATCH v6 5/5] eal: deprecation notice for rte thread setname API Tyler Retzlaff
2023-01-22 13:55 ` [PATCH v6 0/5] add rte_thread_set_name API for rte_thread_t David Marchand
2023-01-23 18:57 ` Tyler Retzlaff
2023-01-23 19:39 ` [PATCH v7 " Tyler Retzlaff
2023-01-23 19:39 ` [PATCH v7 1/5] eal: add thread set name API operating on rte thread Tyler Retzlaff
2023-01-24 15:21 ` Thomas Monjalon
2023-01-23 19:39 ` [PATCH v7 2/5] eal: remove thread getname API Tyler Retzlaff
2023-01-24 15:24 ` Thomas Monjalon
2023-01-24 15:33 ` Tyler Retzlaff
2023-01-23 19:39 ` [PATCH v7 3/5] eal: set thread name on Windows worker threads Tyler Retzlaff
2023-01-24 15:25 ` Thomas Monjalon
2023-01-24 15:33 ` Tyler Retzlaff
2023-01-24 15:47 ` Thomas Monjalon
2023-01-23 19:39 ` [PATCH v7 4/5] drivers: mlx5 use rte thread set name Tyler Retzlaff
2023-01-24 15:50 ` Thomas Monjalon
2023-01-23 19:39 ` [PATCH v7 5/5] eal: deprecation notice for rte thread setname API Tyler Retzlaff
2023-01-24 16:03 ` Thomas Monjalon
2023-01-24 17:42 ` [PATCH v8 0/4] add rte_thread_set_name API for rte_thread_t Tyler Retzlaff
2023-01-24 17:42 ` [PATCH v8 1/4] eal: add thread set name API operating on rte thread Tyler Retzlaff
2023-01-24 17:42 ` [PATCH v8 2/4] eal: remove thread getname API Tyler Retzlaff
2023-01-24 17:42 ` [PATCH v8 3/4] eal: set thread name on Windows worker threads Tyler Retzlaff
2023-01-24 17:42 ` [PATCH v8 4/4] eal: deprecation notice for rte thread setname API Tyler Retzlaff
2023-01-24 18:02 ` [PATCH v9 0/4] add rte_thread_set_name API for rte_thread_t Tyler Retzlaff
2023-01-24 18:02 ` [PATCH v9 1/4] eal: add thread set name API operating on rte thread Tyler Retzlaff
2023-01-24 18:02 ` [PATCH v9 2/4] eal: remove thread getname API Tyler Retzlaff
2023-01-24 18:02 ` [PATCH v9 3/4] eal: set thread name on Windows worker threads Tyler Retzlaff
2023-01-24 18:02 ` [PATCH v9 4/4] eal: deprecation notice for rte thread setname API Tyler Retzlaff
2023-01-24 18:05 ` Thomas Monjalon
2023-01-24 18:21 ` Tyler Retzlaff
2023-01-24 18:12 ` [PATCH v10 0/4] add rte_thread_set_name API for rte_thread_t Tyler Retzlaff
2023-01-24 18:12 ` [PATCH v10 1/4] eal: add thread set name API operating on rte thread Tyler Retzlaff
2023-01-24 18:12 ` [PATCH v10 2/4] eal: remove thread getname API Tyler Retzlaff
2023-01-24 18:12 ` [PATCH v10 3/4] eal: set thread name on Windows worker threads Tyler Retzlaff
2023-01-24 18:12 ` [PATCH v10 4/4] eal: deprecation notice for rte thread setname API Tyler Retzlaff
2023-01-30 15:46 ` Thomas Monjalon
2023-01-30 16:19 ` David Marchand
2023-01-30 20:34 ` Tyler Retzlaff
2023-01-31 9:53 ` David Marchand
2023-01-31 17:09 ` Tyler Retzlaff
2023-01-31 9:54 ` [PATCH v10 0/4] add rte_thread_set_name API for rte_thread_t David Marchand
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=1670439617-9054-4-git-send-email-roretzla@linux.microsoft.com \
--to=roretzla@linux.microsoft.com \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=olivier.matz@6wind.com \
--cc=stephen@networkplumber.org \
--cc=thomas@monjalon.net \
/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.