summaryrefslogtreecommitdiffstatsci
path: root/src/caskbench.cpp
diff options
context:
space:
mode:
authorsuyambulingamrm <suyambu.rm@samsung.com>2014-06-03 14:26:53 +0530
committersuyambulingamrm <suyambu.rm@samsung.com>2014-06-03 14:26:53 +0530
commita7581e68ec410283a845e4d3e625417c736b9687 (patch)
treed6767bf4e033b74e9c9fae99c1e72d26281b4c2d /src/caskbench.cpp
parenta2b340d2b72d61acc8f78d7eae5ca6d9cea5e5a7 (diff)
Issue #72. Added command line option to list the tests available for execution.
Diffstat (limited to 'src/caskbench.cpp')
-rw-r--r--src/caskbench.cpp25
1 files changed, 25 insertions, 0 deletions
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");