1 /* Copyright (c) 2023 Nordic Semiconductor ASA
2  * SPDX-License-Identifier: Apache-2.0
3  */
4 
5 #ifndef ZEPHYR_TESTS_BLUETOOTH_COMMON_TESTLIB_INCLUDE_TESTLIB_LOG_UTILS_H_
6 #define ZEPHYR_TESTS_BLUETOOTH_COMMON_TESTLIB_INCLUDE_TESTLIB_LOG_UTILS_H_
7 
8 #include <stddef.h>
9 #include <stdint.h>
10 #include <zephyr/autoconf.h>
11 #include <zephyr/logging/log_core.h>
12 #include <zephyr/logging/log_ctrl.h>
13 #include <zephyr/sys/__assert.h>
14 #include <zephyr/sys/util_macro.h>
15 
bt_testlib_log_level_set(char * module,uint32_t new_level)16 static inline void bt_testlib_log_level_set(char *module, uint32_t new_level)
17 {
18 	int source_id;
19 	uint32_t result_level;
20 
21 	__ASSERT_NO_MSG(IS_ENABLED(CONFIG_LOG_RUNTIME_FILTERING));
22 
23 	source_id = log_source_id_get(module);
24 	__ASSERT(source_id >= 0, "%d", source_id);
25 
26 	result_level = log_filter_set(NULL, Z_LOG_LOCAL_DOMAIN_ID, source_id, new_level);
27 	__ASSERT(result_level == new_level, "%u %u", result_level, new_level);
28 }
29 
bt_testlib_log_level_set_all(uint32_t new_level)30 static inline void bt_testlib_log_level_set_all(uint32_t new_level)
31 {
32 	uint32_t source_count;
33 
34 	__ASSERT_NO_MSG(IS_ENABLED(CONFIG_LOG_RUNTIME_FILTERING));
35 
36 	source_count = log_src_cnt_get(Z_LOG_LOCAL_DOMAIN_ID);
37 
38 	for (uint32_t source_id = 0; source_id < source_count; source_id++) {
39 		uint32_t result_level;
40 
41 		result_level = log_filter_set(NULL, Z_LOG_LOCAL_DOMAIN_ID, source_id, new_level);
42 		__ASSERT(result_level == new_level, "%u %u", result_level, new_level);
43 	}
44 }
45 
46 #endif /* ZEPHYR_TESTS_BLUETOOTH_COMMON_TESTLIB_INCLUDE_TESTLIB_LOG_UTILS_H_ */
47