zephyr/tests/arch/common/stack_unwind/testcase.yaml
Yong Cong Sin 726fefd12c arch: riscv: stacktrace: implement arch_stack_walk()
Created the `arch_stack_walk()` function out from the original
`z_riscv_unwind_stack()`, it's been updated to support
unwinding any thread.

Updated the stack_unwind test case accordingly.

Increased the delay in `test_fatal_on_smp`, to wait
for the the fatal thread to be terminated, as stacktrace can
take a bit more time.

Doubled the kernel/smp testcase timeout from 60 (default) to
120s, as some of the tests can take a little bit more than 60s
to finish.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-06-13 16:46:48 -04:00

74 lines
1.7 KiB
YAML

common:
harness: console
ignore_faults: true
ignore_qemu_crash: true
tags: kernel
tests:
arch.common.stack_unwind.riscv_fp:
arch_allow: riscv
integration_platforms:
- qemu_riscv32
- qemu_riscv64
extra_configs:
- CONFIG_FRAME_POINTER=y
harness_config:
type: multi_line
regex:
- "E: call trace:"
- "E: 0: ra: \\w+"
- "E: 1: ra: \\w+"
arch.common.stack_unwind.riscv_sp:
arch_allow: riscv
integration_platforms:
- qemu_riscv32
- qemu_riscv64
harness_config:
type: multi_line
regex:
- "E: call trace:"
- "E: 0: ra: \\w+"
- "E: 1: ra: \\w+"
arch.common.stack_unwind.x86:
arch_allow: x86
extra_configs:
- CONFIG_NO_OPTIMIZATIONS=y
- CONFIG_OMIT_FRAME_POINTER=n
integration_platforms:
- qemu_x86
- qemu_x86_64
harness_config:
type: multi_line
regex:
- "E: call trace:"
- "E: (E|R)IP: \\w+"
arch.common.stack_unwind.arm64:
arch_allow:
- arm64
integration_platforms:
- qemu_cortex_a53
extra_configs:
- CONFIG_FRAME_POINTER=y
harness_config:
type: multi_line
regex:
- "E: backtrace 0: fp: \\w+ lr: \\w+"
- "E: backtrace 1: fp: \\w+ lr: \\w+"
arch.common.stack_unwind.symtab:
arch_allow:
- riscv
- arm64
integration_platforms:
- qemu_riscv32
- qemu_riscv64
- qemu_cortex_a53
extra_configs:
- CONFIG_FRAME_POINTER=y
harness_config:
type: multi_line
regex:
- "[func1+\\w+]"
- "[func2+\\w+]"
- "[func1+\\w+]"
- "[func2+\\w+]"
- "[func1+\\w+]"