MCPcopy Create free account
hub / github.com/F-Stack/f-stack / main

Function main

dpdk/app/test/test.c:106–271  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

104#define MAX_EXTRA_ARGS 32
105
106int
107main(int argc, char **argv)
108{
109#ifdef RTE_LIB_CMDLINE
110 struct cmdline *cl;
111 char *tests[argc]; /* store an array of tests to run */
112 int test_count = 0;
113 int i;
114#endif
115 char *extra_args;
116 int ret;
117
118 extra_args = getenv("DPDK_TEST_PARAMS");
119 if (extra_args != NULL && strlen(extra_args) > 0) {
120 char **all_argv;
121 char *eargv[MAX_EXTRA_ARGS];
122 int all_argc;
123 int eargc;
124 int i;
125
126 RTE_LOG(INFO, APP, "Using additional DPDK_TEST_PARAMS: '%s'\n",
127 extra_args);
128 eargc = rte_strsplit(extra_args, strlen(extra_args),
129 eargv, MAX_EXTRA_ARGS, ' ');
130
131 /* merge argc/argv and the environment args */
132 all_argc = argc + eargc;
133 all_argv = malloc(sizeof(*all_argv) * (all_argc + 1));
134 if (all_argv == NULL) {
135 ret = -1;
136 goto out;
137 }
138
139 for (i = 0; i < argc; i++)
140 all_argv[i] = argv[i];
141 for (i = 0; i < eargc; i++)
142 all_argv[argc + i] = eargv[i];
143 all_argv[all_argc] = NULL;
144
145 /* call eal_init with combined args */
146 ret = rte_eal_init(all_argc, all_argv);
147 free(all_argv);
148 } else
149 ret = rte_eal_init(argc, argv);
150 if (ret < 0) {
151 ret = -1;
152 goto out;
153 }
154
155 argv += ret;
156 argc -= ret;
157
158 prgname = argv[0];
159
160#ifdef RTE_LIB_TIMER
161 ret = rte_timer_subsystem_init();
162 if (ret < 0 && ret != -EALREADY) {
163 ret = -1;

Callers

nothing calls this directly

Calls 15

rte_strsplitFunction · 0.85
mallocFunction · 0.85
rte_timer_subsystem_initFunction · 0.85
commands_initFunction · 0.85
do_recursive_callFunction · 0.85
rte_eal_hpet_initFunction · 0.85
strdupFunction · 0.85
cmdline_newFunction · 0.85
strcmpFunction · 0.85
snprintfFunction · 0.85
cmdline_parse_checkFunction · 0.85
cmdline_inFunction · 0.85

Tested by

no test coverage detected