MXS-2304 Use values instead of pointers in CONFIG_CONTEXT
Simplifies ctor/dtor.
This commit is contained in:
@ -48,7 +48,7 @@ int test_validity()
|
||||
};
|
||||
|
||||
CONFIG_CONTEXT ctx;
|
||||
ctx.object = MXS_STRDUP("");
|
||||
ctx.name = MXS_STRDUP("");
|
||||
|
||||
/** Int parameter */
|
||||
TEST(config_param_is_valid(params, "p1", "1", &ctx));
|
||||
@ -111,7 +111,7 @@ int test_validity()
|
||||
|
||||
/** Service parameter */
|
||||
CONFIG_CONTEXT svc;
|
||||
svc.object = MXS_STRDUP("test-service");
|
||||
svc.name = MXS_STRDUP("test-service");
|
||||
ctx.next = &svc;
|
||||
config_add_param(&svc, "type", "service");
|
||||
TEST(config_param_is_valid(params, "p7", "test-service", &ctx));
|
||||
@ -156,10 +156,10 @@ int test_add_parameter()
|
||||
|
||||
|
||||
CONFIG_CONTEXT svc1, svc2, ctx;
|
||||
svc1.object = MXS_STRDUP("my-service");
|
||||
svc2.object = MXS_STRDUP("some-service");
|
||||
svc1.name = MXS_STRDUP("my-service");
|
||||
svc2.name = MXS_STRDUP("some-service");
|
||||
svc2.next = &svc1;
|
||||
ctx.object = MXS_STRDUP("");
|
||||
ctx.name = MXS_STRDUP("");
|
||||
ctx.next = &svc2;
|
||||
config_add_param(&svc1, "type", "service");
|
||||
config_add_param(&svc2, "type", "service");
|
||||
@ -167,15 +167,15 @@ int test_add_parameter()
|
||||
config_add_defaults(&ctx, params);
|
||||
|
||||
/** Test default values */
|
||||
TEST(ctx.parameters->get_integer("p1") == -123);
|
||||
TEST(ctx.parameters->get_integer("p2") == 123);
|
||||
TEST(ctx.parameters->get_bool("p3") == true);
|
||||
TEST(ctx.parameters->get_string("p4") == "default");
|
||||
TEST(ctx.parameters->get_enum("p5", enum_values) == 1);
|
||||
TEST(ctx.parameters->get_string("p6") == "/tmp");
|
||||
TEST(ctx.parameters->get_string("p7") == "my-service");
|
||||
TEST(ctx.parameters.get_integer("p1") == -123);
|
||||
TEST(ctx.parameters.get_integer("p2") == 123);
|
||||
TEST(ctx.parameters.get_bool("p3") == true);
|
||||
TEST(ctx.parameters.get_string("p4") == "default");
|
||||
TEST(ctx.parameters.get_enum("p5", enum_values) == 1);
|
||||
TEST(ctx.parameters.get_string("p6") == "/tmp");
|
||||
TEST(ctx.parameters.get_string("p7") == "my-service");
|
||||
|
||||
ctx.parameters->clear();
|
||||
ctx.parameters.clear();
|
||||
|
||||
/** Test custom parameters overriding default values */
|
||||
config_add_param(&ctx, "p1", "-321");
|
||||
@ -188,14 +188,14 @@ int test_add_parameter()
|
||||
|
||||
config_add_defaults(&ctx, params);
|
||||
|
||||
TEST(ctx.parameters->get_integer("p1") == -321);
|
||||
TEST(ctx.parameters->get_integer("p2") == 321);
|
||||
TEST(ctx.parameters->contains("p3") && ctx.parameters->get_bool("p3") == false);
|
||||
TEST(ctx.parameters->get_string("p4") == "strange");
|
||||
int val = ctx.parameters->get_enum("p5", enum_values);
|
||||
TEST(ctx.parameters.get_integer("p1") == -321);
|
||||
TEST(ctx.parameters.get_integer("p2") == 321);
|
||||
TEST(ctx.parameters.contains("p3") && ctx.parameters.get_bool("p3") == false);
|
||||
TEST(ctx.parameters.get_string("p4") == "strange");
|
||||
int val = ctx.parameters.get_enum("p5", enum_values);
|
||||
TEST(val == 5);
|
||||
TEST(ctx.parameters->get_string("p6") == "/dev/null");
|
||||
TEST(ctx.parameters->get_string("p7") == "some-service");
|
||||
TEST(ctx.parameters.get_string("p6") == "/dev/null");
|
||||
TEST(ctx.parameters.get_string("p7") == "some-service");
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -210,13 +210,13 @@ int test_required_parameters()
|
||||
};
|
||||
|
||||
CONFIG_CONTEXT ctx;
|
||||
ctx.object = MXS_STRDUP("");
|
||||
ctx.name = MXS_STRDUP("");
|
||||
|
||||
TEST(missing_required_parameters(params, ctx.parameters, "test"));
|
||||
config_add_defaults(&ctx, params);
|
||||
TEST(!missing_required_parameters(params, ctx.parameters, "test"));
|
||||
|
||||
ctx.parameters->clear();
|
||||
ctx.parameters.clear();
|
||||
|
||||
config_add_param(&ctx, "p1", "1");
|
||||
config_add_param(&ctx, "p2", "1");
|
||||
|
@ -97,21 +97,21 @@ bool test_load_config(const char* input, Server* server)
|
||||
if (duplicate_context_init(&dcontext))
|
||||
{
|
||||
CONFIG_CONTEXT ccontext;
|
||||
ccontext.object = MXS_STRDUP("");
|
||||
ccontext.name = MXS_STRDUP("");
|
||||
|
||||
if (config_load_single_file(input, &dcontext, &ccontext))
|
||||
{
|
||||
CONFIG_CONTEXT* obj = ccontext.next;
|
||||
MXS_CONFIG_PARAMETER* param = obj->parameters;
|
||||
MXS_CONFIG_PARAMETER* param = &obj->parameters;
|
||||
config_add_defaults(obj, config_server_params);
|
||||
|
||||
TEST(strcmp(obj->object, server->name()) == 0, "Server names differ");
|
||||
TEST(strcmp(obj->object(), server->name()) == 0, "Server names differ");
|
||||
TEST(param->get_string("address") == server->address, "Server addresses differ");
|
||||
TEST(param->get_string("protocol") == server->protocol(), "Server protocols differ");
|
||||
TEST(param->get_string("authenticator") == server->get_authenticator(),
|
||||
"Server authenticators differ");
|
||||
TEST(param->get_integer("port") == server->port, "Server ports differ");
|
||||
TEST(Server::server_alloc(obj->object, obj->parameters),
|
||||
TEST(Server::server_alloc(obj->object(), &obj->parameters),
|
||||
"Failed to create server from loaded config");
|
||||
duplicate_context_finish(&dcontext);
|
||||
config_context_free(obj);
|
||||
|
Reference in New Issue
Block a user