You've already forked linux-packaging-mono
							
							
		
			
	
	
		
			30 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
		
		
			
		
	
	
			30 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
|   | #RUN: not llvm-xray account %s -o - -m %S/Inputs/simple-instrmap.yaml -d 2>&1 | FileCheck %s
 | ||
|  | #RUN: llvm-xray account %s -k -o - -m %S/Inputs/simple-instrmap.yaml -d 2>&1 | FileCheck %s --check-prefix=KEEPGOING
 | ||
|  | 
 | ||
|  | ---
 | ||
|  | header:
 | ||
|  |   version: 1
 | ||
|  |   type: 0
 | ||
|  |   constant-tsc: true
 | ||
|  |   nonstop-tsc: true
 | ||
|  |   cycle-frequency: 0
 | ||
|  | records:
 | ||
|  | # We simulate the case when, for whatever reason, we see that a thread's stack
 | ||
|  | # is empty when we see an EXIT record. This can happen for example when an
 | ||
|  | # instrumented function does a 'fork()', where the child process will not see
 | ||
|  | # the entry record but see the exit record. This is completely valid data,
 | ||
|  | # which should be handled with grace (i.e. we treat it as an error, but since
 | ||
|  | # the llvm-xray account tool has an option to keep going, gives the user a
 | ||
|  | # chance to retry).
 | ||
|  |   - { type: 0, func-id: 1, cpu: 1, thread: 1, kind: function-exit, tsc: 10000}
 | ||
|  | ...
 | ||
|  | 
 | ||
|  | #CHECK:      Error processing record: {{.*}}
 | ||
|  | #CHECK-NEXT: Thread ID: 1
 | ||
|  | #CHECK-NEXT:   (empty stack)
 | ||
|  | #CHECK-NEXT: llvm-xray: Failed accounting function calls in file '{{.*}}'.
 | ||
|  | 
 | ||
|  | #KEEPGOING:      Error processing record: {{.*}}
 | ||
|  | #KEEPGOING-NEXT: Thread ID: 1
 | ||
|  | #KEEPGOING-NEXT:   (empty stack)
 |