115 lines
3.4 KiB
Plaintext
115 lines
3.4 KiB
Plaintext
#
|
|
# Copyright (c) 2016 Intel Corporation
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
|
|
menu "Testing"
|
|
|
|
source "subsys/testsuite/ztest/Kconfig"
|
|
|
|
config TEST
|
|
bool "Mark project as a test"
|
|
# For tests, store thread names in binary and dump them on crash to
|
|
# ease debugging.
|
|
select THREAD_NAME
|
|
help
|
|
Mark a project or an application as a test. This will enable a few
|
|
test defaults.
|
|
|
|
config TEST_SHELL
|
|
bool "Enable various shells for testing"
|
|
select GPIO_SHELL if GPIO
|
|
select PCI_SHELL if PCI
|
|
help
|
|
Enable various platform and driver related shells for testing.
|
|
|
|
config TEST_EXTRA_STACKSIZE
|
|
int "Test function extra thread stack size"
|
|
default 2048 if COVERAGE_GCOV
|
|
default 768 if XTENSA
|
|
default 0
|
|
help
|
|
Additional stack for tests on some platform where default is not
|
|
enough.
|
|
|
|
config HAS_COVERAGE_SUPPORT
|
|
bool
|
|
help
|
|
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.
|
|
|
|
config COVERAGE
|
|
bool "Create coverage data"
|
|
depends on HAS_COVERAGE_SUPPORT
|
|
help
|
|
This option will build your application with the -coverage option
|
|
which will generate data that can be used to create coverage reports.
|
|
Currently this is fully supported only on the native POSIX port.
|
|
|
|
if COVERAGE
|
|
config COVERAGE_GCOV
|
|
bool "Create Coverage data from hardware platform"
|
|
depends on !NATIVE_APPLICATION
|
|
default y
|
|
help
|
|
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 .
|
|
endif
|
|
|
|
config TEST_USERSPACE
|
|
bool "Indicate that this test exercises user mode"
|
|
help
|
|
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
|
|
testcase.yaml.
|
|
|
|
config TEST_ENABLE_USERSPACE
|
|
bool
|
|
depends on TEST_USERSPACE
|
|
depends on ARCH_HAS_USERSPACE
|
|
select USERSPACE
|
|
select DYNAMIC_OBJECTS
|
|
default y
|
|
help
|
|
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
|
|
CONFIG_TEST_USERSPACE.
|
|
|
|
config TEST_HW_STACK_PROTECTION
|
|
bool "Enable hardware-based stack overflow detection if available"
|
|
depends on ARCH_HAS_STACK_PROTECTION
|
|
depends on TEST
|
|
select HW_STACK_PROTECTION
|
|
default y
|
|
help
|
|
This option will enable hardware-based stack protection by default
|
|
for all test cases if the hardware supports it.
|
|
|
|
config TEST_FLASH_DRIVERS
|
|
bool "Test flash drivers"
|
|
depends on BOARD_QEMU_X86
|
|
select FLASH_HAS_DRIVER_ENABLED
|
|
select FLASH_HAS_PAGE_LAYOUT
|
|
help
|
|
This option will help test the flash drivers. This should be enabled
|
|
only when using qemu_x86.
|
|
|
|
endmenu
|