mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-13 23:46:11 +07:00
7dedfd4335
Currently qemu output appears on standard output, but is inaccessible later on. This commit therefore captures this output and causes kvm-recheck.sh to output this output if QEMU gave a non-zero non-137 exit code. (And exit code of 137 indicates that QEMU was killed, in which case we want to know about the hang rather than the fact that QEMU was killed.) Signed-off-by: Paul E. McKenney <paulmck@linux.ibm.com>
72 lines
1.9 KiB
Bash
Executable File
72 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
# SPDX-License-Identifier: GPL-2.0+
|
|
#
|
|
# Given the results directories for previous KVM-based torture runs,
|
|
# check the build and console output for errors. Given a directory
|
|
# containing results directories, this recursively checks them all.
|
|
#
|
|
# Usage: kvm-recheck.sh resdir ...
|
|
#
|
|
# Returns status reflecting the success or not of the last run specified.
|
|
#
|
|
# Copyright (C) IBM Corporation, 2011
|
|
#
|
|
# Authors: Paul E. McKenney <paulmck@linux.ibm.com>
|
|
|
|
PATH=`pwd`/tools/testing/selftests/rcutorture/bin:$PATH; export PATH
|
|
. functions.sh
|
|
for rd in "$@"
|
|
do
|
|
firsttime=1
|
|
dirs=`find $rd -name Make.defconfig.out -print | sort | sed -e 's,/[^/]*$,,' | sort -u`
|
|
for i in $dirs
|
|
do
|
|
if test -n "$firsttime"
|
|
then
|
|
firsttime=""
|
|
resdir=`echo $i | sed -e 's,/$,,' -e 's,/[^/]*$,,'`
|
|
head -1 $resdir/log
|
|
fi
|
|
TORTURE_SUITE="`cat $i/../TORTURE_SUITE`"
|
|
rm -f $i/console.log.*.diags
|
|
kvm-recheck-${TORTURE_SUITE}.sh $i
|
|
if test -f "$i/qemu-retval" && test "`cat $i/qemu-retval`" -ne 0 && test "`cat $i/qemu-retval`" -ne 137
|
|
then
|
|
echo QEMU error, output:
|
|
cat $i/qemu-output
|
|
elif test -f "$i/console.log"
|
|
then
|
|
if test -f "$i/qemu-retval" && test "`cat $i/qemu-retval`" -eq 137
|
|
then
|
|
echo QEMU killed
|
|
fi
|
|
configcheck.sh $i/.config $i/ConfigFragment
|
|
if test -r $i/Make.oldconfig.err
|
|
then
|
|
cat $i/Make.oldconfig.err
|
|
fi
|
|
parse-build.sh $i/Make.out $configfile
|
|
parse-console.sh $i/console.log $configfile
|
|
if test -r $i/Warnings
|
|
then
|
|
cat $i/Warnings
|
|
fi
|
|
else
|
|
if test -f "$i/qemu-cmd"
|
|
then
|
|
print_bug qemu failed
|
|
echo " $i"
|
|
elif test -f "$i/buildonly"
|
|
then
|
|
echo Build-only run, no boot/test
|
|
configcheck.sh $i/.config $i/ConfigFragment
|
|
parse-build.sh $i/Make.out $configfile
|
|
else
|
|
print_bug Build failed
|
|
echo " $i"
|
|
fi
|
|
fi
|
|
done
|
|
done
|
|
EDITOR=echo kvm-find-errors.sh "${@: -1}" > /dev/null 2>&1
|