2021-12-09 14:13:00 -05:00
|
|
|
#!/bin/zsh -e
|
2022-04-22 14:55:26 -04:00
|
|
|
source common.zsh
|
2021-12-09 14:13:00 -05:00
|
|
|
VERSION=(3 4.0 4.1 4.2)
|
|
|
|
PROTO=(tcp)
|
2022-05-25 15:07:04 -04:00
|
|
|
GROUP=(-g quick)
|
2021-12-09 14:13:00 -05:00
|
|
|
|
|
|
|
zparseopts -D -K \
|
|
|
|
c:=CLIENT -client:=CLIENT \
|
2022-05-25 15:07:04 -04:00
|
|
|
g:=GROUP -group:=GROUP \
|
2021-12-09 14:13:00 -05:00
|
|
|
k:=SCRATCH -scratch:=SCRATCH \
|
2023-07-20 14:04:50 -04:00
|
|
|
-no-scratch=NO_SCRATCH \
|
|
|
|
-no-server-access=NO_SERVER_ACCESS \
|
|
|
|
o+:=MNTOPTS -options+:=MNTOPTS \
|
2021-12-09 14:13:00 -05:00
|
|
|
p:=MOUNTPOINT -mountpoint:=MOUNTPOINT \
|
|
|
|
q:=SCRATCHMNT -scratchmnt:=SCRATCHMNT \
|
|
|
|
r:=RDMA -rdma:=RDMA \
|
|
|
|
s:=SERVER -server:=SERVER \
|
|
|
|
x:=EXPORT -export:=EXPORT \
|
|
|
|
v+:=VERSION -version+:=VERSION
|
|
|
|
|
2023-07-20 14:04:50 -04:00
|
|
|
COLOR=$COLORS/xfstests.py
|
|
|
|
OPTIONS="sec=sys$(echo $MNTOPTS | sed -E 's/ ?-o /,/g')"
|
2022-01-31 15:02:30 -05:00
|
|
|
RESULT_BASE=$HOME/.local/share/xfstests/
|
|
|
|
DATE=$(date +%Y-%m-%d-%H:%M:%S%z)
|
2022-01-20 16:58:36 -05:00
|
|
|
TODAY=$(date +%Y/%m/%d)
|
2022-01-27 09:57:56 -05:00
|
|
|
NOW=$(date +%H:%M:%S%z)
|
2022-01-20 16:58:36 -05:00
|
|
|
REMOTE_RESULTS=xfstests-dev/results/
|
2022-02-16 13:56:23 -05:00
|
|
|
RESULTS=$RESULT_BASE/date/$TODAY/${SERVER[-1]}/
|
|
|
|
TMP_RESULTS=/tmp/xfstests/${SERVER[-1]}/$NOW
|
2022-01-31 15:02:30 -05:00
|
|
|
TAG=$(kernel-tag.zsh ${CLIENT[-1]})
|
|
|
|
if [ ! -z $TAG ]; then
|
|
|
|
TAGRES=$RESULT_BASE/tags/$TAG/${SERVER[-1]}
|
|
|
|
fi
|
2021-12-09 14:13:00 -05:00
|
|
|
|
|
|
|
#
|
|
|
|
# Prepare to test
|
|
|
|
#
|
2022-04-25 13:48:02 -04:00
|
|
|
function setup_client_func()
|
|
|
|
{
|
2022-04-25 14:43:34 -04:00
|
|
|
client_setup xfstests.zsh ${SERVER[-1]} ${EXPORT[-1]} \
|
|
|
|
${MOUNTPOINT[-1]} ${SCRATCH[-1]} \
|
|
|
|
${SCRATCHMNT[-1]} $USER
|
2022-04-25 13:48:02 -04:00
|
|
|
}
|
2023-07-20 14:04:50 -04:00
|
|
|
|
2022-04-25 13:48:02 -04:00
|
|
|
prepare_to_test
|
2023-07-20 14:04:50 -04:00
|
|
|
|
|
|
|
if [ ${#NO_SCRATCH} -gt 0 ]; then
|
|
|
|
SCRATCH+=("NONE")
|
2022-05-24 13:14:13 -04:00
|
|
|
fi
|
2021-12-09 14:13:00 -05:00
|
|
|
|
|
|
|
testargs=()
|
|
|
|
for arg in $*; do
|
|
|
|
testargs+=($(printf '%q' "$arg"))
|
2022-05-25 15:07:04 -04:00
|
|
|
GROUP=()
|
2021-12-09 14:13:00 -05:00
|
|
|
done
|
|
|
|
|
2022-01-20 16:58:36 -05:00
|
|
|
run_xfs_tests() {
|
2023-07-20 14:04:50 -04:00
|
|
|
for proto in $PROTO; do
|
|
|
|
client_run xfstests.zsh --server ${SERVER[-1]} \
|
|
|
|
--export ${EXPORT[-1]} \
|
|
|
|
--mountpoint ${MOUNTPOINT[-1]} \
|
|
|
|
--scratch ${SCRATCH[-1]} \
|
|
|
|
--scratchmnt ${SCRATCHMNT[-1]} \
|
|
|
|
--proto $proto --version $1 \
|
|
|
|
--opts $OPTIONS \
|
|
|
|
--user $USER $GROUP $testargs | python $COLOR $proto $1
|
|
|
|
|
|
|
|
if [[ "$proto" == "rdma" ]]; then
|
|
|
|
xunit="$TMP_RESULTS/${RDMA[-1]}-$1.xml"
|
|
|
|
else
|
|
|
|
xunit="$TMP_RESULTS/$proto-$1.xml"
|
|
|
|
fi
|
|
|
|
|
|
|
|
scp -q ${CLIENT[-1]}:$REMOTE_RESULTS/$proto/$1/result.xml $xunit
|
|
|
|
xfstestsdb xunit read $RUNID $xunit | python $COLOR $proto $1
|
|
|
|
done
|
2022-01-20 16:58:36 -05:00
|
|
|
}
|
|
|
|
|
2023-07-20 14:04:50 -04:00
|
|
|
|
2021-12-09 14:13:00 -05:00
|
|
|
#
|
|
|
|
# Run tests
|
|
|
|
#
|
2022-02-16 13:56:23 -05:00
|
|
|
mkdir -p $TMP_RESULTS
|
2023-07-20 14:04:50 -04:00
|
|
|
RUNID=$(xfstestsdb new ${SERVER[-1]}:${EXPORT[-1]} | awk -F" | #" '{print $3}')
|
|
|
|
for vers in $VERSION; do
|
|
|
|
run_xfs_tests $vers &
|
2021-12-09 14:13:00 -05:00
|
|
|
done
|
2022-01-20 16:58:36 -05:00
|
|
|
wait
|
2022-01-27 09:57:56 -05:00
|
|
|
|
2022-02-16 13:56:23 -05:00
|
|
|
mkdir -p $RESULTS
|
|
|
|
tar -cJf $RESULTS/$NOW.tar.xz -C $(dirname $TMP_RESULTS) $NOW/
|
2022-01-31 15:02:30 -05:00
|
|
|
if [ ! -z "$TAG" ]; then
|
|
|
|
mkdir -p $TAGRES
|
2022-02-16 13:56:23 -05:00
|
|
|
ln $RESULTS/$NOW.tar.xz $TAGRES/$DATE.tar.xz
|
2023-07-20 14:04:50 -04:00
|
|
|
xfstestsdb tag $RUNID $TAG
|
2022-01-31 15:02:30 -05:00
|
|
|
fi
|
2023-07-20 14:04:50 -04:00
|
|
|
|
|
|
|
echo
|
|
|
|
xfstestsdb xunit list --results --runid $RUNID
|
|
|
|
echo
|
|
|
|
xfstestsdb show --failure $RUNID
|
|
|
|
echo
|
2022-04-22 14:55:26 -04:00
|
|
|
report-xfstests.py $RESULTS/$NOW.tar.xz & disown
|