Refactor config.c functions for testing

To test the configuration validation and default value generation, the
functions needed to be refactored to allow parameters to be passed
directly to the function.
This commit is contained in:
Markus Mäkelä
2017-01-08 12:00:42 +02:00
parent eef0619865
commit 56ecdc219b
4 changed files with 188 additions and 167 deletions

View File

@ -347,9 +347,19 @@ static void add_monitor_defaults(MONITOR *monitor)
/** Inject the default module parameters in case we only deleted
* a parameter */
CONFIG_CONTEXT ctx = {.object = ""};
config_add_defaults(&ctx, monitor->module_name, MODULE_MONITOR);
monitorAddParameters(monitor, ctx.parameters);
config_parameter_free(ctx.parameters);
const MXS_MODULE *mod = get_module(monitor->module_name, MODULE_MONITOR);
if (mod)
{
config_add_defaults(&ctx, mod->parameters);
monitorAddParameters(monitor, ctx.parameters);
config_parameter_free(ctx.parameters);
}
else
{
MXS_ERROR("Failed to load module '%s'. See previous error messages for more details.",
monitor->module_name);
}
}
bool runtime_alter_monitor(MONITOR *monitor, char *key, char *value)