| # 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_NEW_API |
| bool "Use the new Ztest API" |
| help |
| Enables the new Ztest APIs for creating suites and unit tests in |
| separate compilation units as well as the new 'rules' API. |
| |
| config ZTEST_STACK_SIZE |
| int "Test function thread stack size" |
| default 2048 if COVERAGE_GCOV |
| 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_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. |
| |
| if ZTEST_NEW_API |
| |
| 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. |
| |
| endif # ZTEST_NEW_API |
| |
| 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 |