Skip to content

Commit fa11a54

Browse files
paulmckrcuJoel Fernandes
authored andcommitted
torture: Add --do-{,no-}normal to torture.sh
Right now, torture.sh runs normal runs unconditionally, which can be slow and thus annoying when you only want to test --kcsan or --kasan runs. This commit therefore adds a --do-normal argument so that "--kcsan --do-no-kasan --do-no-normal" runs only KCSAN runs. Note that specifying "--do-no-kasan --do-no-kcsan --do-no-normal" gets normal runs, so you should not try to use this as a synonym for --do-none. Signed-off-by: Paul E. McKenney <[email protected]> Signed-off-by: Joel Fernandes <[email protected]>
1 parent b9af71a commit fa11a54

File tree

1 file changed

+27
-3
lines changed

1 file changed

+27
-3
lines changed

tools/testing/selftests/rcutorture/bin/torture.sh

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ do_scftorture=yes
5151
do_rcuscale=yes
5252
do_refscale=yes
5353
do_kvfree=yes
54+
do_normal=yes
55+
explicit_normal=no
5456
do_kasan=yes
5557
do_kcsan=no
5658
do_clocksourcewd=yes
@@ -128,6 +130,8 @@ do
128130
do_refscale=yes
129131
do_rt=yes
130132
do_kvfree=yes
133+
do_normal=yes
134+
explicit_normal=no
131135
do_kasan=yes
132136
do_kcsan=yes
133137
do_clocksourcewd=yes
@@ -161,11 +165,17 @@ do
161165
do_refscale=no
162166
do_rt=no
163167
do_kvfree=no
168+
do_normal=no
169+
explicit_normal=no
164170
do_kasan=no
165171
do_kcsan=no
166172
do_clocksourcewd=no
167173
do_srcu_lockdep=no
168174
;;
175+
--do-normal|--do-no-normal|--no-normal)
176+
do_normal=`doyesno "$1" --do-normal`
177+
explicit_normal=yes
178+
;;
169179
--do-rcuscale|--do-no-rcuscale|--no-rcuscale)
170180
do_rcuscale=`doyesno "$1" --do-rcuscale`
171181
;;
@@ -242,6 +252,17 @@ trap 'rm -rf $T' 0 2
242252
echo " --- " $scriptname $args | tee -a $T/log
243253
echo " --- Results directory: " $ds | tee -a $T/log
244254

255+
if test "$do_normal" = "no" && test "$do_kasan" = "no" && test "$do_kcsan" = "no"
256+
then
257+
# Match old scripts so that "--do-none --do-rcutorture" does
258+
# normal rcutorture testing, but no KASAN or KCSAN testing.
259+
if test $explicit_normal = yes
260+
then
261+
echo " --- Everything disabled, so explicit --do-normal overridden" | tee -a $T/log
262+
fi
263+
do_normal=yes
264+
fi
265+
245266
# Calculate rcutorture defaults and apportion time
246267
if test -z "$configs_rcutorture"
247268
then
@@ -332,9 +353,12 @@ function torture_set {
332353
local kcsan_kmake_tag=
333354
local flavor=$1
334355
shift
335-
curflavor=$flavor
336-
torture_one "$@"
337-
mv $T/last-resdir $T/last-resdir-nodebug || :
356+
if test "$do_normal" = "yes"
357+
then
358+
curflavor=$flavor
359+
torture_one "$@"
360+
mv $T/last-resdir $T/last-resdir-nodebug || :
361+
fi
338362
if test "$do_kasan" = "yes"
339363
then
340364
curflavor=${flavor}-kasan

0 commit comments

Comments
 (0)