2017-09-08 03:10:34 +08:00
|
|
|
# The redirects used in the commands to FileCheck against stderr cannot be used
|
|
|
|
# with a windows test.
|
|
|
|
#
|
|
|
|
# UNSUPPORTED: windows
|
|
|
|
|
2017-09-08 02:07:48 +08:00
|
|
|
#RUN: (llvm-xray stack %s 2>&1 1>&- || echo "Check Command Failed") | FileCheck --check-prefix HALT %s
|
|
|
|
#RUN: (llvm-xray stack -k %s 2>&1 && echo "Check Command Succeeded") | FileCheck --check-prefix KEEP-GOING-SUCCEEDS %s
|
|
|
|
#RUN: llvm-xray stack -k %s | FileCheck --check-prefix KEEP-GOING %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: 10001 }
|
|
|
|
- { type: 1, func-id: 4, cpu: 1, thread: 111, kind: function-exit, tsc: 10301 }
|
|
|
|
- { type: 0, func-id: 1, cpu: 1, thread: 111, kind: function-enter, tsc: 10401 }
|
|
|
|
- { type: 0, func-id: 2, cpu: 1, thread: 111, kind: function-enter, tsc: 10501 }
|
|
|
|
- { type: 0, func-id: 3, cpu: 1, thread: 111, kind: function-enter, tsc: 10601 }
|
|
|
|
- { type: 1, func-id: 3, cpu: 1, thread: 111, kind: function-exit, tsc: 10701 }
|
|
|
|
- { type: 1, func-id: 2, cpu: 1, thread: 111, kind: function-exit, tsc: 10751 }
|
|
|
|
- { type: 1, func-id: 1, cpu: 1, thread: 111, kind: function-exit, tsc: 10775 }
|
|
|
|
...
|
|
|
|
|
|
|
|
#HALT: llvm-xray: Found record {FuncId: "#4", ThreadId: "111", RecordType: "Fn Exit"} with no matching function entry
|
|
|
|
#HALT: Check Command Failed
|
|
|
|
#KEEP-GOING-SUCCEEDS: Found record {FuncId: "#4", ThreadId: "111", RecordType: "Fn Exit"} with no matching function entry
|
|
|
|
#KEEP-GOING-SUCCEEDS: Check Command Succeeded
|
|
|
|
#KEEP-GOING: Unique Stacks: 2
|
|
|
|
# Note the interesting case here that the stack { fn-1 } is a prefix of { fn-1, fn-2, fn-3 } but they
|
|
|
|
# are still counted as unique stacks.
|