From a7581e68ec410283a845e4d3e625417c736b9687 Mon Sep 17 00:00:00 2001 From: suyambulingamrm Date: Tue, 3 Jun 2014 14:26:53 +0530 Subject: Issue #72. Added command line option to list the tests available for execution. --- src/caskbench.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/caskbench.cpp') diff --git a/src/caskbench.cpp b/src/caskbench.cpp index 43710e4..33b362d 100644 --- a/src/caskbench.cpp +++ b/src/caskbench.cpp @@ -54,6 +54,7 @@ typedef struct _caskbench_options { double tolerance; int canvas_width; int canvas_height; + int list_tests; const char **tests; } caskbench_options_t; @@ -102,6 +103,22 @@ print_surfaces_available() #endif } +static void +print_tests_available() +{ + char *token = NULL; + char test_name[MAX_BUFFER]; + for (int c = 0; c < num_perf_tests; c = c+2) { + memset (test_name, 0, sizeof(test_name)); + strncpy (test_name, perf_tests[c].name, strlen(perf_tests[c].name)); + token = strtok (test_name, "-"); + if (token) { + token = strtok (NULL, "-"); + printf("%s\n", token); + } + } +} + void process_options(caskbench_options_t *opt, int argc, char *argv[]) { @@ -195,6 +212,9 @@ process_options(caskbench_options_t *opt, int argc, char *argv[]) {"canvas_height", 'h', POPT_ARG_INT, &opt->canvas_height, 0, "Height of canvas used for each test case (defaults to 400)", NULL}, + {"list-tests", '\0', POPT_ARG_NONE, &opt->list_tests, 0, + "List the tests available for execution", + NULL}, POPT_AUTOHELP {NULL} }; @@ -375,6 +395,11 @@ main (int argc, char *argv[]) print_surfaces_available(); exit(0); } + if (opt.list_tests) { + print_tests_available(); + exit(0); + } + if (opt.output_file) { // start writing json to output file fp = fopen(opt.output_file, "w"); -- cgit v1.3.1-4-g156e