Boot Linux faster!

Check our new training course

Boot Linux faster!

Check our new training course
and Creative Commons CC-BY-SA
lecture and lab materials

Bootlin logo

Elixir Cross Referencer

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