# # 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 should enable userspace if the platform supports it. It should be set on a per-test basis. 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 function, 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 will help test the userspace mode. This will be enabled only when CONFIG_ARCH_HAS_USERSPACE is set, and that 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