blob: 90311f262a703e352ba404f1ecbb710eff46cb6f [file] [log] [blame]
#!/bin/bash
cat <<-EOF
*************************************************************************
Pay attention:
This is basic BSP test, including onlining/offlining CPU0 and other
regular CPUs for 10 times by default and checking if operations for S3/S4
as expected whenever CPU0 is onlined or offlined.
*************************************************************************
*************************************************************************
execution sequence is as follows:
1. execute per cpu (CPU0,...CPUx) offline & online operation in sequence.
2. execute cpu offline & online operation in group mode.
3. execute S3/S4 test along with CPU0 onlined and offlined, respectively.
In addition, in order to avoid losing ssh connection once S3/S4 test is
not as expected accidentally, use screen tool to keep the session always
connected.
Note: "DO NOT do any operation when S3/S4 test is running."
*************************************************************************
*************************************************************************
log checking:
For detail log information please refer to following files:
mce-test/cases/function/bsp/log/*.output
mce-test/cases/function/bsp/log/*.bsplog
*************************************************************************
EOF
TMP="../../../work"
TMP_DIR=${TMP_DIR:-$TMP}
if [ ! -d $TMP_DIR ]; then
TMP_DIR=$TMP
fi
export TMP_DIR
#$TMP_DIR can be absolute/relative path. Utilize it to locate BSP directory
export BSP_DIR=`(cd $TMP_DIR; cd ../cases/function/bsp; pwd)`
export BSP_LOG_DIR=$BSP_DIR/log
export BSP_LOG=$BSP_LOG_DIR/$(date +%Y-%m-%d.%H.%M.%S)-`uname -r`.bsplog
export OUTPUT_LOG=$BSP_LOG_DIR/$(date +%Y-%m-%d.%H.%M.%S)-`uname -r`.output
export NUM_CPU=`ls -d /sys/devices/system/cpu/cpu[0-9]* | wc -l`
export MAX_CPU=`expr $NUM_CPU - 1`
export FAILST=$TMP_DIR/fail.list
mkdir -p $BSP_LOG_DIR
touch $FAILST
pushd `dirname $0` > /dev/null
#check if installed screen tool
which screen &> /dev/null
if [ $? -ne 0 ]
then
echo "Sorry, Please install screen first. Exiting..."
exit 1
else
#check bsp support
if [ -f /sys/devices/system/cpu/cpu0/online ]
then
echo "BSP is supported by current kernel!"
else
echo "BSP is not supported by current kernel, please rebuild kernel \
and test again. Exiting..."
exit 1
fi
screen ./bsp-test.sh
NUM_FAIL_CPU=`grep "CPU" $FAILST |wc -l`
NUM_PASS_CPU=`expr $NUM_CPU - $NUM_FAIL_CPU`
echo "Total CPU Test: $NUM_CPU"
echo "Total CPU Pass: $NUM_PASS_CPU"
echo "Total CPU Fail: $NUM_FAIL_CPU"
cat $FAILST
cat $OUTPUT_LOG |grep -q "FAILED"
if [ $? -ne 0 ]
then
echo -e "\nTEST PASSES"
exit 0
else
echo -e "\nTEST FAILS"
exit 1
fi
fi
popd > /dev/null