tests: logging: remove inactive test

This test is being skipped for the last 3 years, had lots of issues when
it was introduced. No need to keep it in the tree.

If fixed and made to work again, we can always add it back.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This commit is contained in:
Anas Nashif 2025-03-26 15:52:23 -04:00 committed by Benjamin Cabé
commit 3d4c7736e1
4 changed files with 0 additions and 380 deletions

View file

@ -1,11 +0,0 @@
# SPDX-License-Identifier: Apache-2.0
cmake_minimum_required(VERSION 3.20.0)
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
project(log_stack)
target_sources(app PRIVATE src/main.c)
if(CONFIG_CPP)
# When testing for C++ force test file C++ compilation
set_source_files_properties(src/main.c PROPERTIES LANGUAGE CXX)
endif()

View file

@ -1,11 +0,0 @@
CONFIG_ZTEST=y
CONFIG_ASSERT=y
CONFIG_TEST_LOGGING_DEFAULTS=n
CONFIG_LOG=y
CONFIG_INIT_STACKS=y
CONFIG_THREAD_STACK_INFO=y
CONFIG_TEST_EXTRA_STACK_SIZE=4096
CONFIG_MAIN_STACK_SIZE=2048
CONFIG_ZTEST_STACK_SIZE=2048

View file

@ -1,306 +0,0 @@
/*
* Copyright (c) 2022 Nordic Semiconductor
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <zephyr/ztest.h>
#include <zephyr/logging/log.h>
/* The idea of this test is to estimate stack usage of logging messages. Each
* test checks stack usage before and after logging a message. Increase of stack
* usage is interpreted as stack used by the logging. Test has been used to
* characterize some common architectures and it will fail if significantly more
* stack is used.
*
* This will help to detect when changes in logging, toolchain or modules used
* by logging increase stack usage. Failure of the test should lead to investigation
* to determine if stack usage change is justified. If it is justified, thresholds
* may be updated.
*/
LOG_MODULE_REGISTER(test);
static size_t simple_usage;
static size_t hexdump_usage;
static size_t more_args_usage;
/* Stack increase margin. */
#ifdef CONFIG_PICOLIBC
#define STACK_USAGE_MARGIN 128
#else
#define STACK_USAGE_MARGIN 16
#endif
static void after(void *data)
{
PRINT("#elif %sdefined(CONFIG_LOG_MODE_IMMEDIATE) && %sdefined(CONFIG_NO_OPTIMIZATIONS)\n",
IS_ENABLED(CONFIG_LOG_MODE_IMMEDIATE) ? "" : "!",
IS_ENABLED(CONFIG_NO_OPTIMIZATIONS) ? "" : "!");
PRINT("#define SIMPLE_USAGE %zu\n", simple_usage);
PRINT("#define HEXDUMP_USAGE %zu\n", hexdump_usage);
PRINT("#define MORE_ARGS_USAGE %zu\n", more_args_usage);
}
ZTEST_SUITE(test_log_stack, NULL, NULL, NULL, NULL, after);
#define TEST_LOG_STACK(usage, log_msg) do { \
size_t unused, unused2; \
int err; \
\
k_msleep(100); \
err = k_thread_stack_space_get(k_current_get(), &unused); \
zassert_equal(err, 0); \
__DEBRACKET log_msg; \
\
k_msleep(100); \
\
err = k_thread_stack_space_get(k_current_get(), &unused2); \
zassert_equal(err, 0); \
\
usage = unused - unused2; \
PRINT("Stack increase due to log usage: %zu\n", usage); \
} while (0)
#if defined(CONFIG_CPU_CORTEX_M0)
#if !defined(CONFIG_LOG_MODE_IMMEDIATE) && !defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 120
#define HEXDUMP_USAGE 120
#define MORE_ARGS_USAGE 136
#elif defined(CONFIG_LOG_MODE_IMMEDIATE) && !defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 436
#define HEXDUMP_USAGE 436
#define MORE_ARGS_USAGE 452
#elif !defined(CONFIG_LOG_MODE_IMMEDIATE) && defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 168
#define HEXDUMP_USAGE 168
#define MORE_ARGS_USAGE 171
#elif defined(CONFIG_LOG_MODE_IMMEDIATE) && defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 911
#define HEXDUMP_USAGE 911
#define MORE_ARGS_USAGE 927
#endif
#elif defined(CONFIG_CPU_CORTEX_M3)
#if !defined(CONFIG_LOG_MODE_IMMEDIATE) && !defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 160
#define HEXDUMP_USAGE 160
#define MORE_ARGS_USAGE 176
#elif defined(CONFIG_LOG_MODE_IMMEDIATE) && !defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 388
#define HEXDUMP_USAGE 388
#define MORE_ARGS_USAGE 404
#elif !defined(CONFIG_LOG_MODE_IMMEDIATE) && defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 144
#define HEXDUMP_USAGE 88
#define MORE_ARGS_USAGE 144
#elif defined(CONFIG_LOG_MODE_IMMEDIATE) && defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 640
#define HEXDUMP_USAGE 640
#define MORE_ARGS_USAGE 656
#endif
#elif defined(CONFIG_X86) && !defined(CONFIG_X86_64)
#if !defined(CONFIG_LOG_MODE_IMMEDIATE) && !defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 72
#define HEXDUMP_USAGE 68
#define MORE_ARGS_USAGE 88
#elif defined(CONFIG_LOG_MODE_IMMEDIATE) && !defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 448
#define HEXDUMP_USAGE 444
#define MORE_ARGS_USAGE 484
#elif !defined(CONFIG_LOG_MODE_IMMEDIATE) && defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 288
#define HEXDUMP_USAGE 272
#define MORE_ARGS_USAGE 304
#elif defined(CONFIG_LOG_MODE_IMMEDIATE) && defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 988
#define HEXDUMP_USAGE 972
#define MORE_ARGS_USAGE 1020
#endif
#elif defined(CONFIG_X86_64)
#if !defined(CONFIG_LOG_MODE_IMMEDIATE) && !defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 168
#define HEXDUMP_USAGE 136
#define MORE_ARGS_USAGE 200
#elif defined(CONFIG_LOG_MODE_IMMEDIATE) && !defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 1120
#define HEXDUMP_USAGE 1104
#define MORE_ARGS_USAGE 1184
#elif !defined(CONFIG_LOG_MODE_IMMEDIATE) && defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 576
#define HEXDUMP_USAGE 576
#define MORE_ARGS_USAGE 608
#elif defined(CONFIG_LOG_MODE_IMMEDIATE) && defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 1680
#define HEXDUMP_USAGE 1680
#define MORE_ARGS_USAGE 1744
#endif
#elif defined(CONFIG_RISCV) && !defined(CONFIG_64BIT) && !defined(CONFIG_SMP)
#if !defined(CONFIG_LOG_MODE_IMMEDIATE) && !defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 136
#define HEXDUMP_USAGE 136
#define MORE_ARGS_USAGE 152
#elif defined(CONFIG_LOG_MODE_IMMEDIATE) && !defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 504
#define HEXDUMP_USAGE 504
#define MORE_ARGS_USAGE 520
#elif !defined(CONFIG_LOG_MODE_IMMEDIATE) && defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 240
#define HEXDUMP_USAGE 240
#define MORE_ARGS_USAGE 240
#elif defined(CONFIG_LOG_MODE_IMMEDIATE) && defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 992
#define HEXDUMP_USAGE 992
#define MORE_ARGS_USAGE 1008
#endif
#elif defined(CONFIG_RISCV) && !defined(CONFIG_64BIT) && defined(CONFIG_SMP)
#if !defined(CONFIG_LOG_MODE_IMMEDIATE) && !defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 96
#define HEXDUMP_USAGE 96
#define MORE_ARGS_USAGE 112
#elif defined(CONFIG_LOG_MODE_IMMEDIATE) && !defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 456
#define HEXDUMP_USAGE 456
#define MORE_ARGS_USAGE 472
#elif !defined(CONFIG_LOG_MODE_IMMEDIATE) && defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 304
#define HEXDUMP_USAGE 240
#define MORE_ARGS_USAGE 240
#elif defined(CONFIG_LOG_MODE_IMMEDIATE) && defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 1008
#define HEXDUMP_USAGE 1008
#define MORE_ARGS_USAGE 1024
#endif
#elif defined(CONFIG_RISCV) && defined(CONFIG_64BIT) && defined(CONFIG_SMP)
#if !defined(CONFIG_LOG_MODE_IMMEDIATE) && !defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 200
#define HEXDUMP_USAGE 168
#define MORE_ARGS_USAGE 232
#elif defined(CONFIG_LOG_MODE_IMMEDIATE) && !defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 736
#define HEXDUMP_USAGE 768
#define MORE_ARGS_USAGE 768
#elif !defined(CONFIG_LOG_MODE_IMMEDIATE) && defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 320
#define HEXDUMP_USAGE 320
#define MORE_ARGS_USAGE 320
#elif defined(CONFIG_LOG_MODE_IMMEDIATE) && defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 1248
#define HEXDUMP_USAGE 1248
#define MORE_ARGS_USAGE 1280
#endif
#elif defined(CONFIG_RISCV) && defined(CONFIG_64BIT)
#if !defined(CONFIG_LOG_MODE_IMMEDIATE) && !defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 240
#define HEXDUMP_USAGE 240
#define MORE_ARGS_USAGE 272
#elif defined(CONFIG_LOG_MODE_IMMEDIATE) && !defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 704
#define HEXDUMP_USAGE 704
#define MORE_ARGS_USAGE 736
#elif !defined(CONFIG_LOG_MODE_IMMEDIATE) && defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 320
#define HEXDUMP_USAGE 320
#define MORE_ARGS_USAGE 320
#elif defined(CONFIG_LOG_MODE_IMMEDIATE) && defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 1128
#define HEXDUMP_USAGE 1128
#define MORE_ARGS_USAGE 1160
#endif
#elif defined(CONFIG_SPARC)
#if !defined(CONFIG_LOG_MODE_IMMEDIATE) && !defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 0
#define HEXDUMP_USAGE 28
#define MORE_ARGS_USAGE 0
#elif defined(CONFIG_LOG_MODE_IMMEDIATE) && !defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 849
#define HEXDUMP_USAGE 849
#define MORE_ARGS_USAGE 865
#elif !defined(CONFIG_LOG_MODE_IMMEDIATE) && defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 416
#define HEXDUMP_USAGE 232
#define MORE_ARGS_USAGE 416
#elif defined(CONFIG_LOG_MODE_IMMEDIATE) && defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 1544
#define HEXDUMP_USAGE 1544
#define MORE_ARGS_USAGE 1560
#endif
#elif defined(CONFIG_XTENSA)
#if !defined(CONFIG_LOG_MODE_IMMEDIATE) && !defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 72
#define HEXDUMP_USAGE 168
#define MORE_ARGS_USAGE 88
#elif defined(CONFIG_LOG_MODE_IMMEDIATE) && !defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 584
#define HEXDUMP_USAGE 584
#define MORE_ARGS_USAGE 600
#elif !defined(CONFIG_LOG_MODE_IMMEDIATE) && defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 336
#define HEXDUMP_USAGE 336
#define MORE_ARGS_USAGE 336
#elif defined(CONFIG_LOG_MODE_IMMEDIATE) && defined(CONFIG_NO_OPTIMIZATIONS)
#define SIMPLE_USAGE 1040
#define HEXDUMP_USAGE 1040
#define MORE_ARGS_USAGE 1056
#endif
#else
/* For other platforms which were not characterized use something big. */
#define SIMPLE_USAGE 2000
#define HEXDUMP_USAGE 2000
#define MORE_ARGS_USAGE 2000
#endif
#define SIMPLE_USAGE_LIMIT (SIMPLE_USAGE + STACK_USAGE_MARGIN)
#define HEXDUMP_USAGE_LIMIT (HEXDUMP_USAGE + STACK_USAGE_MARGIN)
#define MORE_ARGS_USAGE_LIMIT (MORE_ARGS_USAGE + STACK_USAGE_MARGIN)
ZTEST(test_log_stack, test_log_simple)
{
uint32_t test_u = 1;
int test_i = 1;
TEST_LOG_STACK(simple_usage, (LOG_INF("test %u %d", test_u, test_i)));
zassert_true(simple_usage <= SIMPLE_USAGE_LIMIT, "Usage:%zu, expected:%zu",
simple_usage, SIMPLE_USAGE_LIMIT);
}
ZTEST(test_log_stack, test_log_hexdump)
{
uint8_t data[] = {1, 2, 3, 4};
TEST_LOG_STACK(hexdump_usage, (LOG_HEXDUMP_INF(data, sizeof(data), "description")));
zassert_true(hexdump_usage <= HEXDUMP_USAGE_LIMIT, "Usage:%zu, expected:%zu",
hexdump_usage, HEXDUMP_USAGE_LIMIT);
}
ZTEST(test_log_stack, test_log_more_args)
{
TEST_LOG_STACK(more_args_usage, (LOG_INF("test %d %d %d %d %d %d",
k_uptime_get_32(), k_uptime_get_32(),
k_uptime_get_32(), k_uptime_get_32(),
k_uptime_get_32(), k_uptime_get_32())));
zassert_true(more_args_usage <= MORE_ARGS_USAGE_LIMIT, "Usage:%zu, expected:%zu",
more_args_usage, MORE_ARGS_USAGE_LIMIT);
}

