Commit 018629e9 authored by Paul E. McKenney's avatar Paul E. McKenney
Browse files

torture: Make kvm-transform.sh update jitter commands



When rerunning an old run using kvm-again.sh, the jitter commands
will re-use the original "res" directory.  This works, but is clearly
an accident waiting to happen.  And this accident will happen with
remote runs, where the original directory lives on some other system.
This commit therefore updates the qemu-cmd commands to use the new res
directory created for this specific run.

Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
parent 00505165
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -153,7 +153,8 @@ do
	cp "$i" $T
	qemu_cmd_dir="`dirname "$i"`"
	kernel_dir="`echo $qemu_cmd_dir | sed -e 's/\.[0-9]\+$//'`"
	kvm-transform.sh $kernel_dir/bzImage $qemu_cmd_dir/console.log $dur < $T/qemu-cmd > $i
	jitter_dir="`dirname "$kernel_dir"`"
	kvm-transform.sh "$kernel_dir/bzImage" "$qemu_cmd_dir/console.log" "$jitter_dir" $dur < $T/qemu-cmd > $i
	if test -n "$dur"
	then
		echo "# seconds=$dur" >> $i
+20 −3
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@
#
# Transform a qemu-cmd file to allow reuse.
#
# Usage: kvm-transform.sh bzImage console.log [ seconds ] < qemu-cmd-in > qemu-cmd-out
# Usage: kvm-transform.sh bzImage console.log jitter_dir [ seconds ] < qemu-cmd-in > qemu-cmd-out
#
#	bzImage: Kernel and initrd from the same prior kvm.sh run.
#	console.log: File into which to place console output.
@@ -29,14 +29,31 @@ then
	echo "Need console log file name."
	exit 1
fi
seconds=$3
jitter_dir="$3"
if test -z "$jitter_dir" || ! test -d "$jitter_dir"
then
	echo "Need valid jitter directory: '$jitter_dir'"
	exit 1
fi
seconds="$4"
if test -n "$seconds" && echo $seconds | grep -q '[^0-9]'
then
	echo "Invalid duration, should be numeric in seconds: '$seconds'"
	exit 1
fi

awk -v image="$image" -v consolelog="$consolelog" -v seconds="$seconds" '
awk -v image="$image" -v consolelog="$consolelog" -v jitter_dir="$jitter_dir" \
    -v seconds="$seconds" '
/^# TORTURE_JITTER_START=/ {
	print "# TORTURE_JITTER_START=\". jitterstart.sh " $4 " " jitter_dir " " $6 " " $7;
	next;
}

/^# TORTURE_JITTER_STOP=/ {
	print "# TORTURE_JITTER_STOP=\". jitterstop.sh " " " jitter_dir " " $5;
	next;
}

/^#/ {
	print $0;
	next;