brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · d02d070 Raw
30 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# We simulate the case when, for whatever reason, we see that a thread's stack13# is empty when we see an EXIT record. This can happen for example when an14# instrumented function does a 'fork()', 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-exit, tsc: 10000}20...21 22#CHECK:      Error processing record: {{.*}}23#CHECK-NEXT: Thread ID: 124#CHECK-NEXT:   (empty stack)25#CHECK-NEXT: llvm-xray: Failed accounting function calls in file '{{.*}}'.26 27#KEEPGOING:      Error processing record: {{.*}}28#KEEPGOING-NEXT: Thread ID: 129#KEEPGOING-NEXT:   (empty stack)30