@@ -7,15 +7,15 @@ source governor.sh
7
7
source module.sh
8
8
source special-tests.sh
9
9
10
+ DIR=" $( dirname $( readlink -f " $0 " ) ) "
11
+ source " ${DIR} " /../kselftest/ktap_helpers.sh
12
+
10
13
FUNC=basic # do basic tests by default
11
14
OUTFILE=cpufreq_selftest
12
15
SYSFS=
13
16
CPUROOT=
14
17
CPUFREQROOT=
15
18
16
- # Kselftest framework requirement - SKIP code is 4.
17
- ksft_skip=4
18
-
19
19
helpme ()
20
20
{
21
21
printf " Usage: $0 [-h] [-todg args]
@@ -32,38 +32,38 @@ helpme()
32
32
[-d <driver's module name: only with \" -t modtest>\" ]
33
33
[-g <governor's module name: only with \" -t modtest>\" ]
34
34
\n"
35
- exit 2
35
+ exit " ${KSFT_FAIL} "
36
36
}
37
37
38
38
prerequisite ()
39
39
{
40
40
msg=" skip all tests:"
41
41
42
42
if [ $UID != 0 ]; then
43
- echo $msg must be run as root >&2
44
- exit $ksft_skip
43
+ ktap_skip_all " $msg must be run as root"
44
+ exit " ${KSFT_SKIP} "
45
45
fi
46
46
47
47
taskset -p 01 $$
48
48
49
49
SYSFS=` mount -t sysfs | head -1 | awk ' { print $3 }' `
50
50
51
51
if [ ! -d " $SYSFS " ]; then
52
- echo $msg sysfs is not mounted >&2
53
- exit 2
52
+ ktap_skip_all " $msg sysfs is not mounted"
53
+ exit " ${KSFT_SKIP} "
54
54
fi
55
55
56
56
CPUROOT=$SYSFS /devices/system/cpu
57
57
CPUFREQROOT=" $CPUROOT /cpufreq"
58
58
59
59
if ! ls $CPUROOT /cpu* > /dev/null 2>&1 ; then
60
- echo $msg cpus not available in sysfs >&2
61
- exit 2
60
+ ktap_skip_all " $msg cpus not available in sysfs"
61
+ exit " ${KSFT_SKIP} "
62
62
fi
63
63
64
64
if ! ls $CPUROOT /cpufreq > /dev/null 2>&1 ; then
65
- echo $msg cpufreq directory not available in sysfs >&2
66
- exit 2
65
+ ktap_skip_all " $msg cpufreq directory not available in sysfs"
66
+ exit " ${KSFT_SKIP} "
67
67
fi
68
68
}
69
69
@@ -105,8 +105,7 @@ do_test()
105
105
count=$( count_cpufreq_managed_cpus)
106
106
107
107
if [ $count = 0 -a $FUNC != " modtest" ]; then
108
- echo " No cpu is managed by cpufreq core, exiting"
109
- exit 2;
108
+ ktap_exit_fail_msg " No cpu is managed by cpufreq core, exiting"
110
109
fi
111
110
112
111
case " $FUNC " in
@@ -125,8 +124,7 @@ do_test()
125
124
" modtest" )
126
125
# Do we have modules in place?
127
126
if [ -z $DRIVER_MOD ] && [ -z $GOVERNOR_MOD ]; then
128
- echo " No driver or governor module passed with -d or -g"
129
- exit 2;
127
+ ktap_exit_fail_msg " No driver or governor module passed with -d or -g"
130
128
fi
131
129
132
130
if [ $DRIVER_MOD ]; then
@@ -137,8 +135,7 @@ do_test()
137
135
fi
138
136
else
139
137
if [ $count = 0 ]; then
140
- echo " No cpu is managed by cpufreq core, exiting"
141
- exit 2;
138
+ ktap_exit_fail_msg " No cpu is managed by cpufreq core, exiting"
142
139
fi
143
140
144
141
module_governor_test $GOVERNOR_MOD
@@ -162,7 +159,7 @@ do_test()
162
159
;;
163
160
164
161
* )
165
- echo " Invalid [-f] function type"
162
+ ktap_print_msg " Invalid [-f] function type"
166
163
helpme
167
164
;;
168
165
esac
@@ -186,13 +183,25 @@ dmesg_dumps()
186
183
dmesg >> $1 .dmesg_full.txt
187
184
}
188
185
186
+ ktap_print_header
187
+
189
188
# Parse arguments
190
189
parse_arguments $@
191
190
191
+ ktap_set_plan 1
192
+
192
193
# Make sure all requirements are met
193
194
prerequisite
194
195
195
196
# Run requested functions
196
197
clear_dumps $OUTFILE
197
198
do_test | tee -a $OUTFILE .txt
199
+ if [ " ${PIPESTATUS[0]} " -ne 0 ]; then
200
+ exit ${PIPESTATUS[0]} ;
201
+ fi
198
202
dmesg_dumps $OUTFILE
203
+
204
+ ktap_test_pass " Completed successfully"
205
+
206
+ ktap_print_totals
207
+ exit " ${KSFT_PASS} "
0 commit comments