View file

@ -1,52 +0,0 @@
common:
platform_type:
- qemu
tags:
- log_api
- logging
skip: true
integration_platforms:
- qemu_x86
tests:
logging.stack.deferred:
extra_configs:
- CONFIG_LOG_MODE_DEFERRED=y
logging.stack.deferred_no_opt:
filter: not CONFIG_MIPS
extra_configs:
- CONFIG_LOG_MODE_DEFERRED=y
- CONFIG_NO_OPTIMIZATIONS=y
- CONFIG_ZTEST_WARN_NO_OPTIMIZATIONS=n
- CONFIG_IDLE_STACK_SIZE=2048
logging.stack.immediate:
extra_configs:
- CONFIG_LOG_MODE_IMMEDIATE=y
logging.stack.immediate_no_opt:
filter: not CONFIG_MIPS
extra_configs:
- CONFIG_LOG_MODE_IMMEDIATE=y
- CONFIG_NO_OPTIMIZATIONS=y
- CONFIG_ZTEST_WARN_NO_OPTIMIZATIONS=n
- CONFIG_IDLE_STACK_SIZE=2048
logging.stack.deferred_cpp:
extra_configs:
- CONFIG_LOG_MODE_DEFERRED=y
- CONFIG_CPP=y
logging.stack.deferred_cpp_no_opt:
filter: not CONFIG_MIPS
extra_configs:
- CONFIG_LOG_MODE_DEFERRED=y
- CONFIG_NO_OPTIMIZATIONS=y
- CONFIG_ZTEST_WARN_NO_OPTIMIZATIONS=n
- CONFIG_CPP=y
logging.stack.immediate_cpp:
extra_configs:
- CONFIG_LOG_MODE_IMMEDIATE=y
- CONFIG_CPP=y
logging.stack.immediate_cpp_no_opt:
filter: not CONFIG_MIPS
extra_configs:
- CONFIG_LOG_MODE_IMMEDIATE=y
- CONFIG_NO_OPTIMIZATIONS=y
- CONFIG_ZTEST_WARN_NO_OPTIMIZATIONS=n
- CONFIG_CPP=y