64 lines
1.4 KiB
Bash
64 lines
1.4 KiB
Bash
|
#!/bin/zsh -e
|
||
|
CLIENT=(client)
|
||
|
SERVER=(server)
|
||
|
EXPORT=(/srv/test)
|
||
|
SCRATCH=(/srv/scratch)
|
||
|
MOUNTPOINT=(/mnt/test)
|
||
|
SCRATCHMNT=(/mnt/scratch)
|
||
|
VERSION=(3 4.0 4.1 4.2)
|
||
|
PROTO=(tcp)
|
||
|
|
||
|
zparseopts -D -K \
|
||
|
c:=CLIENT -client:=CLIENT \
|
||
|
k:=SCRATCH -scratch:=SCRATCH \
|
||
|
p:=MOUNTPOINT -mountpoint:=MOUNTPOINT \
|
||
|
q:=SCRATCHMNT -scratchmnt:=SCRATCHMNT \
|
||
|
r:=RDMA -rdma:=RDMA \
|
||
|
s:=SERVER -server:=SERVER \
|
||
|
x:=EXPORT -export:=EXPORT \
|
||
|
v+:=VERSION -version+:=VERSION
|
||
|
|
||
|
BIN=$HOME/bin
|
||
|
COLOR=$BIN/colors/xfstests.py
|
||
|
RUN_XFSTESTS="sudo run-xfstests.zsh"
|
||
|
USER=$(whoami)
|
||
|
|
||
|
#
|
||
|
# Prepare to test
|
||
|
#
|
||
|
$BIN/vm.zsh boot ${CLIENT[-1]} ${SERVER[-1]}
|
||
|
$BIN/install-scripts.zsh ${CLIENT[-1]}
|
||
|
if [ ${#RDMA} -gt 0 ]; then
|
||
|
PROTO+=(rdma)
|
||
|
$BIN/rdma.zsh ${RDMA[-1]} ${CLIENT[-1]} ${SERVER[-1]}
|
||
|
fi
|
||
|
|
||
|
ssh ${CLIENT[-1]} "sudo setup-xfstests.zsh ${SERVER[-1]} ${EXPORT[-1]} ${MOUNTPOINT[-1]} \
|
||
|
${SCRATCH[-1]} ${SCRATCHMNT[-1]} $USER"
|
||
|
echo
|
||
|
|
||
|
testargs=()
|
||
|
for arg in $*; do
|
||
|
testargs+=($(printf '%q' "$arg"))
|
||
|
done
|
||
|
|
||
|
#
|
||
|
# Run tests
|
||
|
#
|
||
|
for proto in $PROTO; do
|
||
|
for vers in $VERSION; do
|
||
|
case $vers in
|
||
|
"-v" | "--version") continue ;;
|
||
|
*) opts="$proto,vers=$vers" ;;
|
||
|
esac
|
||
|
|
||
|
ssh ${CLIENT[-1]} "$RUN_XFSTESTS --server ${SERVER[-1]} \
|
||
|
--export ${EXPORT[-1]} \
|
||
|
--mountpoint ${MOUNTPOINT[-1]} \
|
||
|
--scratch ${SCRATCH[-1]} \
|
||
|
--scratchmnt ${SCRATCHMNT[-1]} \
|
||
|
--opts $opts \
|
||
|
--user $USER $testargs" | python -u $COLOR $proto $vers
|
||
|
done
|
||
|
done
|