1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright (c) Intel Corporation. 3 * All rights reserved. 4 */ 5 6 #include "spdk/stdinc.h" 7 8 #include "spdk_cunit.h" 9 #include "spdk/log.h" 10 11 #include "log/log.c" 12 #include "log/log_flags.c" 13 14 static void 15 log_test(void) 16 { 17 spdk_log_set_level(SPDK_LOG_ERROR); 18 CU_ASSERT_EQUAL(spdk_log_get_level(), SPDK_LOG_ERROR); 19 spdk_log_set_level(SPDK_LOG_WARN); 20 CU_ASSERT_EQUAL(spdk_log_get_level(), SPDK_LOG_WARN); 21 spdk_log_set_level(SPDK_LOG_NOTICE); 22 CU_ASSERT_EQUAL(spdk_log_get_level(), SPDK_LOG_NOTICE); 23 spdk_log_set_level(SPDK_LOG_INFO); 24 CU_ASSERT_EQUAL(spdk_log_get_level(), SPDK_LOG_INFO); 25 spdk_log_set_level(SPDK_LOG_DEBUG); 26 CU_ASSERT_EQUAL(spdk_log_get_level(), SPDK_LOG_DEBUG); 27 28 spdk_log_set_print_level(SPDK_LOG_ERROR); 29 CU_ASSERT_EQUAL(spdk_log_get_print_level(), SPDK_LOG_ERROR); 30 spdk_log_set_print_level(SPDK_LOG_WARN); 31 CU_ASSERT_EQUAL(spdk_log_get_print_level(), SPDK_LOG_WARN); 32 spdk_log_set_print_level(SPDK_LOG_NOTICE); 33 CU_ASSERT_EQUAL(spdk_log_get_print_level(), SPDK_LOG_NOTICE); 34 spdk_log_set_print_level(SPDK_LOG_INFO); 35 CU_ASSERT_EQUAL(spdk_log_get_print_level(), SPDK_LOG_INFO); 36 spdk_log_set_print_level(SPDK_LOG_DEBUG); 37 CU_ASSERT_EQUAL(spdk_log_get_print_level(), SPDK_LOG_DEBUG); 38 39 #ifdef DEBUG 40 CU_ASSERT(spdk_log_get_flag("LOG") == false); 41 42 spdk_log_set_flag("log"); 43 CU_ASSERT(spdk_log_get_flag("LOG") == true); 44 45 spdk_log_clear_flag("LOG"); 46 CU_ASSERT(spdk_log_get_flag("LOG") == false); 47 #endif 48 49 spdk_log_open(NULL); 50 spdk_log_set_flag("log"); 51 SPDK_WARNLOG("log warning unit test\n"); 52 SPDK_DEBUGLOG(log, "log test\n"); 53 SPDK_LOGDUMP(log, "log dump test:", "log dump", 8); 54 spdk_log_dump(stderr, "spdk dump test:", "spdk dump", 9); 55 /* Test spdk_log_dump with more than 16 chars and less than 32 chars */ 56 spdk_log_dump(stderr, "spdk dump test:", "spdk dump 16 more chars", 23); 57 58 spdk_log_close(); 59 } 60 61 int 62 main(int argc, char **argv) 63 { 64 CU_pSuite suite = NULL; 65 unsigned int num_failures; 66 67 CU_set_error_action(CUEA_ABORT); 68 CU_initialize_registry(); 69 70 suite = CU_add_suite("log", NULL, NULL); 71 72 CU_ADD_TEST(suite, log_test); 73 74 CU_basic_set_mode(CU_BRM_VERBOSE); 75 CU_basic_run_tests(); 76 num_failures = CU_get_number_of_failures(); 77 CU_cleanup_registry(); 78 return num_failures; 79 } 80