| 1 | # SPDX-License-Identifier: GPL-2.0-only |
| 2 | menu "arch/riscv/kernel Testing and Coverage" |
| 3 | |
| 4 | config AS_HAS_ULEB128 |
| 5 | def_bool $(as-instr,.reloc label$(comma) R_RISCV_SET_ULEB128$(comma) 127\n.reloc label$(comma) R_RISCV_SUB_ULEB128$(comma) 127\nlabel:\n.word 0) |
| 6 | |
| 7 | menuconfig RUNTIME_KERNEL_TESTING_MENU |
| 8 | bool "arch/riscv/kernel runtime Testing" |
| 9 | default y |
| 10 | help |
| 11 | Enable riscv kernel runtime testing. |
| 12 | |
| 13 | if RUNTIME_KERNEL_TESTING_MENU |
| 14 | |
| 15 | config RISCV_MODULE_LINKING_KUNIT |
| 16 | bool "KUnit test riscv module linking at runtime" if !KUNIT_ALL_TESTS |
| 17 | depends on KUNIT |
| 18 | default KUNIT_ALL_TESTS |
| 19 | help |
| 20 | Enable this option to test riscv module linking at boot. This will |
| 21 | enable a module called "test_module_linking". |
| 22 | |
| 23 | KUnit tests run during boot and output the results to the debug log |
| 24 | in TAP format (http://testanything.org/). Only useful for kernel devs |
| 25 | running the KUnit test harness, and not intended for inclusion into a |
| 26 | production build. |
| 27 | |
| 28 | For more information on KUnit and unit tests in general please refer |
| 29 | to the KUnit documentation in Documentation/dev-tools/kunit/. |
| 30 | |
| 31 | If unsure, say N. |
| 32 | |
| 33 | config RISCV_KPROBES_KUNIT |
| 34 | tristate "KUnit test for riscv kprobes" if !KUNIT_ALL_TESTS |
| 35 | depends on KUNIT |
| 36 | depends on KPROBES |
| 37 | default KUNIT_ALL_TESTS |
| 38 | help |
| 39 | Enable testing for riscv kprobes. Useful for riscv and/or kprobes |
| 40 | development. The test verifies that kprobes do not change the behaviour |
| 41 | of some sample functions. |
| 42 | |
| 43 | If unsure, say N. |
| 44 | |
| 45 | endif # RUNTIME_TESTING_MENU |
| 46 | |
| 47 | endmenu # "arch/riscv/kernel runtime Testing" |