From: Vincent Guittot vincent.guittot@linaro.org
When global object is absent, give a set of default values so that global object could be optional in JSON file.
Signed-off-by: Vincent Guittot vincent.guittot@linaro.org Signed-off-by: Pi-Cheng Chen pi-cheng.chen@linaro.org --- src/rt-app_parse_config.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-)
diff --git a/src/rt-app_parse_config.c b/src/rt-app_parse_config.c index 0f8998e..1f4c2db 100644 --- a/src/rt-app_parse_config.c +++ b/src/rt-app_parse_config.c @@ -447,6 +447,21 @@ parse_global(struct json_object *global, rtapp_options_t *opts) int scan_cnt;
log_info(PFX "Parsing global section"); + + if (!global) { + opts->duration = -1; + opts->gnuplot = 0; + opts->policy = other; + opts->calib_cpu = 0; + opts->calib_ns_per_loop = 0; + opts->logdir = strdup("./"); + opts->lock_pages = 1; + opts->logbasename = strdup("rt-app"); + opts->ftrace = 0; + opts->pi_enabled = 0; + return; + } + opts->duration = get_int_value_from(global, "duration", TRUE, -1); opts->gnuplot = get_bool_value_from(global, "gnuplot", TRUE, 0); policy = get_string_value_from(global, "default_policy", @@ -480,7 +495,7 @@ parse_global(struct json_object *global, rtapp_options_t *opts) } }
- opts->logdir = get_string_value_from(global, "logdir", TRUE, NULL); + opts->logdir = get_string_value_from(global, "logdir", TRUE, ./); opts->lock_pages = get_bool_value_from(global, "lock_pages", TRUE, 1); opts->logbasename = get_string_value_from(global, "log_basename", TRUE, "rt-app"); @@ -504,7 +519,7 @@ get_opts_from_json_object(struct json_object *root, rtapp_options_t *opts) log_info(PFX "Successfully parsed input JSON"); log_info(PFX "root : %s", json_object_to_json_string(root));
- global = get_in_object(root, "global", FALSE); + global = get_in_object(root, "global", TRUE); log_info(PFX "global : %s", json_object_to_json_string(global));
tasks = get_in_object(root, "tasks", FALSE);