1common:
2  platform_key:
3    - arch
4  tags:
5    - kernel
6    - benchmark
7  # Native platforms excluded as they are not relevant: These benchmarks run some kernel primitives
8  # in a loop during a predefined time counting how many times they execute. But in the POSIX arch,
9  # time does not pass while the CPU executes. So the benchmark just appears as if hung.
10  arch_exclude:
11    - posix
12  # qemu_nios2 excluded as it is slow
13  platform_exclude:
14    - qemu_nios2
15  integration_platforms:
16    - qemu_x86
17    - qemu_cortex_a53
18  timeout: 300
19  harness: console
20  harness_config:
21    type: one_line
22    regex:
23      - "(.*) Relative Time: (.*)"
24
25tests:
26  benchmark.thread_metric.basic:
27    extra_configs:
28      - CONFIG_TM_BASIC=y
29
30  benchmark.thread_metric.cooperative:
31    extra_configs:
32      - CONFIG_TM_COOPERATIVE=y
33
34  benchmark.thread_metric.interrupt:
35    extra_configs:
36      - CONFIG_TM_INTERRUPT=y
37
38  benchmark.thread_metric.interrupt_preemption:
39    extra_configs:
40      - CONFIG_TM_INTERRUPT_PREEMPTION=y
41
42  benchmark.thread_metric.memory_allocation:
43    extra_configs:
44      - CONFIG_TM_MEMORY_ALLOCATION=y
45
46  benchmark.thread_metric.message:
47    extra_configs:
48      - CONFIG_TM_MESSAGE=y
49
50  benchmark.thread_metric.preemptive:
51    extra_configs:
52      - CONFIG_TM_PREEMPTIVE=y
53
54  benchmark.thread_metric.synchronization:
55    extra_configs:
56      - CONFIG_TM_SYNCHRONIZATION=y
57