# Copyright (c) 2016 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
bool "Mark project as a test"
# For tests, store thread names in binary and dump them on crash to
# ease debugging.
Mark a project or an application as a test. This will enable a few
bool "Enable various shells for testing"
select GPIO_SHELL if GPIO
Enable various platform and driver related shells for testing.
int "Test function extra thread stack size"
default 2048 if COVERAGE_GCOV
default 768 if XTENSA
Additional stack for tests on some platform where default is not
The code coverage report generation is only available on boards
with enough spare RAM to buffer the coverage data, or on boards
based on the POSIX ARCH.
bool "Create coverage data"
depends on HAS_COVERAGE_SUPPORT
This option will build your application with the -coverage option
which will generate data that can be used to create coverage reports.
For more information see
bool "Create Coverage data from hardware platform"
depends on COVERAGE
depends on !NATIVE_APPLICATION
This option will select the custom gcov library. The reports will
be available over serial. This serial dump can be passed to
gen_gcov_files.py which creates the required .gcda files. These
can be read by gcov utility. For more details see gcovr.com .
bool "Dump coverage data on exit"
depends on COVERAGE_GCOV
Dump collected coverage information to console on exit.
bool "Indicate that this test exercises user mode"
This option indicates that a test case puts threads in user mode,
and that the build system will [override and] enable USERSPACE
if the platform supports it. It should be set in a .conf file on
a per-test basis and is not meant to be used outside test cases.
Tests with this option should also have the "userspace" filtering
tag in their testcase.yaml file.
The userspace APIs are no-ops if userspace is not enabled, so it is
OK to enable this even if the test will run on platforms which do
not support userspace. The test should still run on those platforms,
just with all threads in supervisor mode.
If a test *requires* that userspace be enabled in order to
pass, CONFIG_ARCH_HAS_USERSPACE should be filtered in its
bool "Enable test case logging defaults"
depends on TEST
Option which implements default policy of enabling logging in
minimal mode for all test cases. For tests that need alternate
logging configuration, or no logging at all, disable this
in the project-level defconfig.
depends on TEST_USERSPACE
depends on ARCH_HAS_USERSPACE
This hidden option implements the TEST_USERSPACE logic. It turns on
USERSPACE when CONFIG_ARCH_HAS_USERSPACE is set and the test
case itself indicates that it exercises user mode via
bool "Run User Mode tests without additionally enabling stack protection"
depends on TEST_ENABLE_USERSPACE
default y if SOC_SERIES_KINETIS_KE1XF
A HW platform might not have sufficient MPU/MMU capabilities to support
running all test cases with User Mode and HW Stack Protection features
simultaneously enabled. For this platforms we execute the User Mode-
related tests without enabling HW stack protection.
bool "Enable hardware-based stack overflow detection if available"
depends on ARCH_HAS_STACK_PROTECTION
depends on TEST
default y if !TEST_USERSPACE_WITHOUT_HW_STACK_PROTECTION
This option will enable hardware-based stack protection by default
for all test cases if the hardware supports it.
bool "Test flash drivers"
depends on BOARD_QEMU_X86
This option will help test the flash drivers. This should be enabled
only when using qemu_x86.
depends on CPU_CORTEX_M
select ARM_SECURE_BUSFAULT_HARDFAULT_NMI if ARM_SECURE_FIRMWARE
ARM Cortex-M configuration required when testing.
Currently, this option is only utilized, to force routing
BusFault, HardFault, and NMI exceptions to Secure State,
when building a Secure ARMv8-M firmware. This will allow
the testing suite to utilize these exceptions, in tests.
Note that by default, when building with ARM_SECURE_FIRMWARE
set, these exceptions are set to target the Non-Secure state.