72 lines
1.9 KiB
Bash
72 lines
1.9 KiB
Bash
|
#!/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
|