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>
71 lines
2.1 KiB
Plaintext
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.
|