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

TOMOYO Linux Cross Reference
Linux/tools/testing/selftests/cpufreq/main.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/testing/selftests/cpufreq/main.sh (Version linux-6.12-rc7) and /tools/testing/selftests/cpufreq/main.sh (Version policy-sample)


  1 #!/bin/bash                                       
  2 # SPDX-License-Identifier: GPL-2.0                
  3                                                   
  4 source cpu.sh                                     
  5 source cpufreq.sh                                 
  6 source governor.sh                                
  7 source module.sh                                  
  8 source special-tests.sh                           
  9                                                   
 10 DIR="$(dirname $(readlink -f "$0"))"              
 11 source "${DIR}"/../kselftest/ktap_helpers.sh      
 12                                                   
 13 FUNC=basic      # do basic tests by default       
 14 OUTFILE=cpufreq_selftest                          
 15 SYSFS=                                            
 16 CPUROOT=                                          
 17 CPUFREQROOT=                                      
 18                                                   
 19 helpme()                                          
 20 {                                                 
 21         printf "Usage: $0 [-h] [-todg args]       
 22         [-h <help>]                               
 23         [-o <output-file-for-dump>]               
 24         [-t <basic: Basic cpufreq testing         
 25              suspend: suspend/resume,             
 26              hibernate: hibernate/resume,         
 27              suspend_rtc: suspend/resume back     
 28              hibernate_rtc: hibernate/resume b    
 29              modtest: test driver or governor     
 30              sptest1: Simple governor switch t    
 31              sptest2: Concurrent governor swit    
 32              sptest3: Governor races, shuffle     
 33              sptest4: CPU hotplugs with update    
 34         [-d <driver's module name: only with \    
 35         [-g <governor's module name: only with    
 36         \n"                                       
 37         exit "${KSFT_FAIL}"                       
 38 }                                                 
 39                                                   
 40 prerequisite()                                    
 41 {                                                 
 42         msg="skip all tests:"                     
 43                                                   
 44         if [ $UID != 0 ]; then                    
 45                 ktap_skip_all "$msg must be ru    
 46                 exit "${KSFT_SKIP}"               
 47         fi                                        
 48                                                   
 49         taskset -p 01 $$                          
 50                                                   
 51         SYSFS=`mount -t sysfs | head -1 | awk     
 52                                                   
 53         if [ ! -d "$SYSFS" ]; then                
 54                 ktap_skip_all "$msg sysfs is n    
 55                 exit "${KSFT_SKIP}"               
 56         fi                                        
 57                                                   
 58         CPUROOT=$SYSFS/devices/system/cpu         
 59         CPUFREQROOT="$CPUROOT/cpufreq"            
 60                                                   
 61         if ! ls $CPUROOT/cpu* > /dev/null 2>&1    
 62                 ktap_skip_all "$msg cpus not a    
 63                 exit "${KSFT_SKIP}"               
 64         fi                                        
 65                                                   
 66         if ! ls $CPUROOT/cpufreq > /dev/null 2    
 67                 ktap_skip_all "$msg cpufreq di    
 68                 exit "${KSFT_SKIP}"               
 69         fi                                        
 70 }                                                 
 71                                                   
 72 parse_arguments()                                 
 73 {                                                 
 74         while getopts ht:o:d:g: arg               
 75         do                                        
 76                 case $arg in                      
 77                         h) # --help               
 78                                 helpme            
 79                                 ;;                
 80                                                   
 81                         t) # --func_type (Func    
 82                            # suspend_rtc, hibe    
 83                                 FUNC=$OPTARG      
 84                                 ;;                
 85                                                   
 86                         o) # --output-file (Ou    
 87                                 OUTFILE=$OPTAR    
 88                                 ;;                
 89                                                   
 90                         d) # --driver-mod-name    
 91                                 DRIVER_MOD=$OP    
 92                                 ;;                
 93                                                   
 94                         g) # --governor-mod-na    
 95                                 GOVERNOR_MOD=$    
 96                                 ;;                
 97                                                   
 98                         \?)                       
 99                                 helpme            
100                                 ;;                
101                 esac                              
102         done                                      
103 }                                                 
104                                                   
105 do_test()                                         
106 {                                                 
107         # Check if CPUs are managed by cpufreq    
108         count=$(count_cpufreq_managed_cpus)       
109                                                   
110         if [ $count = 0 -a $FUNC != "modtest"     
111                 ktap_exit_fail_msg "No cpu is     
112         fi                                        
113                                                   
114         case "$FUNC" in                           
115                 "basic")                          
116                 cpufreq_basic_tests               
117                 ;;                                
118                                                   
119                 "suspend")                        
120                 do_suspend "suspend" 1            
121                 ;;                                
122                                                   
123                 "hibernate")                      
124                 do_suspend "hibernate" 1          
125                 ;;                                
126                                                   
127                 "suspend_rtc")                    
128                 do_suspend "suspend" 1 rtc        
129                 ;;                                
130                                                   
131                 "hibernate_rtc")                  
132                 do_suspend "hibernate" 1 rtc      
133                 ;;                                
134                                                   
135                 "modtest")                        
136                 # Do we have modules in place?    
137                 if [ -z $DRIVER_MOD ] && [ -z     
138                         ktap_exit_fail_msg "No    
139                 fi                                
140                                                   
141                 if [ $DRIVER_MOD ]; then          
142                         if [ $GOVERNOR_MOD ];     
143                                 module_test $D    
144                         else                      
145                                 module_driver_    
146                         fi                        
147                 else                              
148                         if [ $count = 0 ]; the    
149                                 ktap_exit_fail    
150                         fi                        
151                                                   
152                         module_governor_test $    
153                 fi                                
154                 ;;                                
155                                                   
156                 "sptest1")                        
157                 simple_lockdep                    
158                 ;;                                
159                                                   
160                 "sptest2")                        
161                 concurrent_lockdep                
162                 ;;                                
163                                                   
164                 "sptest3")                        
165                 governor_race                     
166                 ;;                                
167                                                   
168                 "sptest4")                        
169                 hotplug_with_updates              
170                 ;;                                
171                                                   
172                 *)                                
173                 ktap_print_msg "Invalid [-f] f    
174                 helpme                            
175                 ;;                                
176         esac                                      
177 }                                                 
178                                                   
179 # clear dumps                                     
180 # $1: file name                                   
181 clear_dumps()                                     
182 {                                                 
183         echo "" > $1.txt                          
184         echo "" > $1.dmesg_cpufreq.txt            
185         echo "" > $1.dmesg_full.txt               
186 }                                                 
187                                                   
188 # $1: output file name                            
189 dmesg_dumps()                                     
190 {                                                 
191         dmesg | grep cpufreq >> $1.dmesg_cpufr    
192                                                   
193         # We may need the full logs as well       
194         dmesg >> $1.dmesg_full.txt                
195 }                                                 
196                                                   
197 ktap_print_header                                 
198                                                   
199 # Parse arguments                                 
200 parse_arguments $@                                
201                                                   
202 ktap_set_plan 1                                   
203                                                   
204 # Make sure all requirements are met              
205 prerequisite                                      
206                                                   
207 # Run requested functions                         
208 clear_dumps $OUTFILE                              
209 do_test | tee -a $OUTFILE.txt                     
210 if [ "${PIPESTATUS[0]}" -ne 0 ]; then             
211     exit ${PIPESTATUS[0]};                        
212 fi                                                
213 dmesg_dumps $OUTFILE                              
214                                                   
215 ktap_test_pass "Completed successfully"           
216                                                   
217 ktap_print_totals                                 
218 exit "${KSFT_PASS}"                               
                                                      

~ [ 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