DPDK patches and discussions
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen@networkplumber.org>
To: dev@dpdk.org
Cc: Stephen Hemminger <stephen@networkplumber.org>
Subject: [PATCH v7 02/10] test: add new function to get current file-prefix arg
Date: Tue, 25 Nov 2025 07:20:52 -0800	[thread overview]
Message-ID: <20251125152232.73528-3-stephen@networkplumber.org> (raw)
In-Reply-To: <20251125152232.73528-1-stephen@networkplumber.org>

Refactor so that there is one function to get current argument
for "--file-prefix=XXX".

The code does not need to initialize all these 4K buffers since
they are directly used by functions that set them.
The maximum sizeof of the current DPDK prefix is NAME_MAX (128)
not PATH_MAX(4096) so save a significant amount of space.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 app/test/process.h | 38 ++++++++++++++++++++++++++++++++------
 1 file changed, 32 insertions(+), 6 deletions(-)

diff --git a/app/test/process.h b/app/test/process.h
index f948a89786..4e5cbaf3cf 100644
--- a/app/test/process.h
+++ b/app/test/process.h
@@ -199,15 +199,22 @@ process_dup(const char *const argv[], int numargs, const char *env_value)
 	return status;
 }
 
-/* FreeBSD doesn't support file prefixes, so force compile failures for any
- * tests attempting to use this function on FreeBSD.
- */
+/* FreeBSD doesn't support file prefixes, so no arguement passed. */
+#ifdef RTE_EXEC_ENV_FREEBSD
+static inline const char *
+file_prefix_arg(void)
+{
+	/* BSD target doesn't support prefixes at this point */
+	return "";
+}
+#else
+
 #ifdef RTE_EXEC_ENV_LINUX
 static inline char *
 get_current_prefix(char *prefix, int size)
 {
-	char path[PATH_MAX] = {0};
-	char buf[PATH_MAX] = {0};
+	char path[64];
+	char buf[PATH_MAX];
 
 	/* get file for config (fd is always 3) */
 	snprintf(path, sizeof(path), "/proc/self/fd/%d", 3);
@@ -216,10 +223,29 @@ get_current_prefix(char *prefix, int size)
 	if (readlink(path, buf, sizeof(buf)) == -1)
 		return NULL;
 
-	/* get the prefix */
+	/*
+	 * path should be something like "/var/run/dpdk/config"
+	 * which results in prefix of "dpdk"
+	 */
 	rte_basename(dirname(buf), prefix, size);
+	return prefix;
+}
+
+/* Return a --file-prefix=XXXX argument or NULL */
+static inline const char *
+file_prefix_arg(void)
+{
+	static char prefix[NAME_MAX + sizeof("--file-prefix=")];
+	char tmp[NAME_MAX];
 
+	if (get_current_prefix(tmp, sizeof(tmp)) == NULL) {
+		fprintf(stderr, "Error - unable to get current prefix!\n");
+		return NULL;
+	}
+
+	snprintf(prefix, sizeof(prefix), "--file-prefix=%s", tmp);
 	return prefix;
+#endif
 }
 #endif
 
