50 lines
1.3 KiB
Bash
50 lines
1.3 KiB
Bash
|
#!/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
|