Files
djhackersdev_bemanitools/src/test/cconfig/cconfig-cmd-test.c
T

67 lines
1.5 KiB
C

#include "cconfig/cconfig-util.h"
#include "cconfig/cmd.h"
#include "test/check.h"
#include "test/test.h"
static void test_cmd()
{
struct cconfig *config;
int argc = 6;
char *argv[] = {"-P", "test=aaa", "-C", "asdf", "-P", "test2=123"};
char str[32];
int32_t val;
config = cconfig_init();
check_int_eq(config->nentries, 0);
check_null(config->entries);
check_bool_true(cconfig_cmd_parse(config, "-P", argc, argv, true));
check_int_eq(config->nentries, 2);
check_bool_true(
cconfig_util_get_str(config, "test", str, sizeof(str), "1"));
check_str_eq(str, "aaa");
check_bool_true(cconfig_util_get_int(config, "test2", &val, 0));
check_int_eq(val, 123);
cconfig_finit(config);
}
static void test_cmd_absent_entries()
{
struct cconfig *config;
int argc = 6;
char *argv[] = {"-P", "test=aaa", "-C", "asdf", "-P", "test2=123"};
char str[32];
int32_t val;
config = cconfig_init();
check_int_eq(config->nentries, 0);
check_null(config->entries);
cconfig_set2(config, "test", "aaa");
check_bool_true(cconfig_cmd_parse(config, "-P", argc, argv, false));
check_int_eq(config->nentries, 1);
check_bool_true(
cconfig_util_get_str(config, "test", str, sizeof(str), "1"));
check_str_eq(str, "aaa");
check_bool_false(cconfig_util_get_int(config, "test2", &val, 0));
check_int_eq(val, 0);
cconfig_finit(config);
}
TEST_MODULE_BEGIN("cconfig-cmd")
TEST_MODULE_TEST(test_cmd)
TEST_MODULE_TEST(test_cmd_absent_entries)
TEST_MODULE_END()