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
