> -----Original Message-----
> From: Tomasz Jozwiak <tjozwia...@gmail.com>
> Sent: Wednesday, June 26, 2019 10:00 PM
> To: dev@dpdk.org; fiona.tr...@intel.com; tjozwia...@gmail.com; Shally
> Verma <shal...@marvell.com>; arturx.tryb...@intel.com
> Subject: [EXT] [PATCH v3 2/7] app/test-compress-perf: add ptest command
> line option
>
> External Email
>
> ----------------------------------------------------------------------
> From: Tomasz Jozwiak <tomaszx.jozw...@intel.com>
>
> This patch adds --ptest option to make possible a choose of test case from
> command line.
>
> Signed-off-by: Tomasz Jozwiak <tomaszx.jozw...@intel.com>
> ---
> app/test-compress-perf/comp_perf_options_parse.c | 36
> ++++++++++++++++++++++++
> 1 file changed, 36 insertions(+)
>
> diff --git a/app/test-compress-perf/comp_perf_options_parse.c b/app/test-
> compress-perf/comp_perf_options_parse.c
> index bc4b98a..07672b2 100644
> --- a/app/test-compress-perf/comp_perf_options_parse.c
> +++ b/app/test-compress-perf/comp_perf_options_parse.c
> @@ -15,6 +15,7 @@
>
> #include "comp_perf_options.h"
>
> +#define CPERF_PTEST_TYPE ("ptest")
> #define CPERF_DRIVER_NAME ("driver-name")
> #define CPERF_TEST_FILE ("input-file")
> #define CPERF_SEG_SIZE ("seg-sz")
> @@ -37,6 +38,7 @@ static void
> usage(char *progname)
> {
> printf("%s [EAL options] --\n"
> + " --ptest benchmark / verify :"
> " --driver-name NAME: compress driver to use\n"
> " --input-file NAME: file to compress and decompress\n"
> " --extended-input-sz N: extend file data up to this size
> (default: no extension)\n"
> @@ -76,6 +78,37 @@ get_str_key_id_mapping(struct name_id_map *map,
> unsigned int map_len, }
>
> static int
> +parse_cperf_test_type(struct comp_test_data *test_data, const char
> +*arg) {
> + struct name_id_map cperftest_namemap[] = {
> + {
> +
> cperf_test_type_strs[CPERF_TEST_TYPE_BENCHMARK],
> + CPERF_TEST_TYPE_BENCHMARK
> + },
> + {
> + cperf_test_type_strs[CPERF_TEST_TYPE_VERIFY],
> + CPERF_TEST_TYPE_VERIFY
> + },
> + {
> + cperf_test_type_strs[CPERF_TEST_TYPE_PMDCC],
> + CPERF_TEST_TYPE_PMDCC
What is PMDCC here? What kind of test type?
> + }
> + };
> +
> + int id = get_str_key_id_mapping(
> + (struct name_id_map *)cperftest_namemap,
> + RTE_DIM(cperftest_namemap), arg);
> + if (id < 0) {
> + RTE_LOG(ERR, USER1, "failed to parse test type");
> + return -1;
> + }
> +
> + test_data->test = (enum cperf_perf_test_type)id;
> +
> + return 0;
> +}
> +
> +static int
> parse_uint32_t(uint32_t *value, const char *arg) {
> char *end = NULL;
> @@ -499,6 +532,8 @@ struct long_opt_parser { };
>
> static struct option lgopts[] = {
> +
> + { CPERF_PTEST_TYPE, required_argument, 0, 0 },
> { CPERF_DRIVER_NAME, required_argument, 0, 0 },
> { CPERF_TEST_FILE, required_argument, 0, 0 },
> { CPERF_SEG_SIZE, required_argument, 0, 0 }, @@ -517,6 +552,7 @@
> static int comp_perf_opts_parse_long(int opt_idx, struct comp_test_data
> *test_data) {
> struct long_opt_parser parsermap[] = {
> + { CPERF_PTEST_TYPE, parse_cperf_test_type },
> { CPERF_DRIVER_NAME, parse_driver_name },
> { CPERF_TEST_FILE, parse_test_file },
> { CPERF_SEG_SIZE, parse_seg_sz },
> --
> 2.7.4