Bump liberty
We've moved most of our configuration test in there.
This commit is contained in:
parent
2759c311fa
commit
6837fdb7c4
54
degesch.c
54
degesch.c
|
@ -13768,64 +13768,30 @@ init_poller_events (struct app_context *ctx)
|
||||||
|
|
||||||
#ifdef TESTING
|
#ifdef TESTING
|
||||||
|
|
||||||
static void
|
|
||||||
on_test_config_foo_change (struct config_item *item)
|
|
||||||
{
|
|
||||||
*(bool *) item->user_data = item->value.boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
static struct config_schema g_config_test[] =
|
static struct config_schema g_config_test[] =
|
||||||
{
|
{
|
||||||
{ .name = "foo",
|
{ .name = "foo", .type = CONFIG_ITEM_BOOLEAN, .default_ = "off" },
|
||||||
.comment = "baz",
|
{ .name = "bar", .type = CONFIG_ITEM_INTEGER, .default_ = "1" },
|
||||||
.type = CONFIG_ITEM_BOOLEAN,
|
{ .name = "foobar", .type = CONFIG_ITEM_STRING, .default_ = "\"x\\x01\"" },
|
||||||
.default_ = "off",
|
|
||||||
.on_change = on_test_config_foo_change },
|
|
||||||
{ .name = "bar",
|
|
||||||
.type = CONFIG_ITEM_INTEGER,
|
|
||||||
.validate = config_validate_nonnegative,
|
|
||||||
.default_ = "1" },
|
|
||||||
{ .name = "foobar",
|
|
||||||
.type = CONFIG_ITEM_STRING,
|
|
||||||
.default_ = "\"qux\"" },
|
|
||||||
{}
|
{}
|
||||||
};
|
};
|
||||||
|
|
||||||
static void
|
|
||||||
test_config_load (struct config_item *subtree, void *user_data)
|
|
||||||
{
|
|
||||||
config_schema_apply_to_object (g_config_test, subtree, user_data);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
test_config (void)
|
test_config (void)
|
||||||
{
|
{
|
||||||
struct config config = config_make ();
|
struct config_item *foo = config_item_object ();
|
||||||
|
config_schema_apply_to_object (g_config_test, foo, NULL);
|
||||||
bool b = true;
|
struct config_item *root = config_item_object ();
|
||||||
config_register_module (&config, "top", test_config_load, &b);
|
str_map_set (&root->value.object, "top", foo);
|
||||||
config_load (&config, config_item_object ());
|
|
||||||
config_schema_call_changed (config.root);
|
|
||||||
hard_assert (b == false);
|
|
||||||
|
|
||||||
struct config_item *invalid = config_item_integer (-1);
|
|
||||||
hard_assert (!config_item_set_from (config_item_get (config.root,
|
|
||||||
"top.bar", NULL), invalid, NULL));
|
|
||||||
config_item_destroy (invalid);
|
|
||||||
|
|
||||||
struct str s = str_make ();
|
|
||||||
serialize_configuration (config.root, &s);
|
|
||||||
config_load (&config, config_item_parse (s.str, s.len, false, NULL));
|
|
||||||
str_free (&s);
|
|
||||||
|
|
||||||
struct strv v = strv_make ();
|
struct strv v = strv_make ();
|
||||||
dump_matching_options (config.root, "*foo*", &v);
|
dump_matching_options (root, "*foo*", &v);
|
||||||
hard_assert (v.len == 2);
|
hard_assert (v.len == 2);
|
||||||
hard_assert (!strcmp (v.vector[0], "top.foo = off"));
|
hard_assert (!strcmp (v.vector[0], "top.foo = off"));
|
||||||
hard_assert (!strcmp (v.vector[1], "top.foobar = \"qux\""));
|
hard_assert (!strcmp (v.vector[1], "top.foobar = \"x\\x01\""));
|
||||||
strv_free (&v);
|
strv_free (&v);
|
||||||
|
|
||||||
config_free (&config);
|
config_item_destroy (root);
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
2
liberty
2
liberty
|
@ -1 +1 @@
|
||||||
Subproject commit e029aae1d3d1884ca868c3694bdec0456b3e8267
|
Subproject commit 9b723049635329feda63fab675df794e429aa151
|
Loading…
Reference in New Issue