-- 
2.51.0


  parent reply	other threads:[~2025-11-25 15:22 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-10 18:19 [PATCH 0/3] examples: format truncation bugs Stephen Hemminger
2025-11-10 18:19 ` [PATCH 1/3] examples/server_node_efd: fix format overflow Stephen Hemminger
2025-11-10 18:19 ` [PATCH 2/3] examples/vdpa: fix format overflow warning Stephen Hemminger
2025-11-10 18:19 ` [PATCH 3/3] examples: re-enable format truncation warning Stephen Hemminger
2025-11-11 22:17 ` [PATCH v2 0/7] fix format-truncation warnings Stephen Hemminger
2025-11-11 22:17   ` [PATCH v2 1/7] examples/server_node_efd: fix format overflow Stephen Hemminger
2025-11-11 22:17   ` [PATCH v2 2/7] examples/vdpa: fix format overflow warning Stephen Hemminger
2025-11-14 15:59     ` Bruce Richardson
2025-11-11 22:17   ` [PATCH v2 3/7] examples/ip_reassembly: add check before formatting name Stephen Hemminger
2025-11-12 14:50     ` Konstantin Ananyev
2025-11-14 16:05     ` Bruce Richardson
2025-11-11 22:17   ` [PATCH v2 4/7] examples: re-enable format truncation warning Stephen Hemminger
2025-11-14 16:07     ` Bruce Richardson
2025-11-11 22:17   ` [PATCH v2 5/7] test: refactor file prefix arg handling Stephen Hemminger
2025-11-11 22:17   ` [PATCH v2 6/7] test: increase size of memzone name Stephen Hemminger
2025-11-14 16:07     ` Bruce Richardson
2025-11-11 22:17   ` [PATCH v2 7/7] test: re-enable format-truncation warnings Stephen Hemminger
2025-11-14 16:08     ` Bruce Richardson
2025-11-15 19:36 ` [PATCH v3 0/4] examples: fix " Stephen Hemminger
2025-11-15 19:36   ` [PATCH v3 1/4] examples/server_node_efd: fix format overflow Stephen Hemminger
2025-11-17  8:50     ` Bruce Richardson
2025-11-15 19:36   ` [PATCH v3 2/4] examples/vdpa: fix format overflow warning Stephen Hemminger
2025-11-19  4:31     ` Thomas Monjalon
2025-11-19  9:13       ` Bruce Richardson
2025-11-15 19:36   ` [PATCH v3 3/4] examples/ip_reassembly: add check before formatting name Stephen Hemminger
2025-11-15 19:36   ` [PATCH v3 4/4] examples: enable format truncation warning Stephen Hemminger
2025-11-20 16:21 ` [PATCH v4 0/4] examples: fix format-truncation errors Stephen Hemminger
2025-11-20 16:21   ` [PATCH v4 1/4] examples/server_node_efd: fix format overflow Stephen Hemminger
2025-11-20 16:22   ` [PATCH v4 2/4] examples/vdpa: fix format overflow warning Stephen Hemminger
2025-11-20 16:22   ` [PATCH v4 3/4] examples/ip_reassembly: add check before formatting name Stephen Hemminger
2025-11-20 16:22   ` [PATCH v4 4/4] examples: enable format truncation warning Stephen Hemminger
2025-11-24 16:20   ` [PATCH v4 0/4] examples: fix format-truncation errors David Marchand
2025-11-21 17:08 ` [PATCH v5 0/8] tests: fix format truncation warnings Stephen Hemminger
2025-11-21 17:08   ` [PATCH v5 1/8] test: increase size of memzone name Stephen Hemminger
2025-11-21 17:08   ` [PATCH v5 2/8] test: refactor file prefix arg handling Stephen Hemminger
2025-11-21 17:08   ` [PATCH v5 3/8] test: avoid overflowing huge directory path Stephen Hemminger
2025-11-21 17:08   ` [PATCH v5 4/8] test: use unit test runner for eal flags Stephen Hemminger
2025-11-21 17:08   ` [PATCH v5 5/8] test: fix format overflow warning in ACL test Stephen Hemminger
2025-11-21 17:08   ` [PATCH v5 6/8] test: fix impossible format-truncation in cfgfiles Stephen Hemminger
2025-11-21 17:08   ` [PATCH v5 7/8] test: fix format overflow in cryptodev test Stephen Hemminger
2025-11-21 17:08   ` [PATCH v5 8/8] test: re-enable format-truncation warnings Stephen Hemminger
2025-11-23 17:43 ` [PATCH v6 0/9] tests: fix format truncation warnings Stephen Hemminger
2025-11-23 17:43   ` [PATCH v6 1/9] test: increase size of memzone name Stephen Hemminger
2025-11-23 17:43   ` [PATCH v6 2/9] test: refactor file prefix arg handling Stephen Hemminger
2025-11-23 17:43   ` [PATCH v6 3/9] test: avoid overflowing huge directory path Stephen Hemminger
2025-11-23 17:43   ` [PATCH v6 4/9] test: use unit test runner for eal flags Stephen Hemminger
2025-11-23 17:43   ` [PATCH v6 5/9] test: fix format overflow warning in ACL test Stephen Hemminger
2025-11-23 17:43   ` [PATCH v6 6/9] test: fix impossible format-truncation in cfgfiles Stephen Hemminger
2025-11-23 17:43   ` [PATCH v6 7/9] test: fix format overflow in cryptodev test Stephen Hemminger
2025-11-23 17:43   ` [PATCH v6 8/9] test: fix overflow warnings in mp_secondary and pdump Stephen Hemminger
2025-11-23 17:43   ` [PATCH v6 9/9] test: re-enable format-truncation warnings Stephen Hemminger
2025-11-24  1:53   ` [PATCH v6 0/9] tests: fix format truncation warnings fengchengwen
2025-11-24 15:45   ` Patrick Robb
2025-11-25 15:20 ` [PATCH v7 00/10] test: " Stephen Hemminger
2025-11-25 15:20   ` [PATCH v7 01/10] test: increase size of memzone name Stephen Hemminger
2025-11-25 15:20   ` Stephen Hemminger [this message]
2025-11-25 15:20   ` [PATCH v7 03/10] test: refactor file prefix arg handling Stephen Hemminger
2025-11-25 15:20   ` [PATCH v7 04/10] test: avoid overflowing huge directory path Stephen Hemminger
2025-11-25 15:20   ` [PATCH v7 05/10] test: fix format overflow warning in ACL test Stephen Hemminger
2025-11-25 15:20   ` [PATCH v7 06/10] test: fix impossible format-truncation in cfgfiles Stephen Hemminger
2025-11-25 15:20   ` [PATCH v7 07/10] test: fix format overflow in cryptodev test Stephen Hemminger
2025-11-25 15:20   ` [PATCH v7 08/10] test: fix overflow warnings in several places by using common code Stephen Hemminger
2025-11-25 15:20   ` [PATCH v7 09/10] test: use unit test runner for eal flags Stephen Hemminger
2025-11-25 15:21   ` [PATCH v7 10/10] test: re-enable format-truncation warnings Stephen Hemminger

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=20251125152232.73528-3-stephen@networkplumber.org \
    --to=stephen@networkplumber.org \
    --cc=dev@dpdk.org \
    /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).