233 lines
6.9 KiB
Plaintext
233 lines
6.9 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_STACK_SIZE
|
|
int "Test function thread stack size"
|
|
default 2048 if COVERAGE_GCOV
|
|
default 2048 if X86
|
|
default 1024
|
|
|
|
config ZTEST_TEST_DELAY_MS
|
|
int "Delay between tests in milliseconds"
|
|
default 0
|
|
help
|
|
Add a delay between between tests to manage output on the console on
|
|
systems that can't handle the rapid output rate.
|
|
|
|
config ZTEST_SHELL
|
|
bool "Ztest with shell support"
|
|
select SHELL
|
|
select SHELL_THREAD_PRIORITY_OVERRIDE
|
|
select GETOPT_LONG
|
|
select SHELL_GETOPT
|
|
help
|
|
Enable shell to manage test execution and selection.
|
|
|
|
config ZTEST_CPU_HOLD_TIME_MS
|
|
int "Time in milliseconds to hold other CPUs for 1cpu type tests"
|
|
default 3000
|
|
help
|
|
This option is used to specify the maximum time in milliseconds for
|
|
which a 1cpu type test may execute on a multicpu system. The default
|
|
value ought to suffice for most such tests; however slower platforms
|
|
(which may include simulators) may need to set this to a larger
|
|
value. Please be aware that increasing it for long-running test cases
|
|
may overload the CI system. Modify with caution.
|
|
|
|
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 -2 if !PREEMPT_ENABLED
|
|
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.
|
|
|
|
config ZTEST_FATAL_HOOK
|
|
bool "Using a pre-defined fatal handler and hook function"
|
|
help
|
|
Use the pre-defined common fatal error handler and a post hook to
|
|
do actions in your test case, this option often enabled when doing
|
|
error test case. Remember to add ignore_fault tag in yaml file when
|
|
using twister to run testing.
|
|
|
|
config ZTEST_ASSERT_HOOK
|
|
bool "Using a pre-defined assert handler and hook function"
|
|
help
|
|
Use the pre-defined common assert fail handler and a post hook to
|
|
do actions in your test case, this option often enabled when doing
|
|
error test case. Remember to add ignore_fault tag in yaml file when
|
|
using twister to run testing.
|
|
|
|
config ZTEST_NO_YIELD
|
|
bool "Do not yield to the idle thread after tests complete"
|
|
help
|
|
When the tests complete, do not yield to the idle thread and instead
|
|
spin in a loop. This is useful for low power mode tests, where
|
|
yielding to the idle thread may put the board into a low power state
|
|
where a debugger cannot connect to it.
|
|
|
|
config ZTEST_WARN_NO_OPTIMIZATIONS
|
|
bool "Warn when running tests with CONFIG_NO_OPTIMIZATIONS"
|
|
default y if !(ARCH_POSIX || COVERAGE)
|
|
depends on NO_OPTIMIZATIONS
|
|
help
|
|
Print a CMake warning when building ztests with no compiler
|
|
optimizations. Please don't file issues when running tests that are
|
|
not explicitly tuned to work in this configuration.
|
|
|
|
menu "ZTest provided rules"
|
|
|
|
config ZTEST_RULE_1CPU
|
|
bool "Run all the tests on a single CPU"
|
|
help
|
|
This rule will call z_test_1cpu_start before each unit test and
|
|
ztest_1cpu_stop after each test.
|
|
|
|
endmenu
|
|
|
|
config ZTEST_VERIFY_RUN_ALL
|
|
bool "Validates all defined tests have ran"
|
|
default y
|
|
help
|
|
This rule will fail the project if not all tests have been run.
|
|
|
|
config ZTEST_SHUFFLE
|
|
bool "Shuffle the order of tests and suites"
|
|
select TEST_RANDOM_GENERATOR if !ENTROPY_HAS_DRIVER
|
|
help
|
|
This rule will shuffle the order of tests and test suites.
|
|
|
|
if ZTEST_SHUFFLE
|
|
config ZTEST_SHUFFLE_SUITE_REPEAT_COUNT
|
|
int "Number of iterations the test suite will run"
|
|
default 3
|
|
help
|
|
This rule will execute a test suite N number of times. The tests
|
|
per suite will be shuffled on each iteration. The test order will likely
|
|
be different per iteration.
|
|
|
|
config ZTEST_SHUFFLE_TEST_REPEAT_COUNT
|
|
int "Number of iterations the test will run"
|
|
default 3
|
|
help
|
|
This rule will execute a test N number of times. The test order will
|
|
likely be different per iteration.
|
|
|
|
endif #ZTEST_SHUFFLE
|
|
|
|
config ZTEST_SUMMARY
|
|
bool "Display test summary"
|
|
default y
|
|
help
|
|
This option controls output of a test summary.
|
|
|
|
config ZTEST_VERBOSE_OUTPUT
|
|
bool "Verbose test output"
|
|
default y
|
|
help
|
|
This option controls whether test output is shown verbosely or
|
|
no output at all.
|
|
|
|
config ZTEST_VERBOSE_SUMMARY
|
|
bool "Verbose test summary"
|
|
default y
|
|
help
|
|
This option controls whether suite summary is shown verbosely or
|
|
just in one line.
|
|
|
|
config ZTEST_FAIL_ON_ASSUME
|
|
bool "Fail the test run when an assumption fails"
|
|
default y
|
|
help
|
|
When enabled, the test binary will fail at the end if an assumption failed. This means
|
|
that while tests will still be marked as skipped on failed zassume calls, the final test
|
|
result will be shown as a failure in order to increase visibility. This precludes tests
|
|
that skipped with the ZTEST_EXPECT_SKIP annotation.
|
|
|
|
config TEST_LOGGING_FLUSH_AFTER_TEST
|
|
bool "When enabled logs are flushed after each test case"
|
|
default y
|
|
depends on MULTITHREADING
|
|
|
|
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 10
|
|
depends on ZTEST_MOCKING
|
|
help
|
|
Maximum amount of concurrent return values / expected parameters.
|
|
|
|
config ZTRESS
|
|
bool "Stress test framework"
|
|
select THREAD_RUNTIME_STATS
|
|
select THREAD_MONITOR
|
|
select TEST_RANDOM_GENERATOR if !ENTROPY_HAS_DRIVER
|
|
depends on !USERSPACE
|
|
|
|
if ZTRESS
|
|
|
|
config ZTRESS_MAX_THREADS
|
|
int "Maximum number of threads in ztress framework"
|
|
default 3
|
|
range 1 16
|
|
|
|
config ZTRESS_STACK_SIZE
|
|
int "Stack size of Ztress thread"
|
|
default 4096 if NO_OPTIMIZATIONS
|
|
default 2048
|
|
|
|
config ZTRESS_REPORT_PROGRESS_MS
|
|
int "Progress report interval (in milliseconds)"
|
|
default 1000
|
|
help
|
|
Use 0 to disable.
|
|
endif # ZTRESS
|