blob: 4ce8f2569beea4b445563e1f8aec578b9e0e18b8 [file] [log] [blame]
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
# some slow qemu_* excluded
platform_exclude:
- qemu_malta/qemu_malta
- qemu_malta/qemu_malta/be
integration_platforms:
- qemu_x86
- qemu_cortex_a53
timeout: 300
harness: console
harness_config:
type: multi_line
ordered: true
regex:
# Collect at least 3 measurements for each benchmark:
- "(.*) Thread-Metric(.+) Relative Time:[ ]*[0-9]+(.*)"
- "(.*)Time Period Total:[ ]*[0-9]+(.*)"
- "(.*) Thread-Metric(.+) Relative Time:[ ]*[0-9]+(.*)"
- "(.*)Time Period Total:[ ]*[0-9]+(.*)"
- "(.*) Thread-Metric(.+) Relative Time:[ ]*[0-9]+(.*)"
- "(.*)Time Period Total:[ ]*[0-9]+(.*)"
record:
regex:
- "Time Period Total:[ ]*(?P<total_time_period>[0-9]+)"
- "ERROR:[ ]*(?P<error_message>.*)"
- "[ ]+Average:(?P<error_details>.*)"
merge: true
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