zephyr/subsys/testsuite/ztest/Kconfig
Ulf Magnusson eddd98f811 kconfig: Replace some single-symbol 'if's with 'depends on'
I think people might be reading differences into 'if' and 'depends on'
that aren't there, like maybe 'if' being needed to "hide" a symbol,
while 'depends on' just adds a dependency.

There are no differences between 'if' and 'depends on'. 'if' is just a
shorthand for 'depends on'. They work the same when it comes to creating
implicit menus too.

The way symbols get "hidden" is through their dependencies not being
satisfied ('if'/'depends on' get copied up as a dependency on the
prompt).

Since 'if' and 'depends on' are the same, an 'if' with just a single
symbol in it can be replaced with a 'depends on'. IMO, it's best to
avoid 'if' there as a style choice too, because it confuses people into
thinking there's deep Kconfig magic going on that requires 'if'.

Going for 'depends on' can also remove some nested 'if's, which
generates nicer symbol information and docs, because nested 'if's really
are so simple/dumb that they just add the dependencies from both 'if's
to all symbols within.

Replace a bunch of single-symbol 'if's with 'depends on' to despam the
Kconfig files a bit and make it clearer how things work. Also do some
other minor related dependency refactoring.

The replacement isn't complete. Will fix up the rest later. Splitting it
a bit to make it more manageable.

(Everything above is true for choices, menus, and comments as well.)

Detected by tweaking the Kconfiglib parsing code. It's impossible to
detect after parsing, because 'if' turns into 'depends on'.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2020-02-08 08:32:42 -05:00

71 lines
2.1 KiB
Plaintext

# Copyright (c) 2016 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
config ZTEST
bool "Zephyr testing framework"
select TEST
help
Enable the Zephyr testing framework. You should enable this only
if you're writing automated tests.
if ZTEST
config ZTEST_STACKSIZE
int "Test function thread stack size"
default 2048 if COVERAGE_GCOV
default 1024
config ZTEST_FAIL_FAST
bool "Abort on first failing test"
help
Stop and abort on first failing test. Do not continue with other
tests that might be in the queue.
config ZTEST_ASSERT_VERBOSE
int "Assertion verbosity level"
default 1
help
Set verbosity level for assertions.
Assertion verbosity levels:
0 Write only file and line for failed assertions
1 Write file, line number, function and reason for failed assertions
2 Log also successful assertions
config ZTEST_THREAD_PRIORITY
int "Testing thread priority"
default -1
help
Set priority of the testing thread. Default is -1 (cooperative).
config ZTEST_TC_UTIL_USER_OVERRIDE
bool "Override tc_util.h"
help
Enable overriding defines in tc_util.h.
If True the user should provide tc_util_user_override.h in Zephyr's include path,
e.g. by adding zephyr_include_directories(project PRIVATE my_folder) to a project's CMakeLists.txt.
The override header may now #define the various macros and strings in tc_util.h which are
surrounded by #ifndef ... #endif blocks.
config ZTEST_RETEST_IF_PASSED
bool "Reset the board to test again if the test passed"
select REBOOT
help
If the test passed reset the board so it is run again. This
may be used as an alternative to manual resets when
attempting to reproduce an intermittent failure.
endif # ZTEST
config ZTEST_MOCKING
bool "Mocking support functions"
help
Enable mocking support for Ztest. This allows the test to set
return values and expected parameters to functions.
config ZTEST_PARAMETER_COUNT
int "Count of parameters or return values reserved"
default 1
depends on ZTEST_MOCKING
help
Maximum amount of concurrent return values / expected parameters.