[PATCH v2 2/2] test: simplify spawning extra test processes
Bruce Richardson
bruce.richardson at intel.com
Fri Mar 20 17:11:08 CET 2026
A number of tests require secondary processes or additional primary
process instances, so we have common code for managing that in the test
binary. Simplify that code a little, in the process removing dependency
on procfs on FreeBSD
Signed-off-by: Bruce Richardson <bruce.richardson at intel.com>
---
app/test/process.h | 20 ++------------------
1 file changed, 2 insertions(+), 18 deletions(-)
diff --git a/app/test/process.h b/app/test/process.h
index df43966a2a..3ee899dbc8 100644
--- a/app/test/process.h
+++ b/app/test/process.h
@@ -19,14 +19,6 @@
#include <rte_devargs.h>
#include <rte_eal.h>
-#ifdef RTE_EXEC_ENV_FREEBSD
-#define self "curproc"
-#define exe "file"
-#else
-#define self "self"
-#define exe "exe"
-#endif
-
#ifdef RTE_LIB_PDUMP
#ifdef RTE_NET_RING
#include <rte_thread.h>
@@ -96,7 +88,6 @@ process_dup(const char *const argv[], int numargs, const char *env_value)
int driver_path_num;
int argv_num;
int i, status;
- char path[32];
#ifdef RTE_LIB_PDUMP
#ifdef RTE_NET_RING
rte_thread_t thread;
@@ -132,7 +123,7 @@ process_dup(const char *const argv[], int numargs, const char *env_value)
#ifdef RTE_EXEC_ENV_LINUX
{
- const char *procdir = "/proc/" self "/fd/";
+ const char *procdir = "/proc/self/fd/";
struct dirent *dirent;
char *endptr;
int fd, fdir;
@@ -188,15 +179,8 @@ process_dup(const char *const argv[], int numargs, const char *env_value)
/* set the environment variable */
if (setenv(RECURSIVE_ENV_VAR, env_value, 1) != 0)
rte_panic("Cannot export environment variable\n");
-
- strlcpy(path, "/proc/" self "/" exe, sizeof(path));
- if (execv(path, argv_cpy) < 0) {
- if (errno == ENOENT) {
- printf("Could not find '%s', is procfs mounted?\n",
- path);
- }
+ if (execv(argv_cpy[0], argv_cpy) < 0)
rte_panic("Cannot exec: %s\n", strerror(errno));
- }
}
/* parent process does a wait */
#ifdef RTE_LIB_PDUMP
--
2.51.0
More information about the dev
mailing list