Quellcode durchsuchen

torture: Report diagnostics from qemu

The current script does record qemu diagnostics, but the user has to
know where to look for them.  This commit therefore puts them into the
Warnings file so that kvm-recheck.sh will display them.  This change is
especially useful if you are in the habit of killing the qemu process
when you realize that you messed something up, but then later on wonder
why the process terminated early.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Paul E. McKenney vor 12 Jahren
Ursprung
Commit
fff35c4e9f
1 geänderte Dateien mit 8 neuen und 1 gelöschten Zeilen
  1. 8 1
      tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh

+ 8 - 1
tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh

@@ -157,7 +157,7 @@ then
 	echo Build-only run specified, boot/test omitted.
 	echo Build-only run specified, boot/test omitted.
 	exit 0
 	exit 0
 fi
 fi
-$QEMU $qemu_args -m 512 -kernel $builddir/arch/x86/boot/bzImage -append "$qemu_append $boot_args" &
+( $QEMU $qemu_args -m 512 -kernel $builddir/arch/x86/boot/bzImage -append "$qemu_append $boot_args"; echo $? > $resdir/qemu-retval ) &
 qemu_pid=$!
 qemu_pid=$!
 commandcompleted=0
 commandcompleted=0
 echo Monitoring qemu job at pid $qemu_pid
 echo Monitoring qemu job at pid $qemu_pid
@@ -172,6 +172,13 @@ do
 		if test $kruntime -lt $seconds
 		if test $kruntime -lt $seconds
 		then
 		then
 			echo Completed in $kruntime vs. $seconds >> $resdir/Warnings 2>&1
 			echo Completed in $kruntime vs. $seconds >> $resdir/Warnings 2>&1
+			grep "^(qemu) qemu:" $resdir/kvm-test-1-run.sh.out >> $resdir/Warnings 2>&1
+			killpid="`sed -n "s/^(qemu) qemu: terminating on signal [0-9]* from pid \([0-9]*\).*$/\1/p" $resdir/Warnings`"
+			if test -n "$killpid"
+			then
+				echo "ps -fp $killpid" >> $resdir/Warnings 2>&1
+				ps -fp $killpid >> $resdir/Warnings 2>&1
+			fi
 		else
 		else
 			echo ' ---' `date`: Kernel done
 			echo ' ---' `date`: Kernel done
 		fi
 		fi