#!/bin/sh # Source the common test script helpers . /usr/bin/rhts_environment.sh # Functions RprtRslt() { TEST=$1 result=$2 if test ! -s "$OUTPUTFILE" ; then export result="FAIL" else if [ "$result" = "PASS" ] ; then export result="PASS" else export result="FAIL" fi fi # File the results in the database report_result $TEST $result } TimeNow() { date "+%Y.%m.%d %H:%M:%S" } RunTest() { case "$1" in 1) TESTARGS='-l /mnt/testarea/fs_1.log' RUNTEST=Default ;; 2) TESTARGS='-l /mnt/testarea/fs_2.log -r 32' RUNTEST=Random ;; 3) TESTARGS='-l /mnt/testarea/fs_3.log -D 128' RUNTEST=MultiDir ;; 4) TESTARGS='-l /mnt/testarea/fs_4.log -r 32 -D 128' RUNTEST=Random_MultiDir ;; esac echo "***** Start of $RUNTEST $(TimeNow) *****" | tee -a $OUTPUTFILE # Default result to Fail export result_r="FAIL" echo "./fs_mark -d ${DIR1} -d ${DIR2} -s $FSMARK_S_PARAM -n $FSMARK_N_PARAM $TESTARGS" | tee -a $OUTPUTFILE ./fs_mark -d ${DIR1} -d ${DIR2} -s $FSMARK_S_PARAM -n $FSMARK_N_PARAM $TESTARGS 2>&1 >> $OUTPUTFILE if [ $? -eq 0 ] ; then echo "$RUNTEST Passed: " | tee -a $OUTPUTFILE result_r="PASS" else echo "$RUNTEST Failed: " | tee -a $OUTPUTFILE result_r="FAIL" fi echo " " >> $OUTPUTFILE echo "***** End of $RUNTEST $(TimeNow) *****" | tee -a $OUTPUTFILE echo " " >> $OUTPUTFILE if [ -e plot_$1 ] ; then gnuplot plot_$1 echo "*******************************************************************************" >> $OUTPUTFILE cat plot-$1.txt >> $OUTPUTFILE echo "*******************************************************************************" >> $OUTPUTFILE fi RprtRslt "$FSMARK_RESULT_PREFIX$RUNTEST" $result_r } # ---------- Start Test ------------- # Setup some variables # env params: name default # FSMARK_TESTDIR /mnt/testarea # FSMARK_S_PARAM 32768 # FSMARK_N_PARAM 4096 # FSMARK_RESULT_PREFIX # # This test can be included by other tests, so if you plan to change/remove # some of env. variables, you should keep this in mind. if [ -e /etc/redhat-release ] ; then installeddistro=$(cat /etc/redhat-release) else installeddistro=unknown fi kernbase=$(rpm -q --queryformat '%{name}-%{version}-%{release}.%{arch}\n' -qf /boot/config-$(uname -r)) testver=$(rpm -qf $0) if [ -z "$FSMARK_S_PARAM" ]; then FSMARK_S_PARAM=32768 fi if [ -z "$FSMARK_N_PARAM" ]; then FSMARK_N_PARAM=4096 fi if [ -n "$FSMARK_TESTDIR" -a -d "$FSMARK_TESTDIR" ]; then echo "FSMARK_TESTDIR: $FSMARK_TESTDIR" | tee -a $OUTPUTFILE else FSMARK_TESTDIR="/mnt/testarea" fi DIR1=$FSMARK_TESTDIR/testdir1 DIR2=$FSMARK_TESTDIR/testdir2 echo "Going to run tests in $DIR1, $DIR2" | tee -a $OUTPUTFILE cd ./fs_mark TESTS='1 2 3 4' for t in $TESTS ; do if [ -e /mnt/testarea/fs_$t.log ]; then rm -f /mnt/testarea/fs_$t.log fi done for t in $TESTS ; do OUTPUTFILE=`mktemp /tmp/tmp.XXXXXX` echo "***** Current Running Kernel Package = "$kernbase" *****" | tee -a $OUTPUTFILE echo "***** Current Running Distro = "$installeddistro" *****" | tee -a $OUTPUTFILE echo "***** Current Running test version = "$testver" *****" | tee -a $OUTPUTFILE if [ -d $DIR1 ]; then rm -rf $DIR1 fi if [ -d $DIR2 ]; then rm -rf $DIR2 fi mkdir -p $DIR1 mkdir -p $DIR2 echo "Running fs_mark test: $FSMARK_RESULT_PREFIX$t" | tee -a $OUTPUTFILE RunTest $t done exit 0