unit-tests: Allow configuring log levels for individual groups
This commit is contained in:
@@ -300,17 +300,33 @@ METHOD(exchange_test_helper_t, add_listener, void,
|
|||||||
*/
|
*/
|
||||||
static void initialize_logging()
|
static void initialize_logging()
|
||||||
{
|
{
|
||||||
int level = LEVEL_SILENT;
|
char buf[BUF_LEN], *verbosity;
|
||||||
char *verbosity;
|
level_t level;
|
||||||
|
debug_t group;
|
||||||
|
|
||||||
|
lib->settings->set_default_str(lib->settings, "%s.filelog.stderr.default",
|
||||||
|
"-1", lib->ns);
|
||||||
|
|
||||||
verbosity = getenv("TESTS_VERBOSITY");
|
verbosity = getenv("TESTS_VERBOSITY");
|
||||||
if (verbosity)
|
if (verbosity)
|
||||||
{
|
{
|
||||||
level = atoi(verbosity);
|
level = atoi(verbosity);
|
||||||
|
lib->settings->set_int(lib->settings, "%s.filelog.stderr.default",
|
||||||
|
level, lib->ns);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (group = 0; group < DBG_MAX; group++)
|
||||||
|
{
|
||||||
|
snprintf(buf, sizeof(buf), "TESTS_VERBOSITY_%s",
|
||||||
|
enum_to_name(debug_names, group));
|
||||||
|
verbosity = getenv(buf);
|
||||||
|
if (verbosity)
|
||||||
|
{
|
||||||
|
level = atoi(verbosity);
|
||||||
|
lib->settings->set_int(lib->settings, "%s.filelog.stderr.%N",
|
||||||
|
level, lib->ns, debug_lower_names, group);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
lib->settings->set_int(lib->settings, "%s.filelog.stderr.default",
|
|
||||||
lib->settings->get_int(lib->settings, "%s.filelog.stderr.default",
|
|
||||||
level, lib->ns), lib->ns);
|
|
||||||
lib->settings->set_bool(lib->settings, "%s.filelog.stderr.ike_name", TRUE,
|
lib->settings->set_bool(lib->settings, "%s.filelog.stderr.ike_name", TRUE,
|
||||||
lib->ns);
|
lib->ns);
|
||||||
charon->load_loggers(charon);
|
charon->load_loggers(charon);
|
||||||
|
|||||||
@@ -735,6 +735,30 @@ static bool run_suite(test_suite_t *suite, test_runner_init_t init, char *cfg,
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Configure log levels for specific groups
|
||||||
|
*/
|
||||||
|
static void setup_log_levels(level_t *base)
|
||||||
|
{
|
||||||
|
char buf[BUF_LEN], *verbosity;
|
||||||
|
debug_t group;
|
||||||
|
level_t level;
|
||||||
|
|
||||||
|
for (group = 0; group < DBG_MAX; group++)
|
||||||
|
{
|
||||||
|
snprintf(buf, sizeof(buf), "TESTS_VERBOSITY_%s",
|
||||||
|
enum_to_name(debug_names, group));
|
||||||
|
|
||||||
|
verbosity = getenv(buf);
|
||||||
|
if (verbosity)
|
||||||
|
{
|
||||||
|
level = atoi(verbosity);
|
||||||
|
dbg_default_set_level_group(group, level);
|
||||||
|
*base = max(*base, level);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* See header.
|
* See header.
|
||||||
*/
|
*/
|
||||||
@@ -772,6 +796,8 @@ int test_runner_run(const char *name, test_configuration_t configs[],
|
|||||||
}
|
}
|
||||||
dbg_default_set_level(level);
|
dbg_default_set_level(level);
|
||||||
|
|
||||||
|
setup_log_levels(&level);
|
||||||
|
|
||||||
fprintf(stderr, "Running %u '%s' test suites:\n", array_count(suites), name);
|
fprintf(stderr, "Running %u '%s' test suites:\n", array_count(suites), name);
|
||||||
|
|
||||||
enumerator = array_create_enumerator(suites);
|
enumerator = array_create_enumerator(suites);
|
||||||
|
|||||||
Reference in New Issue
Block a user