From: Thomas Monjalon <thomas@monjalon.net>
To: stable@dpdk.org
Cc: xuemingl@nvidia.com, Wisam Jaddo <wisamm@nvidia.com>,
Ori Kam <orika@nvidia.com>,
Bruce Richardson <bruce.richardson@intel.com>,
Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>,
David Marchand <david.marchand@redhat.com>
Subject: [dpdk-stable] [PATCH 20.11] app: fix exit messages
Date: Fri, 28 May 2021 11:21:34 +0200 [thread overview]
Message-ID: <20210528092134.19628-1-thomas@monjalon.net> (raw)
[ upstream commit 487cfc24370fdb7ea843aa510d6e6d2a7212dd23 ]
Some applications were printing useless messages with rte_exit()
after showing the help. Using exit() is enough in this case.
Some applications were using a redundant printf or fprintf() before
calling rte_exit(). The messages are unified in a single rte_exit().
Some rte_exit() calls were missing a line feed or returning a wrong code.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Wisam Jaddo <wisamm@nvidia.com>
Acked-by: Ori Kam <orika@nvidia.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Acked-by: David Marchand <david.marchand@redhat.com>
---
.../comp_perf_options_parse.c | 2 +-
app/test-crypto-perf/cperf_options_parsing.c | 2 +-
app/test-flow-perf/main.c | 45 +++++++++----------
app/test-pmd/parameters.c | 4 +-
app/test-regex/main.c | 3 +-
5 files changed, 26 insertions(+), 30 deletions(-)
diff --git a/app/test-compress-perf/comp_perf_options_parse.c b/app/test-compress-perf/comp_perf_options_parse.c
index 04a8d2fbee..019eddb7bd 100644
--- a/app/test-compress-perf/comp_perf_options_parse.c
+++ b/app/test-compress-perf/comp_perf_options_parse.c
@@ -620,7 +620,7 @@ comp_perf_options_parse(struct comp_test_data *test_data, int argc, char **argv)
switch (opt) {
case 'h':
usage(argv[0]);
- rte_exit(EXIT_SUCCESS, "Displayed help\n");
+ exit(EXIT_SUCCESS);
break;
/* long options */
case 0:
diff --git a/app/test-crypto-perf/cperf_options_parsing.c b/app/test-crypto-perf/cperf_options_parsing.c
index 0466f7baf8..40b6dfb648 100644
--- a/app/test-crypto-perf/cperf_options_parsing.c
+++ b/app/test-crypto-perf/cperf_options_parsing.c
@@ -983,7 +983,7 @@ cperf_options_parse(struct cperf_options *options, int argc, char **argv)
switch (opt) {
case 'h':
usage(argv[0]);
- rte_exit(EXIT_SUCCESS, "Displayed help\n");
+ exit(EXIT_SUCCESS);
break;
/* long options */
case 0:
diff --git a/app/test-flow-perf/main.c b/app/test-flow-perf/main.c
index e2fc5b7f65..64d722baa7 100644
--- a/app/test-flow-perf/main.c
+++ b/app/test-flow-perf/main.c
@@ -606,7 +606,7 @@ args_parse(int argc, char **argv)
case 0:
if (strcmp(lgopts[opt_idx].name, "help") == 0) {
usage(argv[0]);
- rte_exit(EXIT_SUCCESS, "Displayed help\n");
+ exit(EXIT_SUCCESS);
}
if (strcmp(lgopts[opt_idx].name, "group") == 0) {
@@ -614,7 +614,7 @@ args_parse(int argc, char **argv)
if (n >= 0)
flow_group = n;
else
- rte_exit(EXIT_SUCCESS,
+ rte_exit(EXIT_FAILURE,
"flow group should be >= 0\n");
printf("group %d / ", flow_group);
}
@@ -634,7 +634,7 @@ args_parse(int argc, char **argv)
if (n > 0)
hairpin_queues_num = n;
else
- rte_exit(EXIT_SUCCESS,
+ rte_exit(EXIT_FAILURE,
"Hairpin queues should be > 0\n");
flow_actions[actions_idx++] =
@@ -647,7 +647,7 @@ args_parse(int argc, char **argv)
if (n > 0)
hairpin_queues_num = n;
else
- rte_exit(EXIT_SUCCESS,
+ rte_exit(EXIT_FAILURE,
"Hairpin queues should be > 0\n");
flow_actions[actions_idx++] =
@@ -671,11 +671,9 @@ args_parse(int argc, char **argv)
break;
}
/* Reached last item with no match */
- if (i == (RTE_DIM(flow_options) - 1)) {
- fprintf(stderr, "Invalid encap item: %s\n", token);
- usage(argv[0]);
- rte_exit(EXIT_SUCCESS, "Invalid encap item\n");
- }
+ if (i == (RTE_DIM(flow_options) - 1))
+ rte_exit(EXIT_FAILURE,
+ "Invalid encap item: %s\n", token);
}
token = strtok(NULL, ",");
}
@@ -697,11 +695,9 @@ args_parse(int argc, char **argv)
break;
}
/* Reached last item with no match */
- if (i == (RTE_DIM(flow_options) - 1)) {
- fprintf(stderr, "Invalid decap item: %s\n", token);
- usage(argv[0]);
- rte_exit(EXIT_SUCCESS, "Invalid decap item\n");
- }
+ if (i == (RTE_DIM(flow_options) - 1))
+ rte_exit(EXIT_FAILURE,
+ "Invalid decap item %s\n", token);
}
token = strtok(NULL, ",");
}
@@ -714,9 +710,9 @@ args_parse(int argc, char **argv)
if (n >= DEFAULT_RULES_BATCH)
rules_batch = n;
else {
- printf("\n\nrules_batch should be >= %d\n",
+ rte_exit(EXIT_FAILURE,
+ "rules_batch should be >= %d\n",
DEFAULT_RULES_BATCH);
- rte_exit(EXIT_SUCCESS, " ");
}
}
if (strcmp(lgopts[opt_idx].name,
@@ -725,7 +721,8 @@ args_parse(int argc, char **argv)
if (n >= (int) rules_batch)
rules_count = n;
else {
- printf("\n\nrules_count should be >= %d\n",
+ rte_exit(EXIT_FAILURE,
+ "rules_count should be >= %d\n",
rules_batch);
}
}
@@ -752,9 +749,9 @@ args_parse(int argc, char **argv)
}
break;
default:
- fprintf(stderr, "Invalid option: %s\n", argv[optind]);
usage(argv[0]);
- rte_exit(EXIT_SUCCESS, "Invalid option\n");
+ rte_exit(EXIT_FAILURE, "Invalid option: %s\n",
+ argv[optind]);
break;
}
}
@@ -853,7 +850,7 @@ destroy_flows(int port_id, struct rte_flow **flow_list)
memset(&error, 0x33, sizeof(error));
if (rte_flow_destroy(port_id, flow_list[i], &error)) {
print_flow_error(error);
- rte_exit(EXIT_FAILURE, "Error in deleting flow");
+ rte_exit(EXIT_FAILURE, "Error in deleting flow\n");
}
if (i && !((i + 1) % rules_batch)) {
@@ -924,7 +921,7 @@ flows_handler(void)
flow_list = rte_zmalloc("flow_list",
(sizeof(struct rte_flow *) * rules_count) + 1, 0);
if (flow_list == NULL)
- rte_exit(EXIT_FAILURE, "No Memory available!");
+ rte_exit(EXIT_FAILURE, "No Memory available!\n");
for (port_id = 0; port_id < nr_ports; port_id++) {
/* If port outside portmask */
@@ -947,7 +944,7 @@ flows_handler(void)
if (flow == NULL) {
print_flow_error(error);
- rte_exit(EXIT_FAILURE, "error in creating flow");
+ rte_exit(EXIT_FAILURE, "Error in creating flow\n");
}
flow_list[flow_index++] = flow;
}
@@ -968,7 +965,7 @@ flows_handler(void)
if (!flow) {
print_flow_error(error);
- rte_exit(EXIT_FAILURE, "error in creating flow");
+ rte_exit(EXIT_FAILURE, "Error in creating flow\n");
}
flow_list[flow_index++] = flow;
@@ -1087,7 +1084,7 @@ packet_per_second_stats(void)
old = rte_zmalloc("old",
sizeof(struct lcore_info) * MAX_LCORES, 0);
if (old == NULL)
- rte_exit(EXIT_FAILURE, "No Memory available!");
+ rte_exit(EXIT_FAILURE, "No Memory available!\n");
memcpy(old, lcore_infos,
sizeof(struct lcore_info) * MAX_LCORES);
diff --git a/app/test-pmd/parameters.c b/app/test-pmd/parameters.c
index df5eb10d84..195a6ae9d8 100644
--- a/app/test-pmd/parameters.c
+++ b/app/test-pmd/parameters.c
@@ -630,7 +630,7 @@ launch_args_parse(int argc, char** argv)
case 0: /*long options */
if (!strcmp(lgopts[opt_idx].name, "help")) {
usage(argv[0]);
- rte_exit(EXIT_SUCCESS, "Displayed help\n");
+ exit(EXIT_SUCCESS);
}
#ifdef RTE_LIB_CMDLINE
if (!strcmp(lgopts[opt_idx].name, "interactive")) {
@@ -1359,7 +1359,7 @@ launch_args_parse(int argc, char** argv)
break;
case 'h':
usage(argv[0]);
- rte_exit(EXIT_SUCCESS, "Displayed help\n");
+ exit(EXIT_SUCCESS);
break;
default:
usage(argv[0]);
diff --git a/app/test-regex/main.c b/app/test-regex/main.c
index ac6152dea7..507b9cf912 100644
--- a/app/test-regex/main.c
+++ b/app/test-regex/main.c
@@ -108,9 +108,8 @@ args_parse(int argc, char **argv, char *rules_file, char *data_file,
usage("RegEx test app");
break;
default:
- fprintf(stderr, "Invalid option: %s\n", argv[optind]);
usage("RegEx test app");
- rte_exit(EXIT_FAILURE, "Invalid option\n");
+ rte_exit(EXIT_FAILURE, "Invalid option: %s\n", argv[optind]);
break;
}
}
--
2.31.1
next reply other threads:[~2021-05-28 9:21 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-28 9:21 Thomas Monjalon [this message]
2021-05-31 11:32 ` Xueming(Steven) Li
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=20210528092134.19628-1-thomas@monjalon.net \
--to=thomas@monjalon.net \
--cc=andrew.rybchenko@oktetlabs.ru \
--cc=bruce.richardson@intel.com \
--cc=david.marchand@redhat.com \
--cc=orika@nvidia.com \
--cc=stable@dpdk.org \
--cc=wisamm@nvidia.com \
--cc=xuemingl@nvidia.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).