diff options
| -rwxr-xr-x | smoke.sh | 83 | 
1 files changed, 83 insertions, 0 deletions
diff --git a/smoke.sh b/smoke.sh new file mode 100755 index 00000000000..3226b74f172 --- /dev/null +++ b/smoke.sh @@ -0,0 +1,83 @@ +#!/bin/bash + +set -e; + +M=/mnt; +P=/build; +H=$(hostname); +T=600; +V=patchy; + + +function cleanup() +{ +    killall -15 glusterfs glusterfsd glusterd glusterd 2>&1 || true; +    killall -9 glusterfs glusterfsd glusterd glusterd 2>&1 || true; +    umount -l $M 2>&1 || true; +    rm -rf /etc/glusterd $P/export; +} + +function start_fs() +{ +    mkdir -p $P/export; +    chmod 0755 $P/export; + +    glusterd; +    gluster volume create $V replica 2 $H:$P/export/export{1,2,3,4}; +    gluster volume start $V; +    glusterfs -s $H --volfile-id $V $M; +#    mount -t glusterfs $H:/$V $M; +} + + +function run_tests() +{ +    cd $M; + +    (sleep 1; dbench -x -s -t 60 10 >/dev/null) & + +    (sleep 1; /opt/qa/tools/posix_compliance.sh) & + +    wait %2 +    wait %3 + +    rm -rf clients; + +    cd -; +} + + +function watchdog () +{ +    # insurance against hangs during the test + +    sleep $1; + +    echo "Kicking in watchdog after $1 secs"; + +    cleanup; +} + + +function finish () +{ +    cleanup; +    kill %1; +} + +function main () +{ +    cleanup; + +    watchdog $T & + +    trap finish EXIT; + +    set -x; + +    start_fs; + +    run_tests; +} + +main "$@";  | 
