32 lines · yaml
1#RUN: not llvm-xray account %s -o - -m %S/Inputs/simple-instrmap.yaml -d 2>&1 | FileCheck %s2#RUN: llvm-xray account %s -k -o - -m %S/Inputs/simple-instrmap.yaml -d 2>&1 | FileCheck %s --check-prefix=KEEPGOING3 4---5header:6 version: 17 type: 08 constant-tsc: true9 nonstop-tsc: true10 cycle-frequency: 011records:12# An exit record doesn't match an entry record on a non empty stack with sibling call deduction. 13# This can happen for example when an instrumented function does a 'fork()', 14# where the child process will not see15# the entry record but see the exit record. This is completely valid data,16# which should be handled with grace (i.e. we treat it as an error, but since17# the llvm-xray account tool has an option to keep going, gives the user a18# chance to retry).19 - { type: 0, func-id: 1, cpu: 1, thread: 1, kind: function-enter, tsc: 10000 }20 - { type: 0, func-id: 4, cpu: 1, thread: 1, kind: function-exit, tsc: 10001 }21 - { type: 0, func-id: 1, cpu: 1, thread: 1, kind: function-exit, tsc: 10002 }22...23 24#CHECK: Error processing record: {{.*}}25#CHECK-NEXT: Thread ID: 126#CHECK-NEXT: #1 @(1)27#CHECK-NEXT: llvm-xray: Failed accounting function calls in file '{{.*}}'.28 29#KEEPGOING: Error processing record: {{.*}}30#KEEPGOING-NEXT: Thread ID: 131#KEEPGOING-NEXT: #1 @(1)32