From fba45710a563c655b56379b86d8577fdd96a302a Mon Sep 17 00:00:00 2001 From: "Alfred E. Heggestad" Date: Sat, 9 Jan 2016 20:48:07 +0100 Subject: selftest: silent output, add optional verbose -v --- include/baresip.h | 1 + src/log.c | 14 ++++++++++++++ test/call.c | 2 -- test/cplusplus.cpp | 2 +- test/main.c | 50 ++++++++++++++++++++++++++++++++++++++++++-------- 5 files changed, 58 insertions(+), 11 deletions(-) diff --git a/include/baresip.h b/include/baresip.h index 2369915..d9d1013 100644 --- a/include/baresip.h +++ b/include/baresip.h @@ -405,6 +405,7 @@ struct log { void log_register_handler(struct log *log); void log_unregister_handler(struct log *log); void log_enable_debug(bool enable); +void log_enable_info(bool enable); void log_enable_stderr(bool enable); void vlog(enum log_level level, const char *fmt, va_list ap); void loglv(enum log_level level, const char *fmt, ...); diff --git a/src/log.c b/src/log.c index 793305e..666f963 100644 --- a/src/log.c +++ b/src/log.c @@ -11,10 +11,12 @@ static struct { struct list logl; bool debug; + bool info; bool stder; } lg = { LIST_INIT, false, + true, true }; @@ -43,6 +45,12 @@ void log_enable_debug(bool enable) } +void log_enable_info(bool enable) +{ + lg.info = enable; +} + + void log_enable_stderr(bool enable) { lg.stder = enable; @@ -90,6 +98,9 @@ void loglv(enum log_level level, const char *fmt, ...) if ((LEVEL_DEBUG == level) && !lg.debug) return; + if ((LEVEL_INFO == level) && !lg.info) + return; + va_start(ap, fmt); vlog(level, fmt, ap); va_end(ap); @@ -113,6 +124,9 @@ void info(const char *fmt, ...) { va_list ap; + if (!lg.info) + return; + va_start(ap, fmt); vlog(LEVEL_INFO, fmt, ap); va_end(ap); diff --git a/test/call.c b/test/call.c index dfb39dd..7ca1815 100644 --- a/test/call.c +++ b/test/call.c @@ -134,7 +134,6 @@ static void event_handler(struct ua *ua, enum ua_event ev, ++ag->n_established; if (ag->peer->n_established) { - re_printf("@@@ test complete\n"); re_cancel(); } break; @@ -146,7 +145,6 @@ static void event_handler(struct ua *ua, enum ua_event ev, ag->close_scode = call_scode(call); if (ag->peer->n_closed) { - re_printf("@@@ test complete\n"); re_cancel(); } break; diff --git a/test/cplusplus.cpp b/test/cplusplus.cpp index 7d2b208..e6ec89f 100644 --- a/test/cplusplus.cpp +++ b/test/cplusplus.cpp @@ -15,7 +15,7 @@ int test_cplusplus(void) int err = 0; ASSERT_TRUE(str_isset(version)); - re_printf("c++ ok\n"); + info("c++ ok\n"); out: return err; diff --git a/test/main.c b/test/main.c index 8215ed4..4fe93a0 100644 --- a/test/main.c +++ b/test/main.c @@ -3,6 +3,7 @@ * * Copyright (C) 2010 Creytiv.com */ +#include #include #include #include "test.h" @@ -29,17 +30,14 @@ static const struct test tests[] = { }; -static int run_tests(bool verbose) +static int run_tests(void) { size_t i; int err; for (i=0; i c) + break; + + switch (c) { + + case '?': + case 'h': + usage(); + return -2; + + case 'v': + log_enable_info(true); + break; + + default: + break; + } + } + + re_printf("running baresip selftest version %s with %zu tests\n", + BARESIP_VERSION, ARRAY_SIZE(tests)); /* note: run SIP-traffic on localhost */ config = conf_config(); @@ -77,7 +111,7 @@ int main(void) if (err) goto out; - err = run_tests(false); + err = run_tests(); if (err) goto out; -- cgit v1.2.1