test/logging_tests.c

Thu, 28 Feb 2013 08:50:24 +0100

author
Mike Becker <universe@uap-core.de>
date
Thu, 28 Feb 2013 08:50:24 +0100
changeset 103
08018864fb91
parent 95
ecfdc1c4a552
child 105
f08fa6308d1f
permissions
-rw-r--r--

added license and copyright notice to all files

universe@54 1 /*
universe@103 2 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
universe@54 3 *
universe@103 4 * Copyright 2013 Olaf Wintermann. All rights reserved.
universe@103 5 *
universe@103 6 * Redistribution and use in source and binary forms, with or without
universe@103 7 * modification, are permitted provided that the following conditions are met:
universe@103 8 *
universe@103 9 * 1. Redistributions of source code must retain the above copyright
universe@103 10 * notice, this list of conditions and the following disclaimer.
universe@103 11 *
universe@103 12 * 2. Redistributions in binary form must reproduce the above copyright
universe@103 13 * notice, this list of conditions and the following disclaimer in the
universe@103 14 * documentation and/or other materials provided with the distribution.
universe@103 15 *
universe@103 16 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
universe@103 17 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
universe@103 18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
universe@103 19 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
universe@103 20 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
universe@103 21 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
universe@103 22 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
universe@103 23 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
universe@103 24 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
universe@103 25 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
universe@103 26 * POSSIBILITY OF SUCH DAMAGE.
universe@54 27 */
universe@54 28
universe@54 29 #include "logging_tests.h"
universe@54 30
universe@54 31 UCX_TEST_IMPLEMENT(test_ucx_logger_log) {
universe@54 32 char buffer[100];
universe@55 33 FILE *stream = tmpfile();
universe@55 34
universe@80 35 UcxLogger *logger = ucx_logger_new(stream,
universe@80 36 UCX_LOGGER_INFO, UCX_LOGGER_SOURCE | UCX_LOGGER_LEVEL);
universe@54 37
universe@54 38 UCX_TEST_BEGIN
universe@81 39 ucx_logger_info(logger, "allright");
universe@81 40 ucx_logger_trace(logger, "dont log this!");
universe@81 41 ucx_logger_error(logger, "error %d!", 42);
universe@54 42 fseek(stream, 0, SEEK_SET);
universe@95 43 size_t r = fread(buffer, 1, 100, stream);
universe@80 44
universe@81 45 size_t expected_length = 76;
universe@80 46 UCX_TEST_ASSERT(r == expected_length && strncmp(buffer,
universe@80 47 "[INFO] logging_tests.c:15 - allright\n"
universe@81 48 "[ERROR] logging_tests.c:17 - error 42!\n", expected_length) == 0, "incorrect logs");
universe@54 49
universe@54 50 UCX_TEST_END
universe@54 51
universe@80 52 ucx_logger_free(logger);
universe@54 53 fclose(stream);
universe@54 54 }

mercurial