X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;ds=sidebyside;f=test%2Ftest%2Ftest_logs.c;h=425ae03cb98ca87459e3c492953de209a52e95a0;hb=6b062d56bcff9a393809f46e0aae19a18bc0fe57;hp=24e02ef30ce6101c8823f34b20fa683e49a87666;hpb=e2887d5f5796d648af79a77cda62bff7e8bf4249;p=dpdk.git diff --git a/test/test/test_logs.c b/test/test/test_logs.c index 24e02ef30c..425ae03cb9 100644 --- a/test/test/test_logs.c +++ b/test/test/test_logs.c @@ -16,6 +16,7 @@ #include "test.h" +/* for legacy log test */ #define RTE_LOGTYPE_TESTAPP1 RTE_LOGTYPE_USER1 #define RTE_LOGTYPE_TESTAPP2 RTE_LOGTYPE_USER2 @@ -27,10 +28,11 @@ * - Set log level. * - Send logs with different types and levels, some should not be displayed. */ - static int -test_logs(void) +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); @@ -56,4 +58,52 @@ test_logs(void) 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);