tests: logging/log_api: add a few bits for tagged arguments
This adds a few bits to support testing for runtime tagged arguments when CONFIG_LOG2_RUNTIME_USE_TAGGED_ARGUMENTS is enabled. Signed-off-by: Daniel Leung <daniel.leung@intel.com>
This commit is contained in:
parent
de4f21c75b
commit
8f97e25645
2 changed files with 256 additions and 2 deletions
|
@ -22,9 +22,17 @@
|
|||
|
||||
LOG_MODULE_REGISTER(test, CONFIG_SAMPLE_MODULE_LOG_LEVEL);
|
||||
|
||||
#ifdef CONFIG_LOG2_USE_TAGGED_ARGUMENTS
|
||||
/* The extra sizeof(int) is the end of arguments tag. */
|
||||
#define LOG2_SIMPLE_MSG_LEN \
|
||||
ROUND_UP(sizeof(struct log_msg2_hdr) + \
|
||||
sizeof(struct cbprintf_package_hdr_ext) + \
|
||||
sizeof(int), sizeof(long long))
|
||||
#else
|
||||
#define LOG2_SIMPLE_MSG_LEN \
|
||||
ROUND_UP(sizeof(struct log_msg2_hdr) + \
|
||||
sizeof(struct cbprintf_package_hdr_ext), sizeof(long long))
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_LOG_TIMESTAMP_64BIT
|
||||
#define TIMESTAMP_INIT_VAL 0x100000000
|
||||
|
@ -375,12 +383,27 @@ static size_t get_max_hexdump(void)
|
|||
static size_t get_long_hexdump(void)
|
||||
{
|
||||
if (IS_ENABLED(CONFIG_LOG2)) {
|
||||
size_t extra_msg_sz = 0;
|
||||
size_t extra_hexdump_sz = 0;
|
||||
|
||||
if (IS_ENABLED(CONFIG_LOG2_USE_TAGGED_ARGUMENTS)) {
|
||||
/* First message with 2 arguments => 2 tags */
|
||||
extra_msg_sz = 2 * sizeof(int);
|
||||
|
||||
/*
|
||||
* Hexdump with an implicit "%s" and the "hexdump" string
|
||||
* as argument => 1 tag.
|
||||
*/
|
||||
extra_hexdump_sz = sizeof(int);
|
||||
}
|
||||
|
||||
return CONFIG_LOG_BUFFER_SIZE -
|
||||
/* First message */
|
||||
ROUND_UP(LOG2_SIMPLE_MSG_LEN + 2 * sizeof(int) + STR_SIZE("test %d %d"),
|
||||
ROUND_UP(LOG2_SIMPLE_MSG_LEN + 2 * sizeof(int) + STR_SIZE("test %d %d") +
|
||||
extra_msg_sz,
|
||||
sizeof(long long)) -
|
||||
/* Hexdump message excluding data */
|
||||
ROUND_UP(LOG2_SIMPLE_MSG_LEN + STR_SIZE("hexdump"),
|
||||
ROUND_UP(LOG2_SIMPLE_MSG_LEN + STR_SIZE("hexdump") + extra_hexdump_sz,
|
||||
sizeof(long long)) - 2 * sizeof(int);
|
||||
}
|
||||
|
||||
|
|
|
@ -464,3 +464,234 @@ tests:
|
|||
- CONFIG_LOG_BACKEND_XTENSA_SIM=n
|
||||
- CONFIG_CPLUSPLUS=y
|
||||
extra_args: EXTRA_CPPFLAGS=-DNO_BACKENDS=1
|
||||
|
||||
logging.log2_api_deferred_overflow_rt_filter.tagged_args:
|
||||
# FIXME:see #38041
|
||||
platform_exclude: qemu_arc_hs6x
|
||||
extra_configs:
|
||||
- CONFIG_LOG_MODE_DEFERRED=y
|
||||
- CONFIG_LOG_MODE_OVERFLOW=y
|
||||
- CONFIG_LOG_RUNTIME_FILTERING=y
|
||||
- CONFIG_LOG2_USE_TAGGED_ARGUMENTS=y
|
||||
|
||||
logging.log2_api_deferred_overflow.tagged_args:
|
||||
# FIXME:see #38041
|
||||
platform_exclude: qemu_arc_hs6x
|
||||
extra_configs:
|
||||
- CONFIG_LOG_MODE_DEFERRED=y
|
||||
- CONFIG_LOG_MODE_OVERFLOW=y
|
||||
- CONFIG_LOG2_USE_TAGGED_ARGUMENTS=y
|
||||
|
||||
logging.log2_api_deferred_no_overflow.tagged_args:
|
||||
# FIXME:see #38041
|
||||
platform_exclude: qemu_arc_hs6x
|
||||
extra_configs:
|
||||
- CONFIG_LOG_MODE_DEFERRED=y
|
||||
- CONFIG_LOG_MODE_OVERFLOW=n
|
||||
- CONFIG_LOG2_USE_TAGGED_ARGUMENTS=y
|
||||
|
||||
logging.log2_api_deferred_static_filter.tagged_args:
|
||||
# FIXME:see #38041
|
||||
platform_exclude: qemu_arc_hs6x
|
||||
extra_configs:
|
||||
- CONFIG_LOG_MODE_DEFERRED=y
|
||||
- CONFIG_SAMPLE_MODULE_LOG_LEVEL_DBG=y
|
||||
- CONFIG_LOG2_USE_TAGGED_ARGUMENTS=y
|
||||
|
||||
logging.log2_api_deferred_printk.tagged_args:
|
||||
# FIXME:see #38041
|
||||
platform_exclude: qemu_arc_hs6x
|
||||
extra_configs:
|
||||
- CONFIG_LOG_MODE_DEFERRED=y
|
||||
- CONFIG_SAMPLE_MODULE_LOG_LEVEL_DBG=y
|
||||
- CONFIG_LOG_PRINTK=y
|
||||
#When LOG_PRINTK is enabled, thread must process otherwise test output would be lost.
|
||||
- CONFIG_LOG_PROCESS_THREAD=y
|
||||
- CONFIG_LOG2_USE_TAGGED_ARGUMENTS=y
|
||||
|
||||
logging.log2_api_deferred_func_prefix.tagged_args:
|
||||
# FIXME:see #38041
|
||||
platform_exclude: qemu_arc_hs6x
|
||||
extra_configs:
|
||||
- CONFIG_LOG_MODE_DEFERRED=y
|
||||
- CONFIG_SAMPLE_MODULE_LOG_LEVEL_DBG=y
|
||||
- CONFIG_LOG_FUNC_NAME_PREFIX_DBG=y
|
||||
- CONFIG_LOG2_USE_TAGGED_ARGUMENTS=y
|
||||
|
||||
logging.log2_api_deferred_64b_timestamp.tagged_args:
|
||||
# FIXME:see #38041
|
||||
platform_exclude: qemu_arc_hs6x
|
||||
extra_configs:
|
||||
- CONFIG_LOG_MODE_DEFERRED=y
|
||||
- CONFIG_LOG_TIMESTAMP_64BIT=y
|
||||
- CONFIG_LOG2_USE_TAGGED_ARGUMENTS=y
|
||||
|
||||
logging.log2_api_deferred_override_level.tagged_args:
|
||||
# Testing on selected platforms as it enables all logs in the application
|
||||
# and it cannot be handled on many platforms.
|
||||
platform_allow: qemu_cortex_m3 qemu_cortex_a9
|
||||
extra_configs:
|
||||
- CONFIG_LOG_MODE_DEFERRED=y
|
||||
- CONFIG_LOG_OVERRIDE_LEVEL=4
|
||||
- CONFIG_LOG2_USE_TAGGED_ARGUMENTS=y
|
||||
|
||||
logging.log2_api_deferred_override_level_rt_filtering.tagged_args:
|
||||
# Testing on selected platforms as it enables all logs in the application
|
||||
# and it cannot be handled on many platforms.
|
||||
platform_allow: qemu_cortex_m3 qemu_cortex_a9
|
||||
extra_configs:
|
||||
- CONFIG_LOG_MODE_DEFERRED=y
|
||||
- CONFIG_LOG_RUNTIME_FILTERING=y
|
||||
- CONFIG_LOG_OVERRIDE_LEVEL=4
|
||||
- CONFIG_LOG2_USE_TAGGED_ARGUMENTS=y
|
||||
|
||||
logging.log2_api_immediate.tagged_args:
|
||||
# FIXME: qemu_arc_hs6x excluded, see #38041
|
||||
platform_exclude: qemu_arc_hs6x
|
||||
extra_configs:
|
||||
- CONFIG_LOG_MODE_IMMEDIATE=y
|
||||
- CONFIG_LOG2_USE_TAGGED_ARGUMENTS=y
|
||||
|
||||
logging.log2_api_immediate_printk.tagged_args:
|
||||
# FIXME: qemu_arc_hs6x excluded, see #38041
|
||||
platform_exclude: qemu_arc_hs6x
|
||||
extra_configs:
|
||||
- CONFIG_LOG_MODE_IMMEDIATE=y
|
||||
- CONFIG_LOG_PRINTK=y
|
||||
- CONFIG_LOG2_USE_TAGGED_ARGUMENTS=y
|
||||
|
||||
logging.log2_api_immediate_rt_filter.tagged_args:
|
||||
# FIXME: qemu_arc_hs6x excluded, see #38041
|
||||
platform_exclude: qemu_arc_hs6x
|
||||
extra_configs:
|
||||
- CONFIG_LOG_MODE_IMMEDIATE=y
|
||||
- CONFIG_LOG_RUNTIME_FILTERING=y
|
||||
- CONFIG_LOG2_USE_TAGGED_ARGUMENTS=y
|
||||
|
||||
logging.log2_api_immediate_static_filter.tagged_args:
|
||||
# FIXME: qemu_arc_hs6x excluded, see #38041
|
||||
platform_exclude: qemu_arc_hs6x
|
||||
extra_configs:
|
||||
- CONFIG_LOG_MODE_IMMEDIATE=y
|
||||
- CONFIG_SAMPLE_MODULE_LOG_LEVEL_DBG=y
|
||||
- CONFIG_LOG2_USE_TAGGED_ARGUMENTS=y
|
||||
|
||||
logging.log2_api_immediate_64b_timestamp.tagged_args:
|
||||
# FIXME: qemu_arc_hs6x excluded, see #38041
|
||||
platform_exclude: qemu_arc_hs6x
|
||||
extra_configs:
|
||||
- CONFIG_LOG_MODE_IMMEDIATE=y
|
||||
- CONFIG_LOG_TIMESTAMP_64BIT=y
|
||||
- CONFIG_LOG2_USE_TAGGED_ARGUMENTS=y
|
||||
|
||||
logging.log2_api_deferred_overflow_rt_filter_cpp.tagged_args:
|
||||
# FIXME:see #38041
|
||||
platform_exclude: qemu_arc_hs6x
|
||||
extra_configs:
|
||||
- CONFIG_LOG_MODE_DEFERRED=y
|
||||
- CONFIG_LOG_MODE_OVERFLOW=y
|
||||
- CONFIG_LOG_RUNTIME_FILTERING=y
|
||||
- CONFIG_CPLUSPLUS=y
|
||||
- CONFIG_LOG2_USE_TAGGED_ARGUMENTS=y
|
||||
|
||||
logging.log2_api_deferred_overflow_cpp.tagged_args:
|
||||
# FIXME:see #38041
|
||||
platform_exclude: qemu_arc_hs6x
|
||||
extra_configs:
|
||||
- CONFIG_LOG_MODE_DEFERRED=y
|
||||
- CONFIG_LOG_MODE_OVERFLOW=y
|
||||
- CONFIG_CPLUSPLUS=y
|
||||
- CONFIG_LOG2_USE_TAGGED_ARGUMENTS=y
|
||||
|
||||
logging.log2_api_deferred_no_overflow_cpp.tagged_args:
|
||||
# FIXME:see #38041
|
||||
platform_exclude: qemu_arc_hs6x
|
||||
extra_configs:
|
||||
- CONFIG_LOG_MODE_DEFERRED=y
|
||||
- CONFIG_LOG_MODE_OVERFLOW=n
|
||||
- CONFIG_CPLUSPLUS=y
|
||||
- CONFIG_LOG2_USE_TAGGED_ARGUMENTS=y
|
||||
|
||||
logging.log2_api_deferred_static_filter_cpp.tagged_args:
|
||||
# FIXME:see #38041
|
||||
platform_exclude: qemu_arc_hs6x
|
||||
extra_configs:
|
||||
- CONFIG_LOG_MODE_DEFERRED=y
|
||||
- CONFIG_SAMPLE_MODULE_LOG_LEVEL_DBG=y
|
||||
- CONFIG_CPLUSPLUS=y
|
||||
- CONFIG_LOG2_USE_TAGGED_ARGUMENTS=y
|
||||
|
||||
logging.log2_api_deferred_printk_cpp.tagged_args:
|
||||
# FIXME:see #38041
|
||||
platform_exclude: qemu_arc_hs6x
|
||||
extra_configs:
|
||||
- CONFIG_LOG_MODE_DEFERRED=y
|
||||
- CONFIG_SAMPLE_MODULE_LOG_LEVEL_DBG=y
|
||||
- CONFIG_LOG_PRINTK=y
|
||||
#When LOG_PRINTK is enabled, thread must process otherwise test output would be lost.
|
||||
- CONFIG_LOG_PROCESS_THREAD=y
|
||||
- CONFIG_CPLUSPLUS=y
|
||||
- CONFIG_LOG2_USE_TAGGED_ARGUMENTS=y
|
||||
|
||||
logging.log2_api_deferred_func_prefix_cpp.tagged_args:
|
||||
# FIXME:see #38041
|
||||
platform_exclude: qemu_arc_hs6x
|
||||
extra_configs:
|
||||
- CONFIG_LOG_MODE_DEFERRED=y
|
||||
- CONFIG_SAMPLE_MODULE_LOG_LEVEL_DBG=y
|
||||
- CONFIG_LOG_FUNC_NAME_PREFIX_DBG=y
|
||||
- CONFIG_CPLUSPLUS=y
|
||||
- CONFIG_LOG2_USE_TAGGED_ARGUMENTS=y
|
||||
|
||||
logging.log2_api_deferred_64b_timestamp_cpp.tagged_args:
|
||||
# FIXME:see #38041
|
||||
platform_exclude: qemu_arc_hs6x
|
||||
extra_configs:
|
||||
- CONFIG_LOG_MODE_DEFERRED=y
|
||||
- CONFIG_LOG_TIMESTAMP_64BIT=y
|
||||
- CONFIG_CPLUSPLUS=y
|
||||
- CONFIG_LOG2_USE_TAGGED_ARGUMENTS=y
|
||||
|
||||
logging.log2_api_immediate_cpp.tagged_args:
|
||||
# FIXME: qemu_arc_hs6x excluded, see #38041
|
||||
platform_exclude: qemu_arc_hs6x
|
||||
extra_configs:
|
||||
- CONFIG_LOG_MODE_IMMEDIATE=y
|
||||
- CONFIG_CPLUSPLUS=y
|
||||
- CONFIG_LOG2_USE_TAGGED_ARGUMENTS=y
|
||||
|
||||
logging.log2_api_immediate_printk_cpp.tagged_args:
|
||||
# FIXME: qemu_arc_hs6x excluded, see #38041
|
||||
platform_exclude: qemu_arc_hs6x
|
||||
extra_configs:
|
||||
- CONFIG_LOG_MODE_IMMEDIATE=y
|
||||
- CONFIG_LOG_PRINTK=y
|
||||
- CONFIG_CPLUSPLUS=y
|
||||
- CONFIG_LOG2_USE_TAGGED_ARGUMENTS=y
|
||||
|
||||
logging.log2_api_immediate_rt_filter_cpp.tagged_args:
|
||||
# FIXME: qemu_arc_hs6x excluded, see #38041
|
||||
platform_exclude: qemu_arc_hs6x
|
||||
extra_configs:
|
||||
- CONFIG_LOG_MODE_IMMEDIATE=y
|
||||
- CONFIG_LOG_RUNTIME_FILTERING=y
|
||||
- CONFIG_CPLUSPLUS=y
|
||||
- CONFIG_LOG2_USE_TAGGED_ARGUMENTS=y
|
||||
|
||||
logging.log2_api_immediate_static_filter_cpp.tagged_args:
|
||||
# FIXME: qemu_arc_hs6x excluded, see #38041
|
||||
platform_exclude: qemu_arc_hs6x
|
||||
extra_configs:
|
||||
- CONFIG_LOG_MODE_IMMEDIATE=y
|
||||
- CONFIG_SAMPLE_MODULE_LOG_LEVEL_DBG=y
|
||||
- CONFIG_CPLUSPLUS=y
|
||||
- CONFIG_LOG2_USE_TAGGED_ARGUMENTS=y
|
||||
|
||||
logging.log2_api_immediate_64b_timestamp_cpp.tagged_args:
|
||||
# FIXME: qemu_arc_hs6x excluded, see #38041
|
||||
platform_exclude: qemu_arc_hs6x
|
||||
extra_configs:
|
||||
- CONFIG_LOG_MODE_IMMEDIATE=y
|
||||
- CONFIG_LOG_TIMESTAMP_64BIT=y
|
||||
- CONFIG_CPLUSPLUS=y
|
||||
- CONFIG_LOG2_USE_TAGGED_ARGUMENTS=y
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue