test/logging_tests.c

Fri, 08 Feb 2013 10:37:24 +0100

author
Mike Becker <universe@uap-core.de>
date
Fri, 08 Feb 2013 10:37:24 +0100
changeset 81
86a23238d8a1
parent 80
0125e4089f88
child 95
ecfdc1c4a552
permissions
-rw-r--r--

changed logger to behave more like printf + added possibility to specify write function

     1 /*
     2  *
     3  */
     5 #include "logging_tests.h"
     7 UCX_TEST_IMPLEMENT(test_ucx_logger_log) {
     8     char buffer[100];
     9     FILE *stream = tmpfile();
    11     UcxLogger *logger = ucx_logger_new(stream,
    12             UCX_LOGGER_INFO, UCX_LOGGER_SOURCE | UCX_LOGGER_LEVEL);
    14     UCX_TEST_BEGIN
    15     ucx_logger_info(logger, "allright");
    16     ucx_logger_trace(logger, "dont log this!");
    17     ucx_logger_error(logger, "error %d!", 42);
    18     fseek(stream, 0, SEEK_SET);
    19     int r = fread(buffer, 1, 100, stream);
    21     size_t expected_length = 76;
    22     UCX_TEST_ASSERT(r == expected_length && strncmp(buffer,
    23             "[INFO] logging_tests.c:15 - allright\n"
    24             "[ERROR] logging_tests.c:17 - error 42!\n", expected_length) == 0, "incorrect logs");
    26     UCX_TEST_END
    28     ucx_logger_free(logger);
    29     fclose(stream);
    30 }

mercurial