From 9d36eca70a458c736e44fd8eb9184415ec45f1e6 Mon Sep 17 00:00:00 2001 From: Raghavendra Bhat Date: Wed, 25 Jan 2012 13:59:36 +0530 Subject: system_light: changes to have modularity in running tests Till now this script allowed running all the tools (or exit for the first failure). Running individual tools was not possible. Now individual tools can be given as an argument to run. Change-Id: Ia133943667ad4dc30956f4a021f2edfc30458cee Signed-off-by: Raghavendra Bhat --- sanity/system_light/run.sh | 421 +++++---------------------------------------- 1 file changed, 46 insertions(+), 375 deletions(-) (limited to 'sanity/system_light/run.sh') diff --git a/sanity/system_light/run.sh b/sanity/system_light/run.sh index 910f5bc..93852db 100755 --- a/sanity/system_light/run.sh +++ b/sanity/system_light/run.sh @@ -11,401 +11,72 @@ _init () CNT=0 . $basedir/config; #. /opt/qa/tools/system_light/config - - echo " This script runs the tools and scriprts which are used to test the performance.The tests are run on ther glusterFS mountpoint.They are: -1.dd -2.dbench -3.arequal -4.posix_compliance -5.kernel compile -6.fsx -7.ltp tests -8.fileop -9.openssl build -10.postmark -11.ffsb -12.Reading from large file -13.Multiple file creation(100000) -14.glusterfs build -15.syscallbench -16.tiobench -17.locktests -18.ioblazer -19.fsmark"; -} - -run_ffsb () -{ - echo "Executing ffsb" - set +x - cp $BIN_PATH/system_light/profile_everything $THIS_TEST_DIR/profile_everything - sed -i "s[/mnt/test1[$THIS_TEST_DIR[" profile_everything - $SCRIPTS_PATH/ffsb_test.sh - if [ "${?}" -eq 0 ]; then - CNT=$((CNT+1)) - echo $CNT - echo "Removing data" - rm -rfv data && echo "Removed" - echo "Removing meta" - rm -rfv meta && echo "Removed" - echo "Removing profile_everything" - rm $FFSB_FILE && echo "Removed" - else - echo "ffsb failed" | tee -a $TEST_FAIL - echo $CNT - fi -} - -run_ltp () -{ - echo "Executing ltp tests" - set +x - mkdir ltp - cd ltp - $SCRIPTS_PATH/ltp_test.sh - if [ "${?}" -eq 0 ]; then - CNT=$((CNT+1)) - echo $CNT - echo "Removing directory" - cd - - rm -rfv ltp && echo "removed" - else - echo "ltp failed" | tee -a $TEST_FAIL - echo $CNT - fi -} - -run_fileop () -{ - echo "Executing fileop" - set +x - $SCRIPTS_PATH/fileop_test.sh - if [ "${?}" -eq 0 ]; then - CNT=$((CNT+1)) - echo $CNT - else - echo "fileop failed" - echo $CNT - fi -} - -run_kernel_compile () -{ - echo "Kernel compiling" #Untars the given kernel file and compiles it - set +x - $SCRIPTS_PATH/kernel.sh - if [ "${?}" -eq 0 ]; then - CNT=$((CNT+1)) - echo $CNT - echo "Removing linux-$VERSION.tar.bz2 and linux-$VERSION" - rm -r linux-$VERSION* && echo "removed" - else - echo "kernel compile failed" | tee -a $TEST_FAIL - echo $CNT - fi -} - -run_bonnie () -{ - echo "Executing bonnie++" - set +x - $SCRIPTS_PATH/bonnie_test.sh - if [ "${?}" -eq 0 ]; then - CNT=$((CNT+1)) - echo $CNT - else - echo "bonnie failed" | tee -a $TEST_FAIL - echo $CNT - fi -} - -run_dd () -{ - echo "Executing dd" - set +x - $SCRIPTS_PATH/dd_test.sh - if [ "${?}" -eq 0 ]; then - CNT=$((CNT+1)) - echo $CNT - else - echo "dd failed" | tee -a $TEST_FAIL - echo $CNT - fi -} - -run_read_large () -{ - echo "Reading from large file" - set +x - $SCRIPTS_PATH/read_large.sh - if [ "${?}" -eq 0 ]; then - CNT=$((CNT+1)) - echo $CNT - echo "Removing $PWD/$OF" - rm $PWD/$OF && echo "Removed" - else - echo "Large file reading failed" | tee -a $TEST_FAIL - echo $CNT - fi -} - -run_dbench () -{ - echo "Executing dbench" - set +x - $SCRIPTS_PATH/dbench_test.sh - if [ "${?}" -eq 0 ]; then - CNT=$((CNT+1)) - echo $CNT - echo "Removing clients" - rm -r clients && echo "Removed" - else - echo "dbench failed" | tee -a $TEST_FAIL - echo $CNT - fi -} - -run_glusterfs_build () -{ - echo "glusterfs build" - set +x; - $SCRIPTS_PATH/glusterfs_build.sh - if [ "${?}" -eq 0 ]; then - CNT=$((CNT+1)) - echo $CNT - echo "Removing glusterfs directory" - rm -r $GLUSTERFS_DIR && echo "Removed" - else - echo "glusterfs build failed" | tee -a $TEST_FAIL - echo $CNT - fi -} - -run_posix_compliance () -{ - echo "Checking for POSIX compliance" - set +x - $SCRIPTS_PATH/posix_compliance.sh - if [ "${?}" -eq 0 ]; then - CNT=$((CNT+1)) - echo $CNT - echo "Removing posix created directories and files" - rm -r fstest* && echo "Removed" - else - echo "posix failed" | tee -a $TEST_FAIL - echo $CNT - fi -} - -run_openssl_build () -{ - echo "Building opnssl" - set +x - $SCRIPTS_PATH/open.sh - if [ "${?}" -eq 0 ]; then - CNT=$((CNT+1)) - echo $CNT - echo "Removing $OPENSSL_DIR" - rm -r openssl* && echo "Removed" - else - echo "openssl failed" | tee -a $TEST_FAIL - echo $CNT - fi } -run_postmark () +function run_tests () { - echo "Running postmark" - set +x - $SCRIPTS_PATH/postmark.sh - if [ "${?}" -eq 0 ]; then - CNT=$((CNT+1)) - echo $CNT - else - echo "postmark failed" | tee -a $TEST_FAIL - echo $CNT + local tool=; + if [ $# -eq 1 ]; then + tool=$1; fi -} -run_multiple_files () -{ - echo "Multiple files creation(100000),listing,removal" - set +x - $SCRIPTS_PATH/multiple_files.sh - if [ "${?}" -eq 0 ]; then - CNT=$((CNT+1)) - echo $CNT - else - echo "multiple files failed" | tee -a $TEST_FAIL - echo $CNT - fi -} + export global_test=; -run_iozone () -{ - echo "Executing iozone" - set +x - $SCRIPTS_PATH/iozone_test.sh - if [ "${?}" -eq 0 ]; then - CNT=$((CNT+1)) - echo $CNT - else - echo "iozone failed" | tee -a $TEST_FAIL - echo $CNT - fi -} - -run_fsx () -{ - echo "Executing fsx" - set +x - $SCRIPTS_PATH/fsx_test.sh - if [ "${?}" -eq 0 ]; then - CNT=$((CNT+1)) - echo $CNT - echo "Removing $FSX_FILE,$FSX_FILE.fsxgood and $FSX_FILE.fsxlog" - rm $FSX_FILE* && echo "Removed" - else - echo "fsx failed" | tee -a $TEST_FAIL - echo $CNT - fi -} - -run_arequal () -{ - echo "executing arequal" - set +x - $SCRIPTS_PATH/arequal_test.sh - if [ "${?}" -eq 0 ]; then - CNT=$((CNT+1)) - echo $CNT - echo "Removing $ARE_DST" - rm -r $ARE_DST && echo "Removed" - else - echo "arequal failed" | tee -a $TEST_FAIL - echo $CNT - fi -} - -run_syscallbench () -{ - echo "Executing syscallbench" - set +x - $SCRIPTS_PATH/syscallbench.sh - if [ "${?}" -eq 0 ]; then - CNT=$((CNT+1)) - echo $CNT - else - echo "syscallbench failed" | tee -a $TEST_FAIL - echo $CNT - fi -} + if [ $tool ]; then + global_test=$tool; + export TOOLDIR=$SCRIPTS_PATH/$global_test; -run_tiobench () -{ - echo "Executing tiobench" - set +x - $SCRIPTS_PATH/tiobench.sh - if [ "${?}" -eq 0 ]; then - CNT=$((CNT+1)) - echo $CNT - else - echo "tiobench failed" | tee -a $TEST_FAIL - echo $CNT - fi -} + if [ -f $SCRIPTS_PATH/$tool/$tool.sh ]; then -run_locktests () -{ - echo "Executing locktests" - set +x - locks_dirname=$(dirname $LOCK_BIN) - cp $locks_dirname/test $LOCK_TEST_FILE - $SCRIPTS_PATH/locks.sh - if [ "${?}" -eq 0 ]; then - CNT=$((CNT+1)) - echo $CNT - rm $LOCK_TEST_FILE - else - echo "locktests failed" | tee -a $TEST_FAIL - echo $CNT - rm $LOCK_TEST_FILE + echo "executing $tool" && sleep 2; + set +x; + $SCRIPTS_PATH/$tool/$tool.sh; + if [ "${?}" -eq 0 ]; then + CNT=$((CNT+1)) + echo $CNT + else + echo "$tool failed" + echo $CNT + fi + return 0; + else + echo "tool $tool is not there in the script directory. Exiting"; + return 22; + fi fi -} -run_blazer () -{ - echo "Executing ioblazer"; - set +x; - $SCRIPTS_PATH/blazer.sh; - if [ "${?}" -eq 0 ]; then - CNT=$((CNT+1)); - echo $CNT; - else - echo "blazer failed | tee -a $TEST_FAIL"; - echo $CNT; - fi + for i in $(ls $SCRIPTS_PATH | sort -n) #grep "^[0-9]*$" | + do + if [ -f $SCRIPTS_PATH/$i/$i.sh ]; then + run_tests $i; + sleep 1; + fi + done } -run_rpc_coverage () +main () { - echo "Executing rpc coverage tests"; - set +x; - $SCRIPTS_PATH/rpc-fops.sh; - if [ "${?}" -eq 0 ]; then - CNT=$((CNT+1)); - echo $CNT; - else - echo "rpc-coverage failed | tee -a $TEST_FAIL"; - echo $CNT; - fi -} + echo "Tests available:" + ls $SCRIPTS_PATH | sort -n && sleep 1; -run_fsmark () -{ - echo "Executing fsmark" - set +x - $SCRIPTS_PATH/fs_mark.sh - if [ "${?}" -eq 0 ]; then - CNT=$((CNT+1)) - echo $CNT - else - echo "fsmark failed" - echo $CNT - fi -} + old_PWD=$PWD; -main () -{ - echo " Changing to the specified mountpoint"; + echo "===========================TESTS RUNNING==========================="; + echo "Changing to the specified mountpoint"; cd $THIS_TEST_DIR; pwd; sleep 1; - run_rpc_coverage; - run_posix_compliance; - run_ffsb; - run_ltp; - run_fileop; - run_kernel_compile; - run_dd; - run_read_large; - run_dbench; - run_bonnie; - run_iozone; - run_glusterfs_build; - run_openssl_build; - run_postmark; - run_multiple_files; - run_fsx; - run_arequal; - run_syscallbench; - run_tiobench; - run_fsmark; - if [ $TYPE != "nfs" ]; then - run_locktests; + if [ $TEST == "all" ]; then + run_tests; + else + run_tests $TEST; + if [ $? -ne 0 ]; then + cd $old_PWD; + rmdir $THIS_TEST_DIR; + exit 22; + fi fi - #run_blazer; echo "Total $CNT tests were successful" | tee -a $TEST_FAIL -- cgit