24e02ef30ce6101c8823f34b20fa683e49a87666
[dpdk.git] / test / test / test_logs.c
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2010-2014 Intel Corporation
3  */
4
5 #include <stdio.h>
6 #include <stdint.h>
7 #include <stdarg.h>
8 #include <sys/queue.h>
9
10 #include <rte_log.h>
11 #include <rte_memory.h>
12 #include <rte_launch.h>
13 #include <rte_eal.h>
14 #include <rte_per_lcore.h>
15 #include <rte_lcore.h>
16
17 #include "test.h"
18
19 #define RTE_LOGTYPE_TESTAPP1 RTE_LOGTYPE_USER1
20 #define RTE_LOGTYPE_TESTAPP2 RTE_LOGTYPE_USER2
21
22 /*
23  * Logs
24  * ====
25  *
26  * - Enable log types.
27  * - Set log level.
28  * - Send logs with different types and levels, some should not be displayed.
29  */
30
31 static int
32 test_logs(void)
33 {
34         /* set logtype level low to so we can test global level */
35         rte_log_set_level(RTE_LOGTYPE_TESTAPP1, RTE_LOG_DEBUG);
36         rte_log_set_level(RTE_LOGTYPE_TESTAPP2, RTE_LOG_DEBUG);
37
38         /* log in error level */
39         rte_log_set_global_level(RTE_LOG_ERR);
40         RTE_LOG(ERR, TESTAPP1, "error message\n");
41         RTE_LOG(CRIT, TESTAPP1, "critical message\n");
42
43         /* log in critical level */
44         rte_log_set_global_level(RTE_LOG_CRIT);
45         RTE_LOG(ERR, TESTAPP2, "error message (not displayed)\n");
46         RTE_LOG(CRIT, TESTAPP2, "critical message\n");
47
48         /* bump up single log type level above global to test it */
49         rte_log_set_level(RTE_LOGTYPE_TESTAPP2, RTE_LOG_EMERG);
50
51         /* log in error level */
52         rte_log_set_global_level(RTE_LOG_ERR);
53         RTE_LOG(ERR, TESTAPP1, "error message\n");
54         RTE_LOG(ERR, TESTAPP2, "error message (not displayed)\n");
55
56         return 0;
57 }
58
59 REGISTER_TEST_COMMAND(logs_autotest, test_logs);