| # |
| # 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 |