commit b5468b0a5a271f1e63ca19a4fe47dadaf60913ff
parent 32c6997383c67b517e3073b95423af137d25ee1e
Author: vaplv <vaplv@free.fr>
Date: Mon, 8 Dec 2014 13:57:23 +0100
Add and test the logger_has_stream function
Diffstat:
2 files changed, 20 insertions(+), 0 deletions(-)
diff --git a/src/logger.h b/src/logger.h
@@ -82,6 +82,15 @@ logger_set_stream
logger->streams[type].ctx = ctx;
}
+static FINLINE char
+logger_has_stream
+ (struct logger* logger,
+ const enum log_type type)
+{
+ ASSERT(logger && (unsigned)type < LOG_TYPES_COUNT__);
+ return logger->streams[type].writer != NULL;
+}
+
BEGIN_DECLS
RSYS_API res_T
diff --git a/src/test_logger.c b/src/test_logger.c
@@ -69,7 +69,12 @@ main(int argc, char** argv)
CHECK(istream_err, 0);
CHECK(istream_warn, 0);
+ CHECK(logger_has_stream(&logger, LOG_OUTPUT), 0);
+ CHECK(logger_has_stream(&logger, LOG_ERROR), 0);
+ CHECK(logger_has_stream(&logger, LOG_WARNING), 0);
+
logger_set_stream(&logger, LOG_OUTPUT, func_stream_out, &istream_out);
+ CHECK(logger_has_stream(&logger, LOG_OUTPUT), 1);
logger_print(&logger, LOG_OUTPUT, "output");
CHECK(istream_out, 1);
CHECK(istream_err, 0);
@@ -77,6 +82,9 @@ main(int argc, char** argv)
logger_set_stream(&logger, LOG_ERROR, func_stream_err, &istream_err);
logger_set_stream(&logger, LOG_WARNING, func_stream_warn, &istream_warn);
+ CHECK(logger_has_stream(&logger, LOG_OUTPUT), 1);
+ CHECK(logger_has_stream(&logger, LOG_ERROR), 1);
+ CHECK(logger_has_stream(&logger, LOG_WARNING), 1);
logger_print(&logger, LOG_OUTPUT, "output");
CHECK(istream_out, 2);
CHECK(istream_err, 0);
@@ -116,6 +124,9 @@ main(int argc, char** argv)
CHECK(istream_warn, 2);
logger_clear(&logger);
+ CHECK(logger_has_stream(&logger, LOG_OUTPUT), 0);
+ CHECK(logger_has_stream(&logger, LOG_ERROR), 0);
+ CHECK(logger_has_stream(&logger, LOG_WARNING), 0);
istream_out = istream_err = istream_warn = 0;
logger_set_stream(&logger, LOG_OUTPUT, func_stream_out, &istream_out);