/
UTIL & MDB test script
UTIL & MDB test script
#!/bin/bash
ipa=$(sudo ifconfig | grep -A 1 vmxnet3s0 | sed '1d; s/^[ \t]*inet[ \t]*//; s/[ \t]*netmask.*$//')
if [ -n "$1" ]; then
CLOG="/var/tmp/util-stability.$(date +%F-%T).txt"
echo "================== Stability util & mdb tests $(date +%F-%T) ==================" > ${CLOG}
uname -a >> ${CLOG}
echo "IP Address : ${ipa}" >> ${CLOG}
for (( i=1; i<=$1; i++ ))
do
echo "--------------------------------------- Pass ${i} ------------------------------------" 2>&1 | /usr/bin/tee -a ${CLOG}
START_TIME=$(date +%s)
LOG="/var/tmp/util-test.$i.txt"
uname -a > ${LOG}
echo "IP Address : ${ipa}" >> ${LOG}
echo "---------------------------------------- UTILS --------------------------------------" 2>&1 | /usr/bin/tee -a ${LOG}
/opt/util-tests/bin/utiltest 2>&1 | /usr/bin/tee -a ${LOG}
percent="$(grep 'Percent passed:' ${LOG} | sed 's/Percent passed:[ \t]*//; s/[ \t]*$//')"
echo " UTILS percent passed: ${percent}" >> ${CLOG}
folder="$(grep 'Log directory:' ${LOG} | sed 's/Log directory:[ \t]*//; s/[ \t]*$//')"
if [ "${percent}" != "100.0%" ]; then
END_TIME=$(date +%s)
delta=$(($END_TIME - $START_TIME))
sec=$(($delta % 60))
let "amin = $delta / 60"
let "hour = $amin / 60"
min=$(($amin%60))
printf " Running time: %02d:%02d:%02d\n" >> ${CLOG}
echo " PASS ${i} IS FAILED! (See ${LOG})" >> ${CLOG}
echo "Fault on ${i} pass! Just ${percent} are successfull. You can find logs in ${folder}." 2>&1 | /usr/bin/tee -a ${LOG}
exit 1
fi
sudo rm -r -f ${folder}
echo "---------------------------------------- MDB --------------------------------------" 2>&1 | /usr/bin/tee -a ${LOG}
/opt/util-tests/bin/utiltest -c /opt/util-tests/runfiles/mdb.run > tmp.log
folder="$(grep 'Log directory:' tmp.log | sed 's/Log directory:[ \t]*//; s/[ \t]*$//')"
sudo rm -f tmp.log
LOG1="${folder}/log"
rt=$(sed '/^Test: /!d;s/ \[[A-Z]*\]//;s/^.*\[//;s/\].*//' ${LOG1})
pass=$(sed -n '/ Tests passed:/p' ${LOG1} | sed 's/^.*Tests passed:[ \t]*//;s/[ \t]*$//')
total=$(sed -n '/ Tests ran:/p' ${LOG1} | sed 's/^.*Tests ran:[ \t]*//;s/[ \t]*$//')
percent=$(echo "scale=1; ${pass}*100.0/${total}" | bc)
folder=$(sed -n '/ output directory:/p' ${LOG1} | sed 's/^.* output directory:[ \t]*//;s/[ \t]*$//')
echo " MDB percent passed: ${percent}" >> ${CLOG}
END_TIME=$(date +%s)
delta=$(($END_TIME - $START_TIME))
sec=$(($delta % 60))
let "amin = $delta / 60"
let "hour = $amin / 60"
min=$(($amin%60))
printf " Running time: %02d:%02d:%02d\n" $hour $min $sec >> ${CLOG}
cat ${LOG1} 2>&1 | /usr/bin/tee -a ${LOG}
if [ "${percent}" == "100.0" ]; then
sudo rm -f ${LOG}
sudo rm -r -f ${folder}
else
echo " PASS ${i} IS FAILED! (See ${LOG})" >> ${CLOG}
echo "Fault on ${i} pass! Just ${percent}% are successfull. You can find logs in ${folder}." 2>&1 | /usr/bin/tee -a ${LOG}
exit 1
fi
done
else
LOG="/var/tmp/util-test.$(date +%F-%T).txt"
uname -a > u.tmp
echo "IP Address : ${ipa}" >> u.tmp
echo "" >> u.tmp
echo "---------------------------------------- UTILS --------------------------------------" 2>&1 | /usr/bin/tee -a ${LOG}
/opt/util-tests/bin/utiltest 2>&1 | /usr/bin/tee -a ${LOG}
fail=$(sed -n '/^FAIL[ \t]*/p' ${LOG} | sed 's/^FAIL[ \t]*//; s/[ \t]*$//')
pass=$(sed -n '/^PASS[ \t]*/p' ${LOG} | sed 's/^PASS[ \t]*//; s/[ \t]*$//')
utotal=0
if [ "${pass}" != "" ]; then
utotal=$((${utotal} + ${pass}))
fi
if [ "${fail}" != "" ]; then
utotal=$((${utotal} + ${fail}))
fi
echo "---------------------------------------- MDB --------------------------------------" 2>&1 | /usr/bin/tee -a ${LOG}
/opt/util-tests/bin/utiltest -c /opt/util-tests/runfiles/mdb.run > tmp.log
folder="$(grep 'Log directory:' tmp.log | sed 's/Log directory:[ \t]*//; s/[ \t]*$//')"
sudo rm -f tmp.log
LOG1="${folder}/log"
tm=$(sed '/^Test: /!d;s/ \[[A-Z]*\]//;s/^.*\[//;s/\].*//' ${LOG1})
mtotal=$(sed -n '/ Tests ran:/p' ${LOG1} | sed 's/^.*Tests ran:[ \t]*//;s/[ \t]*$//')
total=$((${utotal} + ${mtotal}))
echo "TOTAL TESTS: $total" >> u.tmp
echo "---------------------------------------------------------" >> u.tmp
echo "UTIL TESTS: $utotal" >> u.tmp
sed -n '/Results Summary/,/Log directory:/p' ${LOG} >> u.tmp
echo "---------------------------------------------------------" >> u.tmp
echo "MDB TESTS: $mtotal" >> u.tmp
pass=$(sed -n '/ Tests passed:/p' ${LOG1} | sed 's/^.*Tests passed:[ \t]*//;s/[ \t]*$//')
result=$(echo "scale=1; ${pass}*100.0/${mtotal}" | bc)
folder=$(sed -n '/ output directory:/p' ${LOG1} | sed 's/^.* output directory:[ \t]*//;s/[ \t]*$//')
sed -n '/ Tests passed:/,/ Tests ran:/p' ${LOG1} | sed 's/^.*Tests passed:[ \t]*/PASS \t/;s/^.*Tests failed:[ \t]*/FAIL \t/;s/^.*Tests ran:[ \t]*/TOTAL\t/' >> u.tmp
echo "" >> u.tmp
echo "Running Time: 00:${tm}" >> u.tmp
echo "Percent passed: ${result}" >> u.tmp
echo "Log directory: ${folder}" >> u.tmp
echo "---------------------------------------------------------" >> u.tmp
echo "" >> u.tmp
cat ${LOG} >> u.tmp
cat ${LOG1} 2>&1 | /usr/bin/tee -a u.tmp
mv -f u.tmp ${LOG}
fi
Related content
Запуск тестов UTIL & MDB на VM
Запуск тестов UTIL & MDB на VM
Read with this
OS test script
OS test script
More like this
Как настроить сеть на Виртуальной Машине для глобальной зоны с коммутатором etherstub
Как настроить сеть на Виртуальной Машине для глобальной зоны с коммутатором etherstub
Read with this
LIBC Test script
LIBC Test script
More like this
MDB only test script
MDB only test script
More like this
ELF test script
ELF test script
More like this