URL: https://github.com/SSSD/sssd/pull/226
Title: #226: Config check regex

lslebodn commented:
"""
Actually, it would not be complicated to write unit test either.
```C
struct sss_ini_initdata {
    char **error_list;
    struct ref_array *ra_success_list;
    struct ref_array *ra_error_list;
    struct ini_cfgobj *sssd_config;
    struct value_obj *obj;
    const struct stat *cstat;
    struct ini_cfgfile *file;
};

#include "util/sss_ini.h"
#include <ini_configobj.h>

static void test_config_validation(void **state)
{
    int ret;
    size_t num_errors;
    char **strs = NULL;

    struct sss_ini_initdata *ini_data = sss_ini_initdata_init(NULL);
    assert_non_null(ini_data);

    char config[] = "[domain/tesst_~^domain]\n";
    ret = ini_config_file_from_mem(config,
                                   sizeof(config),
                                   &ini_data->file);

    assert_int_equal(ret, EOK);

    ret = ini_config_create(&(ini_data->sssd_config));
    assert_int_equal(ret, EOK);

    ret = ini_config_parse(ini_data->file,
                           INI_STOP_ON_ANY,
                           INI_MV1S_OVERWRITE,
                           INI_PARSE_NOWRAP,
                           ini_data->sssd_config);
    assert_int_equal(ret, EOK);

    char *rules_path = talloc_asprintf(NULL, "%s/src/config/cfg_rules.ini",
                                       getenv("ABS_TOP_SRCDIR"));
    assert_non_null(rules_path);

    ret = sss_ini_call_validators_strs(NULL, ini_data, rules_path,
                                       &strs, &num_errors);
    assert_int_equal(ret, EOK);
    assert_int_equal(num_errors, 0);
}
```

Just use `#ifdef HAVE_LIBINI_CONFIG_V1_3`. Unit tests are usually more faster 
:-)
"""

See the full comment at 
https://github.com/SSSD/sssd/pull/226#issuecomment-293557171
_______________________________________________
sssd-devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to