Commit 3d2cc4fe authored by Paul E. McKenney's avatar Paul E. McKenney
Browse files

torture: Add "scenarios" option to kvm.sh --dryrun parameter



This commit adds "--dryrun scenarios" to kvm.sh, which prints something
like this:

1.  TREE03
2.  TREE07
3.  SRCU-P SRCU-N
4.  TREE01 TRACE01
5.  TREE02 TRACE02
6.  TREE04 RUDE01 TASKS01
7.  TREE05 TASKS03 SRCU-T SRCU-U
8.  TASKS02 TINY01 TINY02 TREE09

This format is more convenient for scripts that run batches of scenarios.

Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
parent 98da7719
Loading
Loading
Loading
Loading
+26 −2
Original line number Diff line number Diff line
@@ -64,7 +64,7 @@ usage () {
	echo "       --cpus N"
	echo "       --datestamp string"
	echo "       --defconfig string"
	echo "       --dryrun batches|sched|script"
	echo "       --dryrun batches|scenarios|sched|script"
	echo "       --duration minutes | <seconds>s | <hours>h | <days>d"
	echo "       --gdb"
	echo "       --help"
@@ -130,7 +130,7 @@ do
		shift
		;;
	--dryrun)
		checkarg --dryrun "batches|sched|script" $# "$2" 'batches\|sched\|script' '^--'
		checkarg --dryrun "batches|sched|script" $# "$2" 'batches\|scenarios\|sched\|script' '^--'
		dryrun=$2
		shift
		;;
@@ -577,6 +577,25 @@ egrep 'Start batch|Starting build\.' $T/script | grep -v ">>" |
		print batchno, $1, $2
	}' > $T/batches

# As above, but one line per batch.
grep -v '^#' $T/batches | awk '
BEGIN {
	oldbatch = 1;
}

{
	if (oldbatch != $1) {
		print ++n ". " curbatch;
		curbatch = "";
		oldbatch = $1;
	}
	curbatch = curbatch " " $2;
}

END {
	print ++n ". " curbatch;
}' > $T/scenarios

if test "$dryrun" = script
then
	cat $T/script
@@ -597,11 +616,16 @@ elif test "$dryrun" = batches
then
	cat $T/batches
	exit 0
elif test "$dryrun" = scenarios
then
	cat $T/scenarios
	exit 0
else
	# Not a dryrun.  Record the batches and the number of CPUs, then run the script.
	bash $T/script
	ret=$?
	cp $T/batches $resdir/$ds/batches
	cp $T/scenarios $resdir/$ds/scenarios
	echo '#' cpus=$cpus >> $resdir/$ds/batches
	echo " --- Done at `date` (`get_starttime_duration $starttime`) exitcode $ret" | tee -a $resdir/$ds/log
	exit $ret