~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/tools/perf/tests/shell/stat.sh

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /tools/perf/tests/shell/stat.sh (Version linux-6.12-rc7) and /tools/perf/tests/shell/stat.sh (Version linux-4.20.17)


  1 #!/bin/sh                                         
  2 # perf stat tests                                 
  3 # SPDX-License-Identifier: GPL-2.0                
  4                                                   
  5 set -e                                            
  6                                                   
  7 err=0                                             
  8 test_default_stat() {                             
  9   echo "Basic stat command test"                  
 10   if ! perf stat true 2>&1 | grep -E -q "Perfo    
 11   then                                            
 12     echo "Basic stat command test [Failed]"       
 13     err=1                                         
 14     return                                        
 15   fi                                              
 16   echo "Basic stat command test [Success]"        
 17 }                                                 
 18                                                   
 19 test_stat_record_report() {                       
 20   echo "stat record and report test"              
 21   if ! perf stat record -o - true | perf stat     
 22     grep -E -q "Performance counter stats for     
 23   then                                            
 24     echo "stat record and report test [Failed]    
 25     err=1                                         
 26     return                                        
 27   fi                                              
 28   echo "stat record and report test [Success]"    
 29 }                                                 
 30                                                   
 31 test_stat_record_script() {                       
 32   echo "stat record and script test"              
 33   if ! perf stat record -o - true | perf scrip    
 34     grep -E -q "CPU[[:space:]]+THREAD[[:space:    
 35   then                                            
 36     echo "stat record and script test [Failed]    
 37     err=1                                         
 38     return                                        
 39   fi                                              
 40   echo "stat record and script test [Success]"    
 41 }                                                 
 42                                                   
 43 test_stat_repeat_weak_groups() {                  
 44   echo "stat repeat weak groups test"             
 45   if ! perf stat -e '{cycles,cycles,cycles,cyc    
 46      true 2>&1 | grep -q 'seconds time elapsed    
 47   then                                            
 48     echo "stat repeat weak groups test [Skippe    
 49     return                                        
 50   fi                                              
 51   if ! perf stat -r2 -e '{cycles,cycles,cycles    
 52     true > /dev/null 2>&1                         
 53   then                                            
 54     echo "stat repeat weak groups test [Failed    
 55     err=1                                         
 56     return                                        
 57   fi                                              
 58   echo "stat repeat weak groups test [Success]    
 59 }                                                 
 60                                                   
 61 test_topdown_groups() {                           
 62   # Topdown events must be grouped with the sl    
 63   # parse-events reorders this.                   
 64   echo "Topdown event group test"                 
 65   if ! perf stat -e '{slots,topdown-retiring}'    
 66   then                                            
 67     echo "Topdown event group test [Skipped ev    
 68     return                                        
 69   fi                                              
 70   if perf stat -e '{slots,topdown-retiring}' t    
 71   then                                            
 72     echo "Topdown event group test [Failed eve    
 73     err=1                                         
 74     return                                        
 75   fi                                              
 76   if perf stat -e '{topdown-retiring,slots}' t    
 77   then                                            
 78     echo "Topdown event group test [Failed slo    
 79     err=1                                         
 80     return                                        
 81   fi                                              
 82   echo "Topdown event group test [Success]"       
 83 }                                                 
 84                                                   
 85 test_topdown_weak_groups() {                      
 86   # Weak groups break if the perf_event_open o    
 87   # fails. Breaking a topdown group causes the    
 88   # grouping to see that the topdown events ar    
 89   echo "Topdown weak groups test"                 
 90   ok_grouping="{slots,topdown-bad-spec,topdown    
 91   if ! perf stat --no-merge -e "$ok_grouping"     
 92   then                                            
 93     echo "Topdown weak groups test [Skipped ev    
 94     return                                        
 95   fi                                              
 96   group_needs_break="{slots,topdown-bad-spec,t    
 97   if perf stat --no-merge -e "$group_needs_bre    
 98   then                                            
 99     echo "Topdown weak groups test [Failed eve    
100     err=1                                         
101     return                                        
102   fi                                              
103   echo "Topdown weak groups test [Success]"       
104 }                                                 
105                                                   
106 test_cputype() {                                  
107   # Test --cputype argument.                      
108   echo "cputype test"                             
109                                                   
110   # Bogus PMU should fail.                        
111   if perf stat --cputype="123" -e instructions    
112   then                                            
113     echo "cputype test [Bogus PMU didn't fail]    
114     err=1                                         
115     return                                        
116   fi                                              
117                                                   
118   # Find a known PMU for cputype.                 
119   pmu=""                                          
120   for i in cpu cpu_atom armv8_pmuv3_0             
121   do                                              
122     if test -d "/sys/devices/$i"                  
123     then                                          
124       pmu="$i"                                    
125       break                                       
126     fi                                            
127     if perf stat -e "$i/instructions/" true >     
128     then                                          
129       pmu="$i"                                    
130       break                                       
131     fi                                            
132   done                                            
133   if test "x$pmu" = "x"                           
134   then                                            
135     echo "cputype test [Skipped known PMU not     
136     return                                        
137   fi                                              
138                                                   
139   # Test running with cputype produces output.    
140   if ! perf stat --cputype="$pmu" -e instructi    
141   then                                            
142     echo "cputype test [Failed count missed wi    
143     err=1                                         
144     return                                        
145   fi                                              
146   echo "cputype test [Success]"                   
147 }                                                 
148                                                   
149 test_default_stat                                 
150 test_stat_record_report                           
151 test_stat_record_script                           
152 test_stat_repeat_weak_groups                      
153 test_topdown_groups                               
154 test_topdown_weak_groups                          
155 test_cputype                                      
156 exit $err                                         
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php