# RUN: llvm-xray account %s -m %S/Inputs/simple-instrmap.yaml | FileCheck --check-prefixes=ALL %s
# RUN: llvm-xray account --recursive-calls-only %s -m %S/Inputs/simple-instrmap.yaml | FileCheck --check-prefixes=RECURSIVE %s

---
header:
  version: 1
  type: 0
  constant-tsc: true
  nonstop-tsc: true
  cycle-frequency: 2601000000
records:
  - { type: 0, func-id: 1, cpu: 1, thread: 111, kind: function-enter, tsc: 0 }
  - { type: 0, func-id: 1, cpu: 1, thread: 111, kind: function-exit,  tsc: 100000000 }
  - { type: 0, func-id: 2, cpu: 1, thread: 111, kind: function-enter, tsc: 200000000 }
  - { type: 0, func-id: 2, cpu: 1, thread: 111, kind: function-exit,  tsc: 300000000 }
  - { type: 0, func-id: 2, cpu: 1, thread: 111, kind: function-enter, tsc: 400000000 }
  - { type: 0, func-id: 3, cpu: 1, thread: 111, kind: function-enter, tsc: 500000000 }
  - { type: 0, func-id: 3, cpu: 1, thread: 111, kind: function-enter, tsc: 600000000 }
  - { type: 0, func-id: 3, cpu: 1, thread: 111, kind: function-exit,  tsc: 700000000 }
  - { type: 0, func-id: 3, cpu: 1, thread: 111, kind: function-exit,  tsc: 800000000 }
  - { type: 0, func-id: 2, cpu: 1, thread: 111, kind: function-exit,  tsc: 900000000 }
  - { type: 0, func-id: 3, cpu: 1, thread: 111, kind: function-enter, tsc: 1000000000 }
  - { type: 0, func-id: 3, cpu: 1, thread: 111, kind: function-exit,  tsc: 1100000000 }
...

# ALL:      Functions with latencies: 3
# ALL-NEXT:    funcid      count [      min,       med,       90p,       99p,       max]       sum  function
# ALL-NEXT:         1          1 [ 0.038447,  0.038447,  0.038447,  0.038447,  0.038447]  0.038447  <invalid>:0:0: @(1)
# ALL-NEXT:         2          2 [ 0.038447,  0.192234,  0.192234,  0.192234,  0.192234]  0.230681  <invalid>:0:0: @(2)
# ALL-NEXT:         3          3 [ 0.038447,  0.038447,  0.115340,  0.115340,  0.115340]  0.192234  <invalid>:0:0: @(3)

# RECURSIVE:      Functions with latencies: 1
# RECURSIVE-NEXT:    funcid      count [      min,       med,       90p,       99p,       max]       sum  function
# RECURSIVE-NEXT:         3          2 [ 0.038447,  0.115340,  0.115340,  0.115340,  0.115340]  0.153787  <invalid>:0:0: @(3)
