common.zsh: Move some common test functions into common.zsh

Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
This commit is contained in:
Anna Schumaker 2022-04-25 13:48:02 -04:00
parent f757dec0ab
commit a2453af9cc
5 changed files with 64 additions and 76 deletions

View File

@ -25,6 +25,50 @@ SCRATCH=(/srv/xfs/scratch)
# #
###########################
BIN=$HOME/bin
DMESG=()
PROTO=(tcp)
SRVDMESG=()
USER=$(whoami)
VERSION=(3 4.0 4.1 4.2)
PROTO=(tcp)
######################
# #
# Shared functions #
# #
######################
function setup_client_func()
{
ssh ${CLIENT[-1]} "sudo setup-testdirs.zsh ${SERVER[-1]} \
${EXPORT[-1]} \
${MOUNTPOINT[-1]} \
$USER"
}
function prepare_to_test()
{
$BIN/vm.zsh boot ${CLIENT[-1]} ${SERVER[-1]}
$BIN/install-scripts.zsh ${CLIENT[-1]}
if [ ${#DMESG} -gt 0 ]; then
ssh ${CLIENT[-1]} "sudo dmesg --clear"
fi
if [ ${#SRVDMESG} -gt 0 ]; then
ssh ${SERVER[-1]} "sudo dmesg --clear"
fi
if [ ${#RDMA} -gt 0 ]; then
PROTO+=(rdma)
$BIN/rping.zsh ${RDMA[-1]} ${CLIENT[-1]} ${SERVER[-1]}
fi
setup_client_func
echo
}
TRAPEXIT()
{
if [ ${#DMESG} -gt 0 ]; then
ssh ${CLIENT[-1]} "sudo dmesg --color=always"
fi
if [ ${#SRVDMESG} -gt 0 ]; then
ssh ${SERVER[-1]} "sudo dmesg --color=always"
fi
}

View File

@ -14,14 +14,9 @@ zparseopts -F -K \
COLOR=$BIN/colors/cthon.py
RUN_CTHON="cd cthon04 && sudo ./runcthon"
#
# Prepare to test
#
$BIN/vm.zsh boot ${CLIENT[-1]} ${SERVER[-1]}
$BIN/install-scripts.zsh ${CLIENT[-1]}
prepare_to_test
if [ ${#RDMA} -gt 0 ]; then
RUN_CTHON="$RUN_CTHON --rdma"
$BIN/rping.zsh ${RDMA[-1]} ${CLIENT[-1]} ${SERVER[-1]}
fi
if [ ${#NCONNECT} -gt 0 ]; then
RUN_CTHON="$RUN_CTHON --nconnect ${NCONNECT[-1]}"
@ -29,28 +24,6 @@ fi
if [ ${#KRB5} -gt 0 ]; then
RUN_CTHON="$RUN_CTHON --dokrb5"
fi
if [ ${#DMESG} -gt 0 ]; then
ssh ${CLIENT[-1]} "sudo dmesg --clear"
fi
if [ ${#SRVDMESG} -gt 0 ]; then
ssh ${SERVER[-1]} "sudo dmesg --clear"
fi
ssh ${CLIENT[-1]} "sudo setup-testdirs.zsh ${SERVER[-1]} ${EXPORT[-1]} ${MOUNTPOINT[-1]} $USER" | python $COLOR
echo
#
# Run tests
#
set +e
ssh ${CLIENT[-1]} "$RUN_CTHON --server ${SERVER[-1]} --serverdir ${EXPORT[-1]}/$USER 2>&1" | python -u $COLOR
ret=$?
if [ ${#DMESG} -gt 0 ]; then
ssh ${CLIENT[-1]} "sudo dmesg --color=always"
fi
if [ ${#SRVDMESG} -gt 0 ]; then
ssh ${SERVER[-1]} "sudo dmesg --color=always"
fi
exit $ret

View File

@ -10,37 +10,8 @@ zparseopts -F -K \
RUN_NFSTEST="run-nfstest-rplus.zsh"
if [ ${#DMESG} -gt 0 ]; then
ssh ${CLIENT[-1]} "sudo dmesg --clear"
fi
if [ ${#SRVDMESG} -gt 0 ]; then
ssh ${SERVER[-1]} "sudo dmesg --clear"
fi
#
# Prepare to test
#
$BIN/vm.zsh boot ${CLIENT[-1]} ${SERVER[-1]}
$BIN/install-scripts.zsh ${CLIENT[-1]}
ssh ${CLIENT[-1]} "sudo setup-testdirs.zsh ${SERVER[-1]} ${EXPORT[-1]} ${MOUNTPOINT[-1]} $USER"
echo
#
# Run tests
#
set +e
prepare_to_test
ssh -t ${CLIENT[-1]} "$RUN_NFSTEST --server ${SERVER[-1]} \
--export ${EXPORT[-1]} \
--mountpoint ${MOUNTPOINT[-1]} \
--user $USER"
ret=$?
if [ ${#DMESG} -gt 0 ]; then
ssh ${CLIENT[-1]} "sudo dmesg --color=always"
fi
if [ ${#SRVDMESG} -gt 0 ]; then
ssh ${SERVER[-1]} "sudo dmesg --color=always"
fi
exit $ret
--export ${EXPORT[-1]} \
--mountpoint ${MOUNTPOINT[-1]} \
--user $USER"

View File

@ -25,8 +25,13 @@ TIME_CMD="sudo /usr/bin/time -f \"%Ss kern, %P cpu\""
#
# Prepare to test
#
$BIN/vm.zsh boot ${CLIENT[-1]} ${SERVER[-1]}
$BIN/install-scripts.zsh ${CLIENT[-1]}
function setup_client_func()
{
ssh ${CLIENT[-1]} "sudo setup-read_plus.zsh ${SERVER[-1]} ${EXPORT[-1]} \
${MOUNTPOINT[-1]} $USER ${SIZE[-1]} 1,2,4,8,16" | eval ${COLOR}
}
prepare_to_test
if [ ${#FILE} -gt 1 ]; then
mkdir -p $(dirname ${FILE[-1]})
[[ -f ${FILE[-1]} ]] && rm -fv ${FILE[-1]}
@ -36,8 +41,6 @@ if [ ${#DIRECT} -gt 0 ]; then
IFLAG="iflag=direct"
fi
ssh ${CLIENT[-1]} "sudo setup-read_plus.zsh ${SERVER[-1]} ${EXPORT[-1]} \
${MOUNTPOINT[-1]} $USER ${SIZE[-1]} 1,2,4,8,16" | eval ${COLOR}
function dd_file() {
echo "Reading: $1 ($2 on ${SERVER[-1]})"

View File

@ -32,20 +32,17 @@ fi
#
# 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/rping.zsh ${RDMA[-1]} ${CLIENT[-1]} ${SERVER[-1]}
fi
function setup_client_func()
{
ssh ${CLIENT[-1]} "sudo setup-xfstests.zsh ${SERVER[-1]} \
${EXPORT[-1]} ${MOUNTPOINT[-1]} \
${SCRATCH[-1]} ${SCRATCHMNT[-1]} $USER"
}
prepare_to_test
if [ ${#NCONNECT} -gt 0 ]; then
OPTIONS="$OPTIONS,nconnect=${NCONNECT[-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"))