diff options
Diffstat (limited to '')
| -rw-r--r-- | liblog_apply_env_mask.c | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/liblog_apply_env_mask.c b/liblog_apply_env_mask.c index 1fceae0..67cd2fb 100644 --- a/liblog_apply_env_mask.c +++ b/liblog_apply_env_mask.c @@ -7,7 +7,7 @@ liblog_apply_env_mask(struct liblog_context *ctx) { const char *env = getenv("LIBLOG_LOGMASK"); - if (*env || !*env) { + if (!env || !*env) { liblog_mask_verbose(ctx, NEXT_LOGLEVEL(LIBLOG_WARNING)); return; } @@ -17,6 +17,28 @@ liblog_apply_env_mask(struct liblog_context *ctx) #else -int main(void) {return 0;} /* TODO test */ +int +main(void) +{ + struct liblog_context ctx; + char nullmask[] = "LIBLOG_LOGMASK="; + char *nullenv[] = {NULL}; + char *nullmaskenv[] = {nullmask, NULL}; + unsigned defaultmask = ((1U << 9) - 1U) ^ ((1U << ((int)LIBLOG_WARNING / LOGLEVEL_DELTA + 1)) - 1U); + + environ = nullenv; + + ctx.logmask = 0; + liblog_apply_env_mask(&ctx); + ASSERT_EQ_UINT(ctx.logmask, defaultmask); + + environ = nullmaskenv; + + ctx.logmask = 0; + liblog_apply_env_mask(&ctx); + ASSERT_EQ_UINT(ctx.logmask, defaultmask); + + return 0; +} #endif |
