zephyr/tests/benchmarks/thread_metric/testcase.yaml
Anas Nashif 057ba5cf45 tests: benchmarks: optimize filters and use platform_key.
Benchmarks are not tests, we run them to verify they still work and do
not bitrot. Running them on each architecture should be sufficient.

This reduces amount of churn in CI and still allows them to be run
individually on platforms.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-11-26 21:42:22 +01:00

57 lines
1.4 KiB
YAML

common:
platform_key:
- arch
tags:
- kernel
- benchmark
# Native platforms excluded as they are not relevant: These benchmarks run some kernel primitives
# in a loop during a predefined time counting how many times they execute. But in the POSIX arch,
# time does not pass while the CPU executes. So the benchmark just appears as if hung.
arch_exclude:
- posix
# qemu_nios2 excluded as it is slow
platform_exclude:
- qemu_nios2
integration_platforms:
- qemu_x86
- qemu_cortex_a53
timeout: 300
harness: console
harness_config:
type: one_line
regex:
- "(.*) Relative Time: (.*)"
tests:
benchmark.thread_metric.basic:
extra_configs:
- CONFIG_TM_BASIC=y
benchmark.thread_metric.cooperative:
extra_configs:
- CONFIG_TM_COOPERATIVE=y
benchmark.thread_metric.interrupt:
extra_configs:
- CONFIG_TM_INTERRUPT=y
benchmark.thread_metric.interrupt_preemption:
extra_configs:
- CONFIG_TM_INTERRUPT_PREEMPTION=y
benchmark.thread_metric.memory_allocation:
extra_configs:
- CONFIG_TM_MEMORY_ALLOCATION=y
benchmark.thread_metric.message:
extra_configs:
- CONFIG_TM_MESSAGE=y
benchmark.thread_metric.preemptive:
extra_configs:
- CONFIG_TM_PREEMPTIVE=y
benchmark.thread_metric.synchronization:
extra_configs:
- CONFIG_TM_SYNCHRONIZATION=y