From e6918187568dbd01842d8d1d2c808ce16a894239 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 21 Apr 2024 13:54:28 +0200 Subject: Adding upstream version 18.2.2. Signed-off-by: Daniel Baumann --- src/spdk/dpdk/app/test/test_logs.c | 109 +++++++++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 src/spdk/dpdk/app/test/test_logs.c (limited to 'src/spdk/dpdk/app/test/test_logs.c') diff --git a/src/spdk/dpdk/app/test/test_logs.c b/src/spdk/dpdk/app/test/test_logs.c new file mode 100644 index 000000000..425ae03cb --- /dev/null +++ b/src/spdk/dpdk/app/test/test_logs.c @@ -0,0 +1,109 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright(c) 2010-2014 Intel Corporation + */ + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include "test.h" + +/* for legacy log test */ +#define RTE_LOGTYPE_TESTAPP1 RTE_LOGTYPE_USER1 +#define RTE_LOGTYPE_TESTAPP2 RTE_LOGTYPE_USER2 + +/* + * Logs + * ==== + * + * - Enable log types. + * - Set log level. + * - Send logs with different types and levels, some should not be displayed. + */ +static int +test_legacy_logs(void) +{ + printf("== static log types\n"); + + /* set logtype level low to so we can test global level */ + rte_log_set_level(RTE_LOGTYPE_TESTAPP1, RTE_LOG_DEBUG); + rte_log_set_level(RTE_LOGTYPE_TESTAPP2, RTE_LOG_DEBUG); + + /* log in error level */ + rte_log_set_global_level(RTE_LOG_ERR); + RTE_LOG(ERR, TESTAPP1, "error message\n"); + RTE_LOG(CRIT, TESTAPP1, "critical message\n"); + + /* log in critical level */ + rte_log_set_global_level(RTE_LOG_CRIT); + RTE_LOG(ERR, TESTAPP2, "error message (not displayed)\n"); + RTE_LOG(CRIT, TESTAPP2, "critical message\n"); + + /* bump up single log type level above global to test it */ + rte_log_set_level(RTE_LOGTYPE_TESTAPP2, RTE_LOG_EMERG); + + /* log in error level */ + rte_log_set_global_level(RTE_LOG_ERR); + RTE_LOG(ERR, TESTAPP1, "error message\n"); + RTE_LOG(ERR, TESTAPP2, "error message (not displayed)\n"); + + return 0; +} + +static int +test_logs(void) +{ + int logtype1, logtype2; + int ret; + + printf("== dynamic log types\n"); + + logtype1 = rte_log_register("logtype1"); + if (logtype1 < 0) { + printf("Cannot register logtype1\n"); + return -1; + } + logtype2 = rte_log_register("logtype2"); + if (logtype2 < 0) { + printf("Cannot register logtype2\n"); + return -1; + } + + /* set logtype level low to so we can test global level */ + rte_log_set_level(logtype1, RTE_LOG_DEBUG); + rte_log_set_level(logtype2, RTE_LOG_DEBUG); + + /* log in error level */ + rte_log_set_global_level(RTE_LOG_ERR); + rte_log(RTE_LOG_ERR, logtype1, "error message\n"); + rte_log(RTE_LOG_CRIT, logtype1, "critical message\n"); + + /* log in critical level */ + rte_log_set_global_level(RTE_LOG_CRIT); + rte_log(RTE_LOG_ERR, logtype2, "error message (not displayed)\n"); + rte_log(RTE_LOG_CRIT, logtype2, "critical message\n"); + + /* bump up single log type level above global to test it */ + rte_log_set_level(logtype2, RTE_LOG_EMERG); + + /* log in error level */ + rte_log_set_global_level(RTE_LOG_ERR); + rte_log(RTE_LOG_ERR, logtype1, "error message\n"); + rte_log(RTE_LOG_ERR, logtype2, "error message (not displayed)\n"); + + ret = test_legacy_logs(); + if (ret < 0) + return ret; + + return 0; +} + +REGISTER_TEST_COMMAND(logs_autotest, test_logs); -- cgit v1.2.3