#!/bin/zsh -e CLIENT=(client) SERVER=(server) EXPORT=(/srv/test) MOUNTPOINT=(/mnt/test) zparseopts -F -K \ c:=CLIENT -client:=CLIENT \ p:=MOUNTPOINT -mountpoint:=MOUNTPOINT \ -nconnect:=NCONNECT \ -krb5=KRB5 \ r:=RDMA -rdma:=RDMA \ s:=SERVER -server:=SERVER \ x:=EXPORT -export:=EXPORT BIN=$HOME/bin COLOR=$BIN/colors/cthon.py RUN_CTHON="cd cthon04 && sudo ./runcthon" USER=$(whoami) # # Prepare to test # $BIN/vm.zsh boot ${CLIENT[-1]} ${SERVER[-1]} if [ ${#RDMA} -gt 0 ]; then RUN_CTHON="$RUN_CTHON --rdma" $BIN/rdma.zsh ${RDMA[-1]} ${CLIENT[-1]} ${SERVER[-1]} fi if [ ${#NCONNECT} -gt 0 ]; then RUN_CTHON="$RUN_CTHON --nconnect ${NCONNECT[-1]}" fi if [ ${#KRB5} -gt 0 ]; then RUN_CTHON="$RUN_CTHON --dokrb5" fi echo ssh ${CLIENT[-1]} "sudo mkdir -p ${MOUNTPOINT[-1]}" ssh ${CLIENT[-1]} "sudo mount -o sec=sys ${SERVER[-1]}:${EXPORT[-1]} ${MOUNTPOINT[-1]}" TRAPEXIT() { ssh ${CLIENT[-1]} "sudo umount ${MOUNTPOINT[-1]}" } ssh ${CLIENT[-1]} "$RUN_CTHON --mkdirs ${MOUNTPOINT[-1]}/$USER/ 2>&1" | python -u $COLOR ssh ${CLIENT[-1]} "sudo chmod -R 777 ${MOUNTPOINT[-1]}/$USER/" TRAPEXIT() { ; } ssh ${CLIENT[-1]} "sudo umount ${MOUNTPOINT[-1]}" echo # # Run tests # ssh client "$RUN_CTHON --server ${SERVER[-1]} --serverdir ${EXPORT[-1]}/$USER 2>&1" | python -u $COLOR