summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/logging/logging_test.c19
-rw-r--r--tests/logging/logging_test.err1
2 files changed, 19 insertions, 1 deletions
diff --git a/tests/logging/logging_test.c b/tests/logging/logging_test.c
index b263f905..3d1b7d87 100644
--- a/tests/logging/logging_test.c
+++ b/tests/logging/logging_test.c
@@ -30,6 +30,7 @@ enum {
};
static int filter_called = 0;
+static int select_output = 0;
static const struct log_info_cat default_categories[] = {
[DRLL] = {
@@ -56,7 +57,7 @@ static int test_filter(const struct log_context *ctx, struct log_target *target)
{
filter_called += 1;
/* omit everything */
- return 0;
+ return select_output;
}
const struct log_info log_info = {
@@ -77,17 +78,33 @@ int main(int argc, char **argv)
log_parse_category_mask(stderr_target, "DRLL:DCC");
log_parse_category_mask(stderr_target, "DRLL");
+
+ select_output = 0;
+
DEBUGP(DCC, "You should not see this\n");
+ if (log_check_level(DMM, LOGL_DEBUG) != 0)
+ fprintf(stderr, "log_check_level did not catch this case\n");
log_parse_category_mask(stderr_target, "DRLL:DCC");
DEBUGP(DRLL, "You should see this\n");
+ OSMO_ASSERT(log_check_level(DRLL, LOGL_DEBUG) != 0);
DEBUGP(DCC, "You should see this\n");
+ OSMO_ASSERT(log_check_level(DCC, LOGL_DEBUG) != 0);
DEBUGP(DMM, "You should not see this\n");
+
+ OSMO_ASSERT(log_check_level(DMM, LOGL_DEBUG) == 0);
OSMO_ASSERT(filter_called == 0);
log_set_all_filter(stderr_target, 0);
DEBUGP(DRLL, "You should not see this and filter is called\n");
OSMO_ASSERT(filter_called == 1);
+ OSMO_ASSERT(log_check_level(DRLL, LOGL_DEBUG) == 0);
+ OSMO_ASSERT(filter_called == 2);
+ DEBUGP(DRLL, "You should not see this\n");
+ OSMO_ASSERT(filter_called == 3);
+ select_output = 1;
+ DEBUGP(DRLL, "You should see this\n");
+ OSMO_ASSERT(filter_called == 5); /* called twice on output */
return 0;
}
diff --git a/tests/logging/logging_test.err b/tests/logging/logging_test.err
index b59d2e83..4891491b 100644
--- a/tests/logging/logging_test.err
+++ b/tests/logging/logging_test.err
@@ -1,3 +1,4 @@
You should see this
You should see this
+You should see this
 \ No newline at end